1var _slicedToArray=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var n=t,a=e,i=[],s=!0,t=!1,e=void 0;try{for(var l,o=n[Symbol.iterator]();!(s=(l=o.next()).done)&&(i.push(l.value),!a||i.length!==a);s=!0);}catch(n){t=!0,e=n}finally{try{!s&&o.return&&o.return()}finally{if(t)throw e}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")},_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vueLaunch=(function(){var e=Math.round;window.vueMixins={localizationMixinProxy:{methods:{getMessage:function(t){return t||"*ÐокализаÑиÑ*"}}},utils:{methods:{uniqueId:function(){return(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"")+Date.now().toString()+e(1e5*Math.random())}}},formatting:{methods:{pluralize:function(t,e,n,a){return a&&1e3<=t||10<t%100&&t%100<20||0==(a=t%10)||5<=a?e+n[2]:1==a?e+n[0]:e+n[1]}},filters:{price:function(t){return t||0===t||"0"===t?parseFloat(t).toFixed(2).replace(".",",").replace(/\B(?=(\d{3})+(?!\d))/g," "):(console.log("ÐÑибка ÑенÑ")," - ")},priceMain:function(t){return t||0===t||"0"===t?Math.floor(parseFloat(t)).toString().replace(/\B(?=(\d{3})+(?!\d))/g," "):(console.log("ÐÑибка ÑенÑ")," - ")},priceSup:function(t){return t||0===t||"0"===t?parseFloat(t).toFixed(2).split(".")[1]:(console.log("ÐÑибка ÑенÑ")," - ")},integer:function(t){return t||0===t||"0"===t?t.toString().replace(/\B(?=(\d{3})+(?!\d))/g," "):(console.log("ÐÑибка ÑенÑ",t)," - ")},numberAppr:function(t){return parseInt(t),1e5<t?e(t/1e5)+" млн.":1e3<t?e(t/100)+" ÑÑÑ.":t}}}}}(),Vue.component("v-accordion",{template:'\n\t<div class="v-accordion accordion" :class="{\'accordion--embedded\': embedded}">\n\t\t<div class="accordion__item" v-for="item in catalog.items">\n\t\t\t<button type="button" class="accordion__btn" :class="{\'collapsed\': item.collapsed}" @click="item.collapsed = !item.collapsed" v-if="!embedded">\n\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t<span class="accordion__btn-text h3">{{item.title}}</span>\n\t\t\t</button>\n\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t<div class="accordion__body" v-show="!item.collapsed || embedded" :class="{\'accordion__body--indent\': !embedded}">\n\t\t\t\t\t<div class="accordion__content">\n\t\t\t\t\t\t<div class="accordion__questions flc">\n\t\t\t\t\t\t\t<div class="accordion__question-wrap">\n\n\t\t\t\t\t\t\t\t<h4 class="accordion__question-wrap-title h4" v-if="embedded">\n\t\t\t\t\t\t\t\t\t{{item.title}}\n\t\t\t\t\t\t\t\t</h4>\n\n\t\t\t\t\t\t\t\t<div v-for="question in item.questions" class="accordion__question flc">\n\t\t\t\t\t\t\t\t\t<button type="button" class="accordion__question-btn accordion__question-btn--narrow" :class="{\'collapsed\': question.collapsed}" @click="question.collapsed = !question.collapsed">\n\t\t\t\t\t\t\t\t\t\t\x3c!-- no spaces is important --\x3e\n\t\t\t\t\t\t\t\t\t\t<span class="accordion__question-btn-text">{{question.btn}}</span><span class="accordion__question-ico-wrap"> <span class="accordion__question-ico">\n\t\t\t\t\t\t\t\t\t\t\t\t<svg class="accordion__question-svg svg-icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t\t\t\t\t<div v-show="!question.collapsed" class="accordion__answer">\n\t\t\t\t\t\t\t\t\t\t\t<div class="accordion__answer-content text-guide">\n\t\t\t\t\t\t\t\t\t\t\t\t<div v-html="question.answer" class="accordion__answer-content"></div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="accordion__rate-wrap">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-rate :id="question.id" :remote="question.rate.remote" :value="question.rate.value"></v-rate>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</div>\n\t</div>\n',data:function(){return{catalog:{remote:null,items:null,loading:!1,loadingMinTimeout:null}}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null},embedded:{type:Boolean,default:!1}},methods:{loadCatalog:function(t,e){function n(){var t;i&&(t=a.catalog.items,a.catalog=i.catalog,e)&&(a.catalog.items=t.concat(a.catalog.items)),a.loadingMinTimeout=null,a.loading=!1}var a=this,i=null,s=!1;a.loading||(a.loading=!0,t||(a.loadingMinTimeout=setTimeout(function(){s&&n(),a.loadingMinTimeout=null},300)),$.ajax({url:a.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:{bxajaxid:a.bxajaxid}}).done(function(t){console.log("v-accordion loaded",t),i=t}).fail(function(t){console.warn("v-accordion load failed",t)}).always(function(){s=!0,a.loadingMinTimeout&&!t||n()}))},slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)}},created:function(){var t=this;t.staticDataSource?t.catalog=t.staticDataSource.catalog:t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0))}}),Vue.component("v-article-contacts",{template:'\n\t<article class="v-article-contacts article-contacts service-center">\n\t\t\n\t\t<div class="article-contacts__map-wrap">
1\n\t\t\t<v-map :coords="[53.900000, 27.566670]" adjust-initial-bounds right-controls small>\n\t\t\t\t<v-map-point\n\t\t\t\t\t:key="contacts.id"\n\t\t\t\t\t:coords="contacts.marker.coords"\n\t\t\t\t\t:pin-num="contacts.marker.pinNum"\n\t\t\t\t\t:pin-alt="contacts.marker.pinAlt"\n\t\t\t\t\tmarker-type="placemark"\n\t\t\t\t></v-map-point>\n\t\t\t</v-map>\n\t\t</div>\n\n\t\t<div class="service-center__contacts">\n\t\t\t<div class="service-center__contact flc">\n\t\t\t\t<div class="service-center__contact-title">\n\t\t\t\t\tÐдÑеÑ\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\tпÑ. ÐобедиÑелей, 61<br>\n\t\t\t\t\tг. ÐинÑк, ÐелаÑÑÑÑ\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="service-center__contact flc">\n\t\t\t\t<div class="service-center__contact-title">\n\t\t\t\t\tÐÑÐµÐ¼Ñ ÑабоÑÑ\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\tпн-Ð²Ñ â 10:00 до 20:00\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\tÑб-Ð²Ñ â 10:00 до 18:00\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="service-center__contact flc">\n\t\t\t\t<div class="service-center__contact-title">\n\t\t\t\t\tÐонÑакÑÑ\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\tТелеÑон: <a href="tel:+375172186222">+375 17 218-62-22</a>\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\tФакÑ: <a href="tel:+375172039697">+375 17 203-96-97</a>\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\tE-mail: <a href="mailto:[email protected]">[email protected]</a>\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\t<a href="www.atlantshop.by">www.atlantshop.by</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="article-contacts__persons">\n\t\t\t<div class="article-contacts__persons-section flc">\n\t\t\t\t<h4 class="article-contacts__persons-title h4">\n\t\t\t\t\tФизиÑеÑким лиÑам\n\t\t\t\t</h4>\n\t\t\t\t<div class="article-contacts__persons-content text-guide">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tÐо вопÑоÑам пÑиобÑеÑÐµÐ½Ð¸Ñ Ð¿ÑодÑкÑии ÐÐР«ÐТÐÐÐТ» Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе обÑаÑаÑÑÑÑ Ð² <a href="#">ÑалонÑ-Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½Ñ ATLANT, к наÑим паÑÑнеÑам</a> либо в ÑозниÑнÑе Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½Ñ Ð²Ð°Ñего гоÑода.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="article-contacts__persons-section flc">\n\t\t\t\t<h4 class="article-contacts__persons-title h4">\n\t\t\t\t\tЮÑидиÑеÑким лиÑам\n\t\t\t\t</h4>\n\t\t\t\t<div class="article-contacts__persons-content text-guide">\n\t\t\t\t\t<p class="article-contacts__text">ÐÑодажа бÑÑовой ÑеÑ
ники в РеÑпÑблике ÐелаÑÑÑÑ: <a href="tel:+375172186457">+375 17 218-64-57</a></p>\n\t\t\t\t\t<p class="article-contacts__text">ÐÑодажа бÑÑовой ÑеÑ
ники в РоÑÑийÑкой ФедеÑаÑии: <a href="tel:+375172186457">+375 17 218-61-12</a></p>\n\t\t\t\t\t<p class="article-contacts__text">ÐÑодажа бÑÑовой ÑеÑ
ники в СÐÐ, ÐалÑнем заÑÑбежÑе:</p>\n\t\t\t\t\t<ul class="article-contacts__list">\n\t\t\t\t\t\t<li class="article-contacts__list-item">\n\t\t\t\t\t\t\tУкÑаина и ÐолдавиÑ: <a href="tel:+375173697261">+375 17 369-72-61</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li class="article-contacts__list-item">\n\t\t\t\t\t\t\tСÑеднÑÑ ÐÐ·Ð¸Ñ Ð¸ ÐакавказÑе: <a href="tel:+375172035024">+375 17 203-50-24</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li class="article-contacts__list-item">\n\t\t\t\t\t\t\tСÑÑÐ°Ð½Ñ ÐС, СевеÑной и Южной ÐмеÑики, ÐÑÑики: <a href="tel:+375172036571">+375 17 203-65-71</a>, <a href="tel:+375172186429">+375 17 218-64-29</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</div>\n\t\t\n\t</article>\n',data:function(){return{contacts:null}},props:{staticDataSource:{default:null},bxajaxid:{default:null}},created:function(){var t=this;t.staticDataSource?(t.contacts=t.staticDataSource.contacts,console.log("v-article-contacts loaded from static data",t.contacts)):t.remoteDataSource&&(t.contacts.remote=t.remoteDataSource)}}),Vue.component("v-article-list-full",{template:'\n\t<div class="v-article-list-full article-list-full" \n\t\t :class="{\'article-list-full--fill\': fill || mode == \'shops\' || mode == \'letters\' || mode == \'technique\' || mode == \'kds\' || mode == \'sma\',\n\t\t \'article-list-full--framed\': frame || mode == \'letters\' || mode == \'technique\' || mode == \'kds\' || mode == \'sma\',\n\t\t \'article-list-full--border-top\': mode === \'faq-small\'}">\n\t\t<transition name="content-fade">\n\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t</transition>\n\n\t\t<template v-if="mode == \'article\'">\n\t\t\t<div class="article-list article-list--full flc fcc">\n\t\t\t\t<div class="article-list__grid grid">\n\n\t\t\t\t\t<template v-if="catalog.items && catalog.items.length">\n\t\t\t\t\t\t<div class="article-list__col col col-xl-4 col-sm-6 col-2xs-12" v-for="article in catalog.items">\n\t\t\t\t\t\t\t<div class="article-poster article-poster--large flc" itemscope itemtype="https://schema.org/Article">\n\t\t\t\t\t\t\t\t<a v-if="article.link" :href="article.remote" class="article-poster__link" @click="linkClick($event, article.remote)"></a>\n\t\t\t\t\t\t\t\t<div class="article-poster__image flc" :class="{\'article-poster__image--disabled\': article.expired}"\n\t\t\t\t\t\t\t\t\t :style="{\'background-image\': \'url(\' + article.image + \')\'}">\n\t\t\t\t\t\t\t\t\t<meta itemprop="image" :content="computedImg(article.image)"/>\n\t\t\t\t\t\t\t\t\t<div class="article-poster__image-overlay" v-if="article.video">\n\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon article-poster__video-icon"><use xlink:href="#svg-icon-video-btn"></use></svg>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="article-poster__meta flc" v-if="article.labels || article.date">\n\t\t\t\t\t\t\t\t\t<div class="article-poster__meta-labels" v-if="article.labels">\n\t\t\t\t\t\t\t\t\t\t<a :href="label.link" class="badge" :class="{\'badge--reflex\': label.link}" :style="{\'background-color\': label.color || null}"\n\t\t\t\t\t\t\t\t\t\t v-for="label in article.labels">{{label.text}}</a>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<time v-if="article.date" :datetime="article.date.datetime" class="article-poster__meta-date">{{article.date.text}}</time>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<strong class="article-poster__title flc" v-if="article.title" itemprop="headline">\n\t\t\t\t\t\t\t\t\t{{article.title}}<span class="article-poster__title-tail"> <svg class="svg-icon article-poster__title-arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t<div class="article-poster__description flc" v-if="article.description" v-html="article.description"\n\t\t\t\t\t\t\t\t\titemprop="name"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<div class="article-list__col article-list__col--bg col col-xl-12">\n\t\t\t\t\t\t\t<div class="article-list__message" v-if="$slots[\'empty-message\']">\n\t\t\t\t\t\t\t\t<slot name="empty-message"></slot>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-if="mode == \'video\'">\n\t\t\t<div class="article-list article-list--full flc fcc">\n\t\t\t\t<div class="article-list__grid grid">\n\n\t\t\t\t\t<template v-if="catalog.items && catalog.items.length">\n\t\t\t\t\t\t<div class="article-list__col col col-xl-4 col-sm-6 col-2xs-12" v-for="article in catalog.items">\n\t\t\t\t\t\t\t<div class="article-poster article-poster--large flc" itemscope itemtype="https://schema.org/VideoObject">\n\t\t\t\t\t\t\t\t<a v-if="article.link" :href="article.remote" class="article-poster__link" @click="linkClick($event, article.remote)"></a>\n\t\t\t\t\t\t\t\t<div class="article-poster__image flc" :class="{\'article-poster__image--disabled\': article.expired}"\n\t\t\t\t\t\t\t\t\t :style="{\'background-image\': \'url(\' + article.image + \')\'}"\n\t\t\t\t\t\t\t\t\t itemprop="interactionStatistic" itemscope itemtype="https://schema.org/InteractionCounter">\n\t\t\t\t\t\t\t\t\t<div class="article-poster__image-overlay" v-if="article.video"\n\t\t\t\t\t\t\t\t\t\t itemprop="interactionService" itemscope itemid="https://www.youtube.com" itemtype="https://schema.org/WebSite">\n\t\t\t\t\t\t\t\t\t\t<meta itemprop="name" content="YouTube" />\n\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon article-poster__video-icon"><use xlink:href="#svg-icon-video-btn"></use></svg>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<link itemprop="embedUrl" :href="article.videoLink" />\n\t\t\t\t\t\t\t\t<meta itemprop="uploadDate" :content="article.date.datetime" />\n\t\t\t\t\t\t\t\t<meta itemprop="thumbnailUrl" :content="article.image" />\n\t\t\t\t\t\t\t\t<div class="article-poster__meta flc" v-if="article.labels || article.date">\n\t\t\t\t\t\t\t\t\t<div class="article-poster__meta-labels" v-if="article.labels" itemprop="description">\n\t\t\t\t\t\t\t\t\t\t<a :href="label.link" class="badge" :class="{\'badge--reflex\': label.link}" :style="{\'background-color\': label.color || null}"\n\t\t\t\t\t\t\t\t\t\t v-for="label in article.labels">{{label.text}}</a>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<time v-if="article.date" :datetime="article.date.datetime" class="article-poster__meta-date">{{article.date.text}}</time>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<strong class="article-poster__title flc" v-if="article.title" itemprop="name">\n\t\t\t\t\t\t\t\t\t{{article.title}}<span class="article-poster__title-tail"> <svg class="svg-icon article-poster__title-arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t<div class="article-poster__description flc" v-if="article.description" v-html="article.description"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<div class="article-list__col article-list__col--bg col col-xl-12">\n\t\t\t\t\t\t\t<div class="article-list__message" v-if="$slots[\'empty-message\']">\n\t\t\t\t\t\t\t\t<slot name="empty-message"></slot>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode == \'job\'">\n\t\t\t<div class="job-list flc fcc">\n\t\t\t\t<div class="job-list__grid grid">\n\t\t\t\t\t<div class="job-list__col col col-xs-12 col-md-6 col-xl-4" v-for="job in catalog.items">\n\t\t\t\t\t\t<a :href="job.link" class="job-list__link" @click="linkClick($event, job.remote)">\n\t\t\t\t\t\t\t<div class="job-list__header">\n\t\t\t\t\t\t\t\t<div v-if="job.price" class="job-list__price price-badge">\n\t\t\t\t\t\t\t\t\t<svg class="svg-icon price-badge__icon">\n\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-marker"></use>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t<span class="price-badge__value">{{ job.price }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div v-if="job.label" class="job-list__label">\n\t\t\t\t\t\t\t\t\t{{ job.label }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<h4 v-if="job.title" class="job-list__title h4" >\n\t\t\t\t\t\t\t\t{{ job.title }}\n\t\t\t\t\t\t\t</h4>\n\t\t\t\t\t\t\t<div class="job-list__descr">\n\t\t\t\t\t\t\t\t<div v-if="job.company" class="job-list__descr-item">\n\t\t\t\t\t\t\t\t\t<span class="job-list__descr-name flc">{{ getMessage(\'COMPANY\') }}: </span>\n\t\t\t\t\t\t\t\t\t<span class="job-list__descr-text">{{ job.company }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div v-if="job.subdivision" class="job-list__descr-item flc">\n\t\t\t\t\t\t\t\t\t<span class="job-list__descr-name">{{ getMessage(\'SUBDIVISION\') }}: </span>\n\t\t\t\t\t\t\t\t\t<span class="job-list__descr-text">
1{{ job.subdivision }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode == \'letters\'">\n\t\t\t<div class="article-list-full__status flc">\n\t\t\t\t<v-list-status :catalog="catalog" :state="state" :changed-filters="changedFilters" :loading="loading"\n\t\t\t\t\t\t\t @reset="resetHeaderFilter"\n\t\t\t\t\t\t\t @sort="state.sort = $event; stateChanged();">\n\t\t\t\t</v-list-status>\n\t\t\t</div>\n\n\t\t\t<div class="article-list-full__text-block text-guide flc">\n\t\t\t\t<div class="table-scroller">\n\t\t\t\t\t<table cellspacing="1" cellpadding="0" class="code-table">\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("LETTERS_COL_1")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("LETTERS_COL_2")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("LETTERS_COL_3")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("LETTERS_COL_4")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("LETTERS_COL_5")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr v-for="item in catalog.items">\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t{{item.title}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t{{item.desc}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t{{item.extension}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t{{item.filesize}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t<a target="_blank" download :href="item.file" class="icon-link">\n\t\t\t\t\t\t\t\t\t\t<div class="icon-link__icon">\n\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-link-doc"></use></svg>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="icon-link__main">{{getMessage("DOWNLOAD")}}</div>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode == \'technique\'">\n\t\t\t<div class="article-list-full__status flc">\n\t\t\t\t<v-list-status :catalog="catalog" :state="state" :changed-filters="changedFilters" :loading="loading" \n\t\t\t\t\t\t\t @reset="resetHeaderFilter"\n\t\t\t\t\t\t\t @sort="state.sort = $event; stateChanged();">\n\t\t\t\t</v-list-status>\n\t\t\t</div>\n\n\t\t\t<div class="article-list-full__text-block text-guide flc">\n\n\t\t\t\t<div class="table-scroller">\n\t\t\t\t\t<table cellspacing="1" cellpadding="0" class="code-table">\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("TECHNIQUE_COL_1")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("TECHNIQUE_COL_2")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("TECHNIQUE_COL_3")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("TECHNIQUE_COL_4")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("TECHNIQUE_COL_5")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr v-for="item in catalog.items">\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t{{item.title}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t{{item.desc}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t{{item.extension}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t{{item.filesize}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t<a target="_blank" download :href="item.file" class="icon-link">\n\t\t\t\t\t\t\t\t\t\t<div class="icon-link__icon">\n\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-link-doc"></use></svg>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="icon-link__main">{{getMessage("DOWNLOAD")}}</div>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode == \'kds\'">\n\t\t\t<div class="article-list-full__status flc">\n\t\t\t\t<v-list-status :catalog="catalog" :state="state" :loading="loading"\n\t\t\t\t\t\t\t @reset="resetHeaderFilter"\n\t\t\t\t\t\t\t @s
1ort="state.sort = $event; stateChanged();">\n\t\t\t\t</v-list-status>\n\t\t\t</div>\n\n\t\t\t<div class="article-list-full__text-block text-guide flc">\n\t\t\t\t<div class="table-scroller">\n\t\t\t\t\t<table cellspacing="1" cellpadding="0" class="code-table">\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("KDS_COL_1")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("KDS_COL_2")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("KDS_COL_3")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("KDS_COL_4")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t{{getMessage("KDS_COL_5")}}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr v-for="item in catalog.items">\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t{{item.title}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t{{item.date}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t{{item.extension}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t{{item.filesize}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t<a target="_blank" download :href="item.file" class="icon-link">\n\t\t\t\t\t\t\t\t\t\t<div class="icon-link__icon">\n\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-link-doc"></use></svg>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="icon-link__main">{{getMessage("DOWNLOAD")}}</div>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode == \'sma\'">\n\t\t\t<div class="accordion accordion--short">\n\t\t\t\t<div class="accordion__item" v-for="itemSeries in catalog.items">\n\t\t\t\t\t<button type="button" class="accordion__btn" :class="{\'collapsed\': itemSeries.collapsed}" @click="itemSeries.collapsed = !itemSeries.collapsed">\n\t\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t\t<span class="accordion__btn-text h3">{{itemSeries.title}}</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t<div class="accordion__body accordion__body--indent" v-show="!itemSeries.collapsed">\n\t\t\t\t\t\t\t<div class="text-guide">\n\n\t\t\t\t\t\t\t\t<div class="table-scroller">\n\t\t\t\t\t\t\t\t\t<table cellspacing="1" cellpadding="0" class="code-table">\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage("SMA_COL_1")}}\n\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage("SMA_COL_2")}}\n\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage("SMA_COL_3")}}\n\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage("SMA_COL_4")}}\n\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage("SMA_COL_5")}}\n\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage("SMA_COL_6")}}\n\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage("SMA_COL_7")}}\n\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr v-for="item in itemSeries.childs">\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{item.model}}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{item.producer}}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{item.lock_type}}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{item.date}}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{item.comments}}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{item.const_sma}}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a target="_blank" download :href="item.file" class="icon-link">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="icon-link__icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-link-doc"></use></svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="icon-link__main">
1{{getMessage("DOWNLOAD")}}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode == \'factories\' || mode == \'shops\' || mode == \'service-centers\' || mode == \'contacts\'">\n\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t<div class="article-list-full__product flc" v-if="catalog.showProduct && $slots[\'product\']">\n\t\t\t\t\t<slot name="product" v-if="catalog.showProduct"></slot>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t\t<v-map v-if="catalog.shopType !== \'online\'" :coords="[53.900000, 27.566670]" adjust-initial-bounds ref="map" right-controls \n\t\t\t\t class="article-list-full__map" :external-loading="mapLoading" :big-balloon="mode == \'service-centers\'">\n\t\t\t\t<v-map-point\n\t\t\t\t\tv-if="factory.coords && factory.coords.length == 2"\n\t\t\t\t\tv-for="factory in catalog.items" \n\t\t\t\t\t:key="factory.id"\n\t\t\t\t\t:coords="factory.coords"\n\t\t\t\t\t:name="factory.title"\n\t\t\t\t\t:logo="factory.logo"\n\t\t\t\t\t:address="factory.address"\n\t\t\t\t\t:pin-num="factory.pinNum"\n\t\t\t\t\t:pin-alt="factory.pinAlt"\n\t\t\t\t\t:schedule="factory.schedule"\n\t\t\t\t\t:rating="factory.rating ? factory.rating : false"\n\t\t\t\t\t:contacts="factory.contacts"\n\t\t\t\t\tmarker-type="placemark"\n\t\t\t\t\t:btn-route="mode === \'shops\'"\n\t\t\t\t\t:btn-link="mode === \'service-centers\' ? factory.btnLink : false"\n\t\t\t\t\t:btn-popup-link="mode === \'service-centers\' && factory.availableOrder ? factory.btnPopupLink : false"\n\t\t\t\t\t></v-map-point>\n\t\t\t</v-map>\n\t\t\t<div v-if="(mode == \'shops\' || mode == \'service-centers\') && catalog.attention"\n\t\t\t\t class="article-list-full__attention flc">\n\t\t\t\t<div class="attention">\n\t\t\t\t\t<svg class="svg-icon attention__ico-attention">\n\t\t\t\t\t<use xlink:href="#svg-icon-attention"></use>\n\t\t\t\t\t</svg>\n\t\t\t\t\t<span class="attention__attention-text">\n\t\t\t\t\t\t{{catalog.attention}}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if="mode == \'shops\' || mode == \'service-centers\'" class="article-list-full__status flc">\n\t\t\t\t<v-list-status :catalog="catalog" :state="state" :changed-filters="changedFilters" :loading="loading" \n\t\t\t\t\t\t\t @reset="resetHeaderFilter"\n\t\t\t\t\t\t\t @sort="state.sort = $event; stateChanged();">\n\t\t\t\t</v-list-status>\n\t\t\t</div>\n\n\t\t\t<div class="factories-list">\n\t\t\t\t<div class="factories-list__item" :class="{\'factories-list__item--link\': factory.link}" v-for="(factory, index) in catalog.items" :key=\'factory.id\'>\n\t\t\t\t\t<a v-if="mode == \'shops\' && catalog.shopType == \'online\' && factory.link" :href="factory.link" class="factories-list__link" target="_blank"></a>\n\t\t\t\t\t<div class="factories-list__heading">\n\t\t\t\t\t\t<div class="factories-list__marker">\n\t\t\t\t\t\t\t<div v-if="factory.pinNum" class="map__balloon-pin" :class="{\'map__balloon-pin--alt\': factory.pinAlt}">\n\t\t\t\t\t\t\t\t{{ factory.pinNum }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if="mode == \'shops\' || mode == \'service-centers\'" class="factories-list__distance">\n\t\t\t\t\t\t\t<span class="factories-list__distance-text">{{ factory.distance }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<template v-if="factory.logo">\n\t\t\t\t\t\t\t<template v-if="mode == \'shops\' || mode == \'service-centers\' && factory.link">\n <h4 class="factories-list__title h4">\n <a v-if="mode == \'service-centers\' && factory.link" :href="factory.link" class="factories-list__title-link" @click="linkClick($event, factory.remote)">{{ factory.title }}</a>\n <img v-else :class="{\'factories-list__title-link js-anchor factories-list__logo\': factory.coords}"\n data-target=".article-list-full__map"\n @click="factory.coords ? $refs.map.$emit(\'show-on-map\', factory.coords) : null"\n :src="factory.logo" alt="">\n </h4>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t<h4 class="factories-list__title h4">\n\t\t\t\t\t\t\t\t<a v-if="mode == \'service-centers\' && factory.link" :href="factory.link" class="factories-list__title-link" @click="linkClick($event, factory.remote)">{{ factory.title }}</a>\n\t\t\t\t\t\t\t\t<span v-else :class="{\'factories-list__title-link js-anchor\': factory.coords}" data-target=".article-list-full__map"\n\t\t\t\t\t\t\t\t\t\t\t@click="factory.coords ? $refs.map.$emit(\'show-on-map\', factory.coords) : null">\n\t\t\t\t\t\t\t\t{{ factory.title }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</h4>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<div v-if="mode == \'service-centers\'" class="factories-list__rating">\n\t\t\t\t\t\t\t<svg class="svg-icon factories-list__rating-ico"><use xlink:href="#svg-icon-rating-star"></use></svg> <span class="job-list__price-num">{{factory.rating}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class="factories-list__content">\n\t\t\t\t\t\t<div class="factories-list__info">\n\t\t\t\t\t\t\t<div class="factories-list__info-wrap">\n\t\t\t\t\t\t\t\t<div v-if="factory.address" class="factories-list__address">\n\t\t\t\t\t\t\t\t\t{{ factory.address }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div v-if="factory.schedule" class="factories-list__schedule">\n\t\t\t\t\t\t\t\t\t{{ factory.schedule }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="factories-list__contacts">\n\t\t\t\t\t\t\t\t\t<div class="factories-list__contact" v-for="contact in factory.contacts">\n\t\t\t\t\t\t\t\t\t\t<span class="factories-list__text">\n\t\t\t\t\t\t\t\t\t\t\t{{ contact.name ? contact.name + \' \' : \'\'}}\n\t\t\t\t\t\t\t\t\t\t\t<a v-if="contact.href" :href="contact.href" target="_blank">{{ contact.text }}</a>\n\t\t\t\t\t\t\t\t\t\t\t<span v-else>{{ contact.text }}</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class="factories-list__descr">\n\t\t\t\t\t\t\t<div class="text-guide" v-if="factory.description" v-html="factory.description"></div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if="mode == \'factories\' || mode == \'contacts\'" class="factories-list__links">\n\t\t\t\t\t\t\t<div class="link-block__item">\n\t\t\t\t\t\t\t\t<div class="section-action flc">\n\t\t\t\t\t\t\t\t\t<a href="#" class="arrow-link" @click="linkClick($event, factory.remote)">{{ getMessage(\'ABOUT_COMPANY\') }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div v-if="mode !== \'contacts\'" class="section-action flc">\n\t\t\t\t\t\t\t\t\t<a href="#" class="arrow-link" @click="linkClick($event, factory.leadership)">{{ getMessage(\'LEADERSHIPS\') }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div v-if="mode !== \'contacts\'" class="section-action flc">\n\t\t\t\t\t\t\t\t\t<a data-target=".article-list-full__map" class="arrow-link js-anchor" @click.prevent="$refs.map.$emit(\'show-on-map\', factory.coords)">{{ getMessage("SHOW_ON_MAP") }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div v-if="mode == \'contacts\'" class="section-action flc">\n\t\t\t\t\t\t\t\t\t<a class="arrow-link" @click.prevent="linkClick($event, factory.allContacts)">{{ getMessage(\'ALL_CONTACTS\') }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div v-if="mode == \'contacts\'" class="section-action flc">\n\t\t\t\t\t\t\t\t\t<span class="arrow-link js-open-modal"\n\t\t\t\t\t\t\t\t\t\t :data-modal-url="factory.contactForm"\n\t\t\t\t\t\t\t\t\t\t data-modal-data=\'{\n\t\t\t\t\t\t\t\t\t\t "className": "modal
1--lg modal--form",\n\t\t\t\t\t\t\t\t\t\t "ownHistory": false\n\t\t\t\t\t\t\t\t\t\t }\'\n\t\t\t\t\t\t\t\t\t\t >{{getMessage(\'APPEAL\')}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n <div v-if="mode == \'contacts\'" class="section-action flc">\n <a class="arrow-link" href="/support/services/">СеÑвиÑнÑе ÑенÑÑÑ<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n </a>\n </div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-else-if="mode == \'shops\' || mode == \'service-centers\'" class="factories-list__links">\n\n\t\t\t\t\t\t\t<div v-if="mode == \'shops\' && factory.link" class="link-block__item">\n\t\t\t\t\t\t\t\t<div class="section-action flc">\n\t\t\t\t\t\t\t\t\t<a :href="factory.link" class="arrow-link" target="_blank">{{ getMessage(\'GOTO_TO_SITE\') }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div v-else class="link-block__item">\n\t\t\t\t\t\t\t\t<div class="section-action flc" v-if="factory.coords">\n\t\t\t\t\t\t\t\t\t<a data-target=".article-list-full__map" class="arrow-link js-anchor" @click.prevent="$refs.map.$emit(\'show-on-map\', factory.coords)">{{ getMessage("SHOW_ON_MAP") }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div v-if="mode == \'shops\' && factory.coords" class="section-action flc">\n\t\t\t\t\t\t\t\t\t<a data-target=".article-list-full__map" class="arrow-link js-anchor" @click="showRoute(factory.coords)">{{ getMessage(\'GET_DIRECTIONS\') }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<template v-else-if="mode == \'service-centers\'" >\n\n\t\t\t\t\t\t\t\t\t<div class="section-action flc" v-if="factory.availableOrder">\n\t\t\t\t\t\t\t\t\t\t<span class="arrow-link js-open-modal"\n\t\t\t\t\t\t\t\t\t\t\t data-modal-data=\'{\n\t\t\t\t\t\t\t\t\t\t\t "className": "modal--lg modal--form",\n\t\t\t\t\t\t\t\t\t\t\t "ownHistory": false\n\t\t\t\t\t\t\t\t\t\t\t }\'\n\t\t\t\t\t\t\t\t\t\t\t :data-modal-url="\'/personal/repair_form.php?SERVICE_ID=\'+factory.id">{{ getMessage(\'SEND_ORDER\') }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="section-action flc">\n\t\t\t\t\t\t\t\t\t\t<span class="arrow-link js-open-modal"\n\t\t\t\t\t\t\t\t\t\t\t data-modal-data=\'{\n\t\t\t\t\t\t\t\t\t\t\t "className": "modal--lg modal--form",\n\t\t\t\t\t\t\t\t\t\t\t "ownHistory": false\n\t\t\t\t\t\t\t\t\t\t\t }\'\n\t\t\t\t\t\t\t\t\t\t\t :data-modal-url="\'/support/services/send_service_error.php?CATEGORY=error&SERVICE_ID=\'+factory.id + \'®ION=\'+factory.region_id">{{ getMessage(\'SEND_ERROR\') }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode == \'faq\' || mode == \'faq-small\'">\n\t\t\t<div class="accordion accordion--connnect-top" :class="{\'accordion--small\': mode == \'faq-small\', \'accordion--short\': view != \'inner\'}">\n\t\t\t\t<div class="accordion__item" v-for="item in catalog.items">\n\t\t\t\t\t<button type="button" class="accordion__btn" :class="{\'collapsed\': item.collapsed}" @click="item.collapsed = !item.collapsed">\n\t\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t\t<span class="accordion__btn-text" :class="{\'h3\': mode === \'faq\', \'h4\': mode === \'faq-small\'}">\n\t\t\t\t\t\t\t{{item.title}}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t<div class="accordion__body accordion__body--indent" v-show="!item.collapsed">\n\t\t\t\t\t\t\t<div class="accordion__content">\n\t\t\t\t\t\t\t\t<div v-if="item.questions && item.questions.length" class="accordion__questions flc">\n\t\t\t\t\t\t\t\t\t<div class="accordion__question-wrap">\n\t\t\t\t\t\t\t\t\t\t<div v-for="question in item.questions" class="accordion__question flc"\n\t\t\t\t\t\t\t\t\t\t\t itemscope itemtype="https://schema.org/Question">\n\t\t\t\t\t\t\t\t\t\t\t<button type="button" class="accordion__question-btn accordion__question-btn--narrow"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:class="{\'collapsed\': question.collapsed}" @click="question.collapsed = !question.collapsed">\n\t\t\t\t\t\t\t\t\t\t\t\t\x3c!-- no spaces is important --\x3e\n\t\t\t\t\t\t\t\t\t\t\t\t<span class="accordion__question-btn-text" itemprop="name">{{question.btn}}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class="accordion__question-ico-wrap"> <span class="accordion__question-ico">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="accordion__question-svg svg-icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t\t\t\t\t\t\t<div v-show="!question.collapsed" class="accordion__answer">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-if="question.answer" class="accordion__answer-content text-guide"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t v-html="question.answer" itemprop="text"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="accordion__rate-wrap">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-rate :id="question.id" :remote="question.rate.remote" :value="question.rate.value"></v-rate>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>
1\n\t\t\t\t\t\t\t\t<div v-if="item.content" class="accordion__user-content" v-html="item.content"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode == \'accordions\' || mode == \'accordions-small\'">\n\t\t\t<div class="accordion accordion--short" :class="{\'accordion--small\': mode == \'accordions-small\'}">\n\t\t\t\t<div class="accordion__item" v-for="item in catalog.items">\n\t\t\t\t\t<button type="button" class="accordion__btn" :class="{\'collapsed\': item.collapsed}" @click="item.collapsed = !item.collapsed">\n\t\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t\t<span class="accordion__btn-text" :class="{\'h3\': mode === \'accordions\', \'h4\': mode === \'accordions-small\'}">\n\t\t\t\t\t\t\t{{item.title}}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t<div class="accordion__body accordion__body--indent" v-show="!item.collapsed">\n\t\t\t\t\t\t\t<div class="accordion__content">\n\t\t\t\t\t\t\t\t<div class="accordion__questions flc">\n\t\t\t\t\t\t\t\t\t<div class="accordion__question-wrap">\n\t\t\t\t\t\t\t\t\t\t<div v-for="question in item.questions" class="accordion__question flc">\n\t\t\t\t\t\t\t\t\t\t\t<button type="button" class="accordion__question-btn accordion__question-btn--narrow" :class="{\'collapsed\': question.collapsed}" @click="question.collapsed = !question.collapsed">\n\t\t\t\t\t\t\t\t\t\t\t\t\x3c!-- no spaces is important --\x3e\n\t\t\t\t\t\t\t\t\t\t\t\t<span class="accordion__question-btn-text">{{question.btn}}</span><span class="accordion__question-ico-wrap"> <span class="accordion__question-ico">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="accordion__question-svg svg-icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t\t\t\t\t\t\t<div v-show="!question.collapsed" class="accordion__answer">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<v-lazy-component v-if="question.answer" class="accordion__answer-content text-guide">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-html="question.answer"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</v-lazy-component>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode == \'certificates\'">\n\t\t\t<div class="accordion accordion--short">\n\t\t\t\t<div class="accordion__item" v-for="item in catalog.items">\n\t\t\t\t\t<button type="button" class="accordion__btn" :class="{\'collapsed\': item.collapsed}" @click="item.collapsed = !item.collapsed; replaceState();">\n\t\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t\t<span class="accordion__btn-text h3">{{item.title}}</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t<div class="accordion__body accordion__body--indent" v-show="!item.collapsed">\n\t\t\t\t\t\t\t<div class="accordion__certificates flc">\n\t\t\t\t\t\t\t\t<div v-for="certificate in item.certificates" class="certificate">\n\t\t\t\t\t\t\t\t\t<div class="certificate__wrap">\n\t\t\t\t\t\t\t\t\t\t<a v-if="certificate.remote" @click="linkClick($event, certificate.remote)" class="certificate__pic">\n\t\t\t\t\t\t\t\t\t\t\t<img v-if="certificate.image" class="certificate__img" :src="certificate.image" alt="">\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t<div v-else class="certificate__pic">\n\t\t\t\t\t\t\t\t\t\t\t<img v-if="certificate.image" class="certificate__img" :src="certificate.image" alt="">\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="certificate__info">\n\t\t\t\t\t\t\t\t\t\t\t<h4 v-if="certificate.title" class="certificate__title h4 flc">{{certificate.title}}</h4>\n\t\t\t\t\t\t\t\t\t\t\t<div class="certificate__main-info">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="certificate__descr-wrap">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-if="certificate.descr" class="certificate__descr flc" v-html="certificate.descr"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="certificate__date-block flc" v-if="certificate.date">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-if="certificate.date.registration" class="certificate__date">{{ getMessage(\'DATE_REGISTER\') }}: {{certificate.date.registration}}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-if="certificate.date.confirmation" class="certificate__date">{{ getMessage(\'DATE_CONFIRM\') }}: {{certificate.date.confirmation}}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-if="certificate.date.valid" class="certificate__date">{{ getMessage(\'DATE_ACTIVE_TO\') }}: {{certificate.date.valid}}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div v-if="certificate.file" class="certificate__links">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="link-block__item">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="section-action flc">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a :href="certificate.file" class="arrow-link" download>{{ getMessage(\'DOWNLOAD_CERTIFICATE\') }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode == \'booklets\'">\n\t\t\t<div class="accordion accordion--short">\n\t\t\t\t<div class="accordion__item" v-for="item in catalog.items">\n\t\t\t\t\t<button type="button" class="accordion__btn" :class="{\'collapsed\': item.collapsed}" @click="item.collapsed = !item.collapsed">\n\t\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t\t<span class="accordion__btn-text h3">{{item.title}}</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t<div class="accordion__body accordion__body--indent" v-show="!item.collapsed">\n\t\t\t\t\t\t\t<div class="accordion__certificates flc">\n\t\t\t\t\t\t\t\t<div v-for="certificate in item.certificates" class="certificate">\n\t\t\t\t\t\t\t\t\t<div class="certificate__wrap">\n\t\t\t\t\t\t\t\t\t\t<div class="certificate__pic">\n\t\t\t\t\t\t\t\t\t\t\t<img v-if="certificate.image" class="certificate__img" :src="certificate.image" alt="">\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="certificate__info">\n\t\t\t\t\t\t\t\t\t\t\t<h4 v-if="certificate.title" class="certificate__title h4 flc">{{certificate.title}}</h4>\n\t\t\t\t\t\t\t\t\t\t\t<div class="certificate__main-info">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="certificate__descr-wrap">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-if="certificate.descr" class="certificate__descr flc" v-html="certificate.descr"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div v-if="certificate.file" class="certificate__links">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="link-block__item">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="section-action flc">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a :href="certificate.file" class="arrow-link" download>
1{{ getMessage("DOWNLOAD_BOOKLETS") }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode == \'energy_efficiency_labels\'">\n\t\t\t<div class="article-list-full__text-guide text-guide">\n\t\t\t\t<p>\n\t\t\t\t\t{{catalog.description}}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div class="accordion accordion--short">\n\t\t\t\t<div class="accordion__item" v-for="item in catalog.items">\n\t\t\t\t\t<button type="button" class="accordion__btn" :class="{\'collapsed\': item.collapsed}" @click="item.collapsed = !item.collapsed">\n\t\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t\t<span class="accordion__btn-text h3">{{item.title}}</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t<div class="accordion__body accordion__body--indent" v-show="!item.collapsed">\n\t\t\t\t\t\t\t<div class="accordion__table-wrap text-guide">\n\t\t\t\t\t\t\t\t<div class="accordion__table-header">\n\t\t\t\t\t\t\t\t\t<div class="accordion__table-left">\n\t\t\t\t\t\t\t\t\t\tÐÑего ÑÑикеÑок: \n\t\t\t\t\t\t\t\t\t\t<span class="accordion__labels-num">{{item.quantity}}</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="accordion__table-right">\n\t\t\t\t\t\t\t\t\t\t<div class="accordion__table-date">{{item.date}}</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="table-scroller">\n\t\t\t\t\t\t\t\t\t<table cellspacing="1" cellpadding="0">\n\t\t\t\t\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center" width="80">\n\t\t\t\t\t\t\t\t\t\t\t\t\tâ\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center" width="270">\n\t\t\t\t\t\t\t\t\t\t\t\t\tÐоделÑ\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center" width="436">\n\t\t\t\t\t\t\t\t\t\t\t\t\tÐÑикеÑка\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center" width="470">\n\t\t\t\t\t\t\t\t\t\t\t\t\tТеÑ
ниÑеÑкий лиÑÑ\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr v-for="(line, i) in item.lines">\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center" width="80">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{i + 1}}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center" width="270">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{line.sku}}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center" width="436">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href="#" \n\t\t\t\t\t\t\t\t\t\t\t\t\t class="energo-label"\n\t\t\t\t\t\t\t\t\t\t\t\t\t :class="{\n\t\t\t\t\t\t\t\t\t\t\t\t\t \'energo-label--a-3plus\': line.labelVariant === \'A+++\',\n\t\t\t\t\t\t\t\t\t\t\t\t\t \'energo-label--a-2plus\': line.labelVariant === \'A++\',\n\t\t\t\t\t\t\t\t\t\t\t\t\t \'energo-label--a-plus\': line.labelVariant === \'A+\',\n\t\t\t\t\t\t\t\t\t\t\t\t\t \'energo-label--a\': line.labelVariant === \'A\',\n\t\t\t\t\t\t\t\t\t\t\t\t\t \'energo-label--b\': line.labelVariant === \'B\',\n\t\t\t\t\t\t\t\t\t\t\t\t\t \'energo-label--c\': line.labelVariant === \'C\',\n\t\t\t\t\t\t\t\t\t\t\t\t\t \'energo-label--d\': line.labelVariant === \'D\'\n\t\t\t\t\t\t\t\t\t\t\t\t\t }"\n\t\t\t\t\t\t\t\t\t\t\t\t\t @click.prevent="openNewWindow(line.labelPrintLink, \'\', line.labelPrintFeatures)">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="energo-label__text">{{line.labelLetter}}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="energo-label__sign">{{line.labelSign}}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center" width="470">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href="#" \n\t\t\t\t\t\t\t\t\t\t\t\t\t class="print-link" \n\t\t\t\t\t\t\t\t\t\t\t\t\t @click.prevent="openNewWindow(line.techListPrintLink, \'\', line.techListPrintFeatures)">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img class="print-link__icon" src="/local/images/markup-images/icons/printer-tool.png" alt="">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="print-link__text">ÐÑоÑмоÑÑ Ð¸ пеÑаÑÑ</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode == \'prices\'">\n\t\t\t<div class="accordion accordion--short">\n\t\t\t\t<div class="accordion__item" v-for="item in catalog.items">\n\t\t\t\t\t<button type="button" class="accordion__btn" :class="{\'collapsed\': item.collapsed}" @click="item.collapsed = !item.collapsed">\n\t\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t\t<span class="accordion__btn-text h3">{{item.title}}</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t<div class="accordion__body accordion__body--indent" v-show="!item.collapsed">\n\t\t\t\t\t\t\t<div class="text-guide">\n\t\t\t\t\t\t\t\t<div class="table-scroller">\n\t\t\t\t\t\t\t\t\t<table cellspacing="1" cellpadding="0">\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ getMessage(\'PRICES_COL_1\') }}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ getMessage(\'PRICES_COL_2\') }}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr v-for="itemProduct in item.products">\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{itemProduct.model}}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-for="priceItem in itemProduct.priceList">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class="social-icons__item social-icon" :href="priceItem.fileLink" download>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-link-doc"></use></svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<transition name="content-fade">\n\t\t\t<v-page-nav class="catalog__navigation"\n\t\t\t\t\t\t:static-data-source="catalog.pages"\n\t\t\t\t\t\t@navigate="navigateByPage"\n v-if="catalog.pages && mode != \'factories\' && mode != \'faq\' && mode != \'faq-small\' && !noPageNav && parseInt(catalog.pages.count) && parseInt(catalog.pages.count) > parseInt(catalog.pages.limit)"></v-page-nav>\n\t\t</transition>\n\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{catalog:{filters:null,items:null,remote:null,attention:null,itemsTotal:null,itemsCount:null,pages:{offset:null,limit:null,count:null}},state:{filter:null,pages:{offset:null,limit:null},sort:null},loading:!1,loadingMinTimeout:null,mapLoading:!1,changedFilters:null,isInitialState:!0,currentLocation:null,isGeolocationChanged:!1}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null},useHeaderFilter:{type:Boolean,default:!1},frame:{type:Boolean,default:!1},mode:{type:String,default:"article"},view:{type:String,default:"regular"},initialOpenArticle:{default:null},userLocation:{type:Array,default:null}
1,allCoords:{default:null},noPageNav:{type:Boolean,default:!1},noHistory:{type:Boolean,default:!1},fill:{type:Boolean,default:!1},openDetailInNewPage:{type:Boolean,default:!1}},methods:{computedImg:function(t){return window.location.origin+t},openNewWindow:function(t,e,n){window.open(t,e,n)},showRoute:function(n){var a=this;a.mapLoading=!0,ymaps.geolocation.get({provider:"auto",autoReverseGeocode:!0}).then(function(t){var e;!t.error||Model.geolocation&&Model.geolocation.coords?(a.currentLocation=Model.geolocation.coords||t.geoObjects.get(0).geometry.getCoordinates(),a.currentLocation&&a.currentLocation.lat&&(a.currentLocation=[a.currentLocation.lat,a.currentLocation.long]),a.currentLocation&&n?(e=new ymaps.multiRouter.MultiRoute({referencePoints:[a.currentLocation,n]},{boundsAutoApply:!0}),a.$refs.map.$emit("add-route",e)):console.warn("v-article-list-full create route error",t)):alert("Ðевозможно поÑÑÑоиÑÑ Ð¼Ð°ÑÑÑÑÑ, Ñ.к. ЯндекÑ.ÐаÑÑÑ Ð½Ðµ Ñмогли опÑеделиÑÑ Ð²Ð°Ñе меÑÑоположение."),a.mapLoading=!1})},openFilterPanel:function(){this.$refs.filter.$emit("openpanel")},getActiveFilterKey:function(t){try{if("object"==_typeof(t.value)&&!_.find(_.find(this.catalog.filters,{id:t.id}).options,{value:t.value}))return t.id+"/custom"}catch(t){}return t.id+"/"+JSON.stringify(t.value)},navigateByLink:function(t){this.catalog.remote=t.href,this.state.filter=null,this.loadCatalog()},navigateByPage:function(t){console.log(t),this.state.offset=t.offset,this.state.limit=t.limit,this.loadCatalog(),$("html, body").animate({scrollTop:$(this.$el).offset().top-40},500)},loadCatalog:function(t,e){function n(){if(s){var t=i.catalog.items;i.catalog=s.catalog,e&&(i.catalog.items=t.concat(i.catalog.items)),e||(i.pushState(),i.isInitialState=!1);try{i.state.pages=s.catalog.pages,s.state&&(i.state.sort=s.state.sort)}catch(t){console.warn("v-article-list-full: something wrong with state\n",t)}window.vHeaderFilter&&(window.vHeaderFilter.$emit("set-filters",i.catalog.filters),window.vHeaderFilter.$emit("set-loading",!1),window.vHeaderFilter.$off("filtered",i.filterChanged).$on("filtered",i.filterChanged))}i.loadingMinTimeout=null,i.loading=!1,i.isGeolocationChanged&&(i.isGeolocationChanged=!1,i.loadCatalog()),i.$nextTick(function(){i.$refs.map&&(i.$refs.map.$emit("update-markers"),i.$refs.map.$emit("adjust-bounds"))})}var a,i=this,s=null,l=!1;i.loading||(i.loading=!0,window.vHeaderFilter&&window.vHeaderFilter.$emit("set-loading",!0),t||(i.loadingMinTimeout=setTimeout(function(){l&&n(),i.loadingMinTimeout=null},300)),(a=_.clone(i.state)).filter||(a.filter=null),Model&&Model.geolocation&&(a.location=Model.geolocation.coords||null),$.ajax({url:i.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:{state:a,bxajaxid:i.bxajaxid}}).done(function(t){console.log("v-article-list-full loaded",t),s=t}).fail(function(t){console.warn("v-article-list-full load failed",t)}).always(function(){l=!0,i.loadingMinTimeout&&!t||n()}))},loadMore:function(){this.state.pages.offset=parseInt(this.catalog.pages.offset)+parseInt(this.catalog.pages.limit),this.loadCatalog(!1,!0)},filterChanged:function(t,e,n){var a=this;a.changedFilters=e,a.state.filter=t,clearTimeout(a.filterDebounceTimeout),a.filterDebounceTimeout=setTimeout(a.stateChanged,n&&"range"==n.type?3200:1e3)},filterUpdated:function(t,e){this.changedFilters=e,this.state.filter=t},stateChanged:function(){this.loadCatalog()},resetFilter:function(t,e){void 0===t?this.$refs.filter.$emit("reset"):this.$refs.filter.$emit("reset",t,e)},resetHeaderFilter:function(t,e){window.vHeaderFilter&&(void 0===t?window.vHeaderFilter.$emit("reset"):window.vHeaderFilter.$emit("reset",t,e))},handlePopState:function(t){t.state&&"v-article-list-full"==t.state.component&&!this.noHistory&&(console.log("v-article-list-full: pop state",t.state),this.state=t.state.state,this.catalog=t.state.catalog)},pushState:function(t){"localhost"==window.location.hostname||this.noHistory||window.history[this.isInitialState||t?"replaceState":"pushState"]({component:"v-article-list-full",state:this.state,catalog:this.catalog},"",this.catalog.remote)},replaceState:function(){this.pushState(!0)},linkClick:function(t,e,n){t&&t.preventDefault(),this.openDetailInNewPage?window.location.href=e:modalController.open({component:"v-article",className:"modal--lg modal--article",remoteDataSource:e,bxajaxid:this.bxajaxid,ownHistory:!n})},slideDown:function(t,e){$(t).hide().slideDown(200,e),setTimeout(function(){$(t).find(".slick-slider").slick("setPosition")},75)},slideUp:function(t,e){$(t).show().slideUp(200,e)}},created:function(){var t=this;if(t.staticDataSource){if(t.catalog=t.staticDataSource.catalog,t.staticDataSource.pages&&(t.state.pages.limit=parseInt(t.staticDataSource.pages.limit)),"online"!=t.staticDataSource.catalog.shopType&&t.staticDataSource.catalog.sorts)try{t.state.sort=t.staticDataSource.state?t.staticDataSource.state.sort:t.staticDataSource.catalog.sorts[0].value}
1catch(t){console.warn("v-catalog: something wrong with initial sort value\n",t)}console.log("v-article-list-full loaded from static data",t.catalog),t.pushState()}else t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.filterPreset&&(this.state.filter=_.map(t.filterPreset,function(t){return{id:t.id,value:t.value,type:t.type}})),t.loadCatalog(!0));window.vHeaderFilter?(window.vHeaderFilter.$emit("set-filters",t.catalog.filters),window.vHeaderFilter.$on("filtered",t.filterChanged),window.vHeaderFilter.$on("filterupdate",t.filterUpdated)):setTimeout(function(){window.vHeaderFilter?(window.vHeaderFilter.$emit("set-filters",t.catalog.filters),window.vHeaderFilter.$on("filtered",t.filterChanged),window.vHeaderFilter.$on("filterupdate",t.filterUpdated)):console.warn("v-article-list-full: header filters not found")},1e3),t.initialOpenArticle&&(t.pushState(),t.linkClick(null,t.initialOpenArticle,!0)),window.addEventListener("popstate",t.handlePopState),Model.$on("geolocation-changed",function(){t.isGeolocationChanged=!0,t.loading||t.loadCatalog()})},destroyed:function(){window.removeEventListener("popstate",this.handlePopState)}}),Vue.component("v-article",{template:'\n\t<article class="v-article article" itemscope itemtype="https://schema.org/Article">\n\t\t<transition name="content-fade">\n\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t</transition>\n\n\t\t<div class="article__arrows" v-if="catalog.prevArticle || catalog.nextArticle">\n\t\t\t<a :href="catalog.prevArticle.remote" class="article__arrow article__arrow--prev" \n\t\t\t v-if="catalog.prevArticle && catalog.prevArticle.remote" @click="navigate(catalog.prevArticle.remote, $event)">\n\t\t\t\t<div class="article__arrow-image" :style="{\'background-image\': \'url(\'+catalog.prevArticle.image+\')\'}"></div>\n\t\t\t\t<div class="article__arrow-main">{{catalog.prevArticle.title}}</div>\n\t\t\t\t<div class="article__arrow-icon">\n\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-lg-chevron-left"></use></svg>\n\t\t\t\t</div>\n\t\t\t</a>\n\t\t\t<a :href="catalog.nextArticle.remote" class="article__arrow article__arrow--next" \n\t\t\t v-if="catalog.nextArticle && catalog.nextArticle.remote" @click="navigate(catalog.nextArticle.remote, $event)">\n\t\t\t\t<div class="article__arrow-icon">\n\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-lg-chevron-right"></use></svg>\n\t\t\t\t</div>\n\t\t\t\t<div class="article__arrow-main">{{catalog.nextArticle.title}}</div>\n\t\t\t\t<div class="article__arrow-image" :style="{\'background-image\': \'url(\'+catalog.nextArticle.image+\')\'}"></div>\n\t\t\t</a>\n\t\t</div>\n\n\n\n\t\t<div class="article__meta flc fcc" v-if="catalog.article && (catalog.article.labels || catalog.article.date)">\n\t\t\t<div class="article__meta-labels" v-if="catalog.article.labels">\n\t\t\t\t<a v-if="catalog.article.labels" :href="label.link" class="badge" :class="{\'badge--reflex\': label.link}" :style="{\'background-color\': label.color || null}"\n\t\t\t\t v-for="label in catalog.article.labels">{{label.text}}</a>\n\t\t\t</div>\n\t\t\t<time v-if="catalog.article.date && !pageMode" :datetime="catalog.article.date.datetime" class="article-poster__meta-date">{{catalog.article.date.text}}</time>\n\t\t</div>\n\n\t\t<div class="article__poster flc" v-if="catalog.article && catalog.article.image" :class="{\'article__poster--centered\': catalog.article.singleImage}">\n\t\t\t<img :src="catalog.article.image" alt="">\n\t\t</div>\n\n\t\t<div class="article__poster flc" v-if="catalog.article && catalog.article.videoLink">\n\t\t\t<div class="video-box">\n\t\t\t\t<iframe :src="catalog.article.videoLink" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="article__title flc fcc" v-if="catalog.article && catalog.article.title">\n\t\t\t<h2 v-show="!pageMode" class="article__title-text h2" itemprop="headline">{{catalog.article.title}}</h2>\n\t\t\t<div class="article__title-price" v-if="catalog.article.price">\n\t\t\t\t<div class="price-badge price-badge--lg">\n\t\t\t\t\t<svg class="svg-icon price-badge__icon">\n\t\t\t\t\t<use xlink:href="#svg-icon-marker"></use>\n\t\t\t\t\t</svg>\n\t\t\t\t\t<span class="price-badge__value">{{catalog.article.price}}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="article__params flc" v-if="catalog.article && catalog.article.params && c
1atalog.article.params.length">\n\t\t\t<div class="simple-params flc">\n\t\t\t\t<div class="simple-params__item" v-for="param in catalog.article.params">\n\t\t\t\t\t<span class="simple-params__key flc" v-if="param.key">{{param.key}}:</span>\n\t\t\t\t\t<span class="simple-params__value flc" v-if="param.value">{{param.value}}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="article__action flc" v-if="catalog.article && catalog.article.type == \'job\'">\n\t\t\t<div class="btn-grid">\n\t\t\t\t<button class="btn btn--primary" type="button" @click="openFormByAjaxID">\n\t\t\t\t\t{{ getMessage(\'RESPOND\') }} <svg class="btn__arrow-right btn__arrow-right--right svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t</button>\n\t\t\t\t<a v-if="catalog.article.questionnaire" :href="catalog.article.questionnaire" class="btn" download>\n\t\t\t\t\t{{ getMessage(\'DOWNLOAD_QUESTIONNAIRE\') }} <svg class="btn__download svg-icon"><use xlink:href="#svg-icon-download"></use></svg>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\n <div class="article__action flc" v-if="catalog.article && catalog.article.type == \'stock\' && catalog.article.remoteForm">\n <div class="btn-grid">\n <button v-if="catalog.article.remoteForm" class="btn btn--primary" type="button" @click="openFormByAjaxID">\n\t\t\t\t\t{{ getMessage(\'PARTICIPATE\') }} <svg class="btn__arrow-right btn__arrow-right--right svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n </button>\n </div>\n </div>\n\n\t\t<component v-if="catalog.article && catalog.article.component" :is="catalog.article.component.name"\n\t\t\t\t :remote-data-source="catalog.article.component.remoteDataSource || null"\n\t\t\t\t :static-data-source="catalog.article.component.staticDataSource || null"\n\t\t\t\t :bxajaxid="bxajaxid"></component>\n\n\t\t<v-lazy-component class="article__body flc text-guide" v-if="catalog.article && catalog.article.body" :key="catalog.article.id"\n\t\t\t\t\t\t itemprop="name">\n\t\t\t<div v-html="catalog.article.body"></div>\n\t\t</v-lazy-component>\n\n\n\t\t<div class="article__action flc" v-if="catalog.article && catalog.article.type == \'job\'">\n\t\t\t<div class="btn-grid">\n\t\t\t\t<button v-if="catalog.article.remoteForm" class="btn btn--primary" type="button" @click="openFormByAjaxID">\n\t\t\t\t\t{{ getMessage(\'RESPOND\') }} <svg class="btn__arrow-right btn__arrow-right--right svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t</button>\n\t\t\t\t<a v-if="catalog.article.questionnaire" :href="catalog.article.questionnaire" class="btn" download>\n\t\t\t\t\t{{ getMessage(\'DOWNLOAD_QUESTIONNAIRE\') }} <svg class="btn__download svg-icon"><use xlink:href="#svg-icon-download"></use></svg>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="article__action flc" v-if="catalog.article && catalog.article.type == \'stock\' && catalog.article.remoteForm">\n\t\t\t<div class="btn-grid">\n\t\t\t\t<button v-if="catalog.article.remoteForm" class="btn btn--primary" type="button" @click="openFormByAjaxID">\n\t\t\t\t\t{{ getMessage(\'PARTICIPATE\') }} <svg class="btn__arrow-right btn__arrow-right--right svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div v-else-if="catalog.linkToList && catalog.linkToListText" class="article__action flc">\n\t\t\t<div class="btn-grid">\n\t\t\t\t<a :href="catalog.linkToList" class="btn" @click="close">\n\t\t\t\t\t{{catalog.linkToListText || \'ÐеÑнÑÑÑÑÑ Ðº ÑпиÑкÑ\'}}\n\t\t\t\t\t<svg class="btn__arrow-right btn__arrow-right--right svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\n\n\t\t<div v-if="shareText" v-html=\'shareText\'></div> \n\n\t</article>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{catalog:{article:null,remote:null,linkToList:null},shareText:null,state:{filter:null},loading:!1,loadingMinTimeout:null}},props:{pageMode:{type:[Object,Boolean],default:!1},remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null}},methods:{navigate:function(t,e){this.pageMode||(e.preventDefault(),this.catalog.remote=t,this.loadCatalog())},loadCatalog:function(t){function e(){i&&(a.catalog=i.catalog,void 0!==i.shareText&&(a.shareText=i.shareText),a.pushState()),a.loadingMinTimeout=null,a.loading=!1,a.$emit("loaded")}var n,a=this,i=null,s=!1;a.loading||(a.loading=!0,t||(a.loadingMinTimeout=setTimeout(function(){s&&e(),a.loadingMinTimeout=null},300)),(n=_.clone(a.state)).filter&&n.filter.length||(n.filter=null),$.ajax({url:a.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:{state:n,bxajaxid:a.bxajaxid}}).done(function(t){console.log("v-article loaded",t),i=t}).fail(function(t){console.warn("v-article load failed",t)}).always(function(){s=!0,a.loadingMinTimeout&&!t||e()}))},pushState:function(){window.history.pushState({component:"v-article",state:this.state,catalog:this.catalog},"",this.catalog.article.remote||this.catalog.article.link)},close:function(t){this.pageMode||(t.preventDefault(),modalController.close())},openForm:function(){modalController.open({component:"v-rich-form",className:"modal--lg modal--form",remoteDataSource:this.catalog.article.remoteForm})},openFormByAjaxID:function(){var t=new Url(this.catalog.article.remoteForm).query.bxajaxid;modalController.open({component:"v-rich-form",className:"modal--lg modal--form",remoteDataSource:this.catalog.article.remoteForm,ownHistory:!1,bxajaxid:t,props:{frame:!0}})}},created:function(){var t=this;t.staticDataSource?(t.catalog=t.staticDataSource.catalog,void 0!==t.staticDataSource.shareText&&(t.shareText=t.staticDataSource.shareText),t.$emit("loaded"),console.log("v-article loaded from static data",t.catalog)):t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0)),window.addEventListener("popstate",t.handlePopState),t.staticDataSource&&t.pushState()},destroyed:function(){window.removeEventListener("popstate",this.handlePopState)}}),Vue.component("v-avatar-sc",{template:'\n\t<div class="v-avatar-sc avatar-sc">\n\t\t<form class="avatar-sc__form">\n\t\t\t<div class="form__row">\n\t\t\t\t<div class="form__col">\n\t\t\t\t\t<v-field\n\t\t\t\t\t\t:type="form.type"\n\t\t\t\t\t\t:note=\'form.note\'\n\t\t\t\t\t\t@input="loadForm"\n\t\t\t\t\t></v-field>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</form>\n\t</div>\n',data:function(){return{form:{remote:null,email:null,type:null,options:null},loading:!1,loadingMinTimeout:null,remote:null,localFormData:null}},props:{staticDataSource:{default:null},remoteDataSource:{default:null},bxajaxid:{default:null}},methods:{loadForm:function(t){function e(){if(a){if(n.form=a.form,a.success&&a.redirect)return window.location.href=a.redirect;if(a.success&&a.reload)return window.location.reload()}n.loadingMinTimeout=null,n.loading=!1,n.$emit("loaded")}var n=this,a=null,i=!1;n.loading||(n.loading=!0,t||(n.loadingMinTimeout=setTimeout(function(){i&&e(),n.loadingMinTimeout=null},300)),$.ajax({url:n.form.remote,method:"post",dataType:"json",data:n.localFormData,processData:!1,contentType:!1}).done(function(t){console.log("v-avatar-sc loaded",t),a=t}).fail(function(t){console.warn("v-avatar-sc load failed",t)}).always(function(){i=!0,n.loadingMinTimeout&&!t||e()}))}},created:function(){var t=this;t.staticDataSource?t.form=t.staticDataSource.form:t.remoteDataSource&&(t.form.remote=t.remoteDataSource,t.loadForm(!0)),t.localFormData=new FormData,t.localFormData.append("bxajaxid",t.bxajaxid)}}),Vue.component("v-basket-small",{template:'\n\t<div class="v-basket-small basket-btn"\n\t\t\t @click="goToOrder()">\n\t\t<svg class="basket-btn__icon svg-icon">\n\t\t\t<use xlink:href="#svg-icon-basket"></use>\n\t\t</svg>\n\t\t<div class="basket-btn__name">\n\t\t\t{{getMessage(\'BASKET\')}}\n\t\t</div>
1\n\t\t<div class="basket-btn__counter">\n\t\t\t{{basketCount}}\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{basket:{}}},props:{bxajaxid:{default:null},staticDataSource:{default:null},view:{default:"regular"}},methods:{goToOrder:function(){console.log("vm.basket.link",this.basket.link),window.location.href=this.basket.link}},computed:{basketCount:function(){return this.basket.items?this.basket.items.length:0}},created:function(){var t=this;t.staticDataSource&&(t.basket=Model.basket=t.staticDataSource.basket,Model.$on("basket-changed",function(){t.basket=Model.basket}))}}),Vue.component("v-basket",{template:'\n\t<div class="v-basket basket">\n\t\t<transition name="content-fade">\n\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t</transition>\n\t\t<div class="basket__container container">\n\n\t\t\t\x3c!--УÑпеÑ
--\x3e\n\t\t\t<template v-if="basket.success">\n\t\t\t\t<div class="basket__header">\n\t\t\t\t\t<h1 v-if="basket.successMessage" \n\t\t\t\t\t\t\tclass="basket__title" \n\t\t\t\t\t\t\tv-html="basket.successMessage">\n\t\t\t\t\t</h1>\n\t\t\t\t\t<div class="basket__link-back">\n\t\t\t\t\t\t<slot name="link-back"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="basket__wrap">\n\t\t\t\t\t<div class="basket__left">\n\t\t\t\t\t\t<v-product v-for="product in basket.items"\n\t\t\t\t\t\t template="basket-item-success"\n\t\t\t\t\t\t :product="product"\n\t\t\t\t\t\t class="product--basket-item"\n\t\t\t\t\t\t :key="product.id">\n\t\t\t\t\t\t</v-product>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="basket__right">\n\t\t\t\t\t\t<div class="basket__resume-wrap">\n\t\t\t\t\t\t\t<div class="basket__resume">\n\t\t\t\t\t\t\t\t<div class="basket__resume-header">\n\t\t\t\t\t\t\t\t\t<div class="basket__total">\n\t\t\t\t\t\t\t\t\t\t<span class="basket__total-text">{{getMessage(\'TOTAL\')}}:</span>\n\t\t\t\t\t\t\t\t\t\t<span class="basket__dots"></span>\n\t\t\t\t\t\t\t\t\t\t<span class="basket__total-price">\n\t\t\t\t\t\t\t\t\t\t\t<v-price v-if="basket && basket.resume && basket.resume.totalPrice" \n\t\t\t\t\t\t\t\t\t\t\t :price="basket.resume.totalPrice">\n\t\t\t\t\t\t\t\t\t\t\t</v-price>\n\t\t\t\t\t\t\t\t\t\t\t<v-price v-else \n\t\t\t\t\t\t\t\t\t\t\t :price="totalPrice">\n\t\t\t\t\t\t\t\t\t\t\t</v-price>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div v-if="basket && basket.items && basket.resume.productsCount" \n\t\t\t\t\t\t\t\t\t class="basket__product-counter">\n\t\t\t\t\t\t\t\t\t\t{{basket.resume.productsCount}} {{pluralize(basket.resume.productsCount, \'\', [getMessage(\'ONE_PRODUCT\'), getMessage(\'TWO_PRODUCT\'), getMessage(\'MORE_PRODUCT\')])}}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div v-if="basket.resume.totalInfo" class="form-info form-info--alt">\n\t\t\t\t\t\t\t\t\t<div class="form-info__main">\n\t\t\t\t\t\t\t\t\t\t<div v-for="item in basket.resume.totalInfo" class="form-info__item flc">\n\t\t\t\t\t\t\t\t\t\t\t<h5 class="form-info__name">{{item.name}}</h5>\n\t\t\t\t\t\t\t\t\t\t\t<p class="form-info__descr">{{item.text}}</p>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="basket__resume-footer">\n\t\t\t\t\t\t\t\t\t<button v-if="basket.printLink"\n\t\t\t\t\t\t\t\t\t @click.prevent="openNewWindow(basket.printLink, \'\', basket.printFeatures)" \n\t\t\t\t\t\t\t\t\t class="basket__btn btn btn--secondary btn--secondary-alt" \n\t\t\t\t\t\t\t\t\t type="button">\n\t\t\t\t\t\t\t\t\t\t{{getMessage(\'PRINT_ORDER\')}}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t\x3c!--ÐÑоÑмление заказа--\x3e\n\t\t\t<template v-else-if="basket.step > 0 && basket.items && basket.items.length > 0">\n\t\t\t\t<div class="basket__header">\n\t\t\t\t\t<h1 class="basket__title" v-if="basket.title">\n\t\t\t\t\t\t{{basket.title}}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<div class="basket__link-back">\n\t\t\t\t\t\t<slot name="link-back"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<header class="section-header section-header--border flc">\n\t\t\t\t\t<div class="section-header__aside section-header__aside--ml0">\n\t\t\t\t\t\t<div class="tab-labels">\n\t\t\t\t\t\t\t<div class="tab-labels__row">\n\t\t\t\t\t\t\t\t<div v-for="stepdata in basket.steps"\n\t\t\t\t\t\t\t\t @click="changeStep(stepdata.number)"\n\t\t\t\t\t\t\t\t class="tab-labels__item" \n\t\t\t\t\t\t\t\t :class="{\'hidden\': stepdata.code === \'list\'}">\n\t\t\t\t\t\t\t\t\t<button type="button" \n\t\t\t\t\t\t\t\t\t class="tab-labels__btn" \n\t\t\t\t\t\t\t\t\t :class="{\'open\': stepdata.current}">\n\t\t\t\t\t\t\t\t\t\t{{stepdata.title}}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</header>\n\t\t\t\t<div class="basket__wrap">\n\t\t\t\t\t<div class="basket__left">\n\t\t\t\t\t\t<div v-if="getCurrentForm && getCurrentForm.formInfo" \n\t\t\t\t\t\t v-html="getCurrentForm.formInfo" \n\t\t\t\t\t\t class="basket__form-info">\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if="getCurrentForm" class="basket__form rich-form flc">\n\t\t\t\t\t\t\t<div class="rich-form__main">\n\t\t\t\t\t\t\t\t<div class="rich-form__form form flc">\n\t\t\t\t\t\t\t\t\t<div class="rich-form__groups flc">\n\t\t\t\t\t\t\t\t\t\t<div v-for="group in getCurrentForm.groups" \n\t\t\t\t\t\t\t\t\t\t class="rich-form__group flc">\n\t\t\t\t\t\t\t\t\t\t\t<h4 v-if="group.title" \n\t\t\t\t\t\t\t\t\t\t\t class="form__group-title h4 flc">\n\t\t\t\t\t\t\t\t\t\t\t\t{{group.title}}\n\t\t\t\t\t\t\t\t\t\t\t</h4>\n\t\t\t\t\t\t\t\t\t\t\t<div class="rich-form__group-body" \n\t\t\t\t\t\t\t\t\t\t\t :class="{\'ric
1h-form__group-body--background\': group.background}">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="rich-form__group-body-layout">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="form__row flc" \n\t\t\t\t\t\t\t\t\t\t\t\t\t :style="{\'width\': field.width ? field.width : null}"\n\t\t\t\t\t\t\t\t\t\t\t\t\t v-for="(field, fieldIndex) in getCurrentForm.fields"\n\t\t\t\t\t\t\t\t\t\t\t\t\t v-if="group.id === field.groupId"\n\t\t\t\t\t\t\t\t\t\t\t\t\t :key="fieldIndex">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="form__col">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-field\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:extendable="field.extendable || false"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:extend-limit="field.extendLimit || 5"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:extend-text="field.extendText || \'ÐобавиÑÑ\'"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:type="field.type"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:options="field.options"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled="field.disabled"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled-dates="field.disabledDates"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:label="field.label"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:integrated-label="true"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:error="getFieldError(field)"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:note="field.note"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:description="field.description"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:mask="field.mask"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:files="field.files"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:simple="field.simple"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-model="field.value"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:required="field.required"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@input="checkForSubmit(field, $event)">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</v-field>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-if="getCurrentForm.requireConfirm"\n\t\t\t\t\t\t\t\t\t\t class="form__confirm form__confirm--mt35 flc">\n\t\t\t\t\t\t\t\t\t\t\t<v-field type="checkbox"\n\t\t\t\t\t\t\t\t\t\t\t v-model="confirmed"\n\t\t\t\t\t\t\t\t\t\t\t :label="getCurrentForm.confirmText">\n\t\t\t\t\t\t\t\t\t\t\t</v-field>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-if="getCurrentForm.submitBtnText"\n\t\t\t\t\t\t\t\t\t\t class="form__action form__action--mt20">\n\t\t\t\t\t\t\t\t\t\t\t<div class="form__action-grid">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="form__action-item">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<button @click="submitFormStep(true)"\n\t\t\t\t\t\t\t\t\t\t\t\t\t type="button"\n\t\t\t\t\t\t\t\t\t\t\t\t\t class="btn btn--primary"\n\t\t\t\t\t\t\t\t\t\t\t\t\t :disabled="getCurrentForm.requireConfirm && !confirmed">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{currentStep.nextButton}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="btn__arrow-right btn__arrow-right--right svg-icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="basket__right">\n\t\t\t\t\t\t<div class="basket__resume-wrap">\n\t\t\t\t\t\t\t<div class="basket__resume">\n\t\t\t\t\t\t\t\t<div class="basket__resume-header">\n\t\t\t\t\t\t\t\t\t<div class="basket__total">\n\t\t\t\t\t\t\t\t\t\t<span class="basket__total-text">{{getMessage(\'TOTAL\')}}:</span>\n\t\t\t\t\t\t\t\t\t\t<span class="basket__dots"></span>\n\t\t\t\t\t\t\t\t\t\t<span class="basket__total-price">\n\t\t\t\t\t\t\t\t\t\t<v-price v-if="basket && basket.resume && basket.resume.totalPrice" :price="basket.resume.totalPrice"></v-price>\n\t\t\t\t\t\t\t\t\t\t<v-price v-else :price="totalPrice"></v-price>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div v-if="basket && basket.items" class="basket__product-counter">\n\t\t\t\t\t\t\t\t\t\t{{basket.items.length}} {{pluralize(basket.items.length, \'\', [getMessage(\'ONE_PRODUCT\'), getMessage(\'TWO_PRODUCT\'), getMessage(\'MORE_PRODUCT\')])}}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="basket__resume-footer">\n\t\t\t\t\t\t\t\t\t<button @click="changeStep(1)" class="basket__bt
1n btn btn--secondary btn--secondary-alt" type="button">\n\t\t\t\t\t\t\t\t\t\t<svg class="btn__arrow-right btn__arrow-right--left svg-icon">\n\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-left"></use>\n\t\t\t\t\t\t\t\t\t\t</svg>{{getMessage(\'CHANGE_ORDER\')}}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="basket__attention-block">\n\t\t\t\t\t\t\t\t<slot name="attention-block-2"></slot>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t\x3c!--СпоÑок ÑоваÑов--\x3e\n\t\t\t<template v-else-if="basket.items && basket.items.length > 0">\n\t\t\t\t<div class="basket__header">\n\t\t\t\t\t<h1 class="basket__title" v-if="basket.title">\n\t\t\t\t\t\t{{basket.title}}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<div class="basket__link-back">\n\t\t\t\t\t\t<slot name="link-back"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="basket__attention-block">\n\t\t\t\t\t<slot name="attention-block"></slot>\n\t\t\t\t</div>\n\t\t\t\t<div class="basket__wrap">\n\t\t\t\t\t<div class="basket__left">\n\t\t\t\t\t\t<v-product v-for="product in basket.items"\n\t\t\t\t\t\t template="basket-item"\n\t\t\t\t\t\t :product="product"\n\t\t\t\t\t\t @changeCounter="changeCounter"\n\t\t\t\t\t\t @remove="removeProductFromBasket"\n\t\t\t\t\t\t :key="product.id">\n\t\t\t\t\t\t</v-product>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="basket__right">\n\t\t\t\t\t\t<div class="basket__resume-wrap">\n\t\t\t\t\t\t\t<div class="basket__resume">\n\t\t\t\t\t\t\t\t<div class="basket__resume-header">\n\t\t\t\t\t\t\t\t\t<div class="basket__total">\n\t\t\t\t\t\t\t\t\t\t<span class="basket__total-text">{{getMessage(\'TOTAL\')}}:</span>\n\t\t\t\t\t\t\t\t\t\t<span class="basket__dots"></span>\n\t\t\t\t\t\t\t\t\t\t<span class="basket__total-price">\n\t\t\t\t\t\t\t\t\t\t\t<v-price v-if="basket && basket.resume && basket.resume.totalPrice" :price="basket.resume.totalPrice"></v-price>\n\t\t\t\t\t\t\t\t\t\t\t<v-price v-else :price="totalPrice"></v-price>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div v-if="basket && basket.items" class="basket__product-counter">\n\t\t\t\t\t\t\t\t\t\t{{basket.items.length}} {{pluralize(basket.items.length, \'\', [getMessage(\'ONE_PRODUCT\'), getMessage(\'TWO_PRODUCT\'), getMessage(\'MORE_PRODUCT\')])}}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="basket__resume-footer">\n\t\t\t\t\t\t\t\t\t<button @click="changeStep(1)" class="basket__btn btn btn--primary" type="button">\n\t\t\t\t\t\t\t\t\t\t{{getMessage(\'PROCEED_TO_CHECKOUT\')}}\n\t\t\t\t\t\t\t\t\t\t<svg class="btn__arrow-right btn__arrow-right--right svg-icon">\n\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<button class="basket__reset btn btn--sm" @click="clearBasket">\n\t\t\t\t\t\t\t\t<svg class="btn__close btn__close--left svg-icon">\n\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-lite-close"></use>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t {{getMessage(\'EMPTY_BASKET\')}}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t\x3c!--ÐÑÑÑÐ°Ñ ÐºÐ¾Ñзина--\x3e\n\t\t\t<template v-else>\n\t\t\t\t<div v-if="basket.emptyMessage" \n\t\t\t\t class="basket__message" \n\t\t\t\t v-html="basket.emptyMessage">\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{basket:{},state:{},loading:!1,loadingMinTimeout:null,currentBasketItems:[],counterTimeout:null,totalPrice:{new:{single:!0,value:0,currency:"ÑÑб."}},confirmed:!1}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null},mode:{type:String,default:"basket"}},watch:{},computed:{currentStep:function(){return _.find(this.basket.steps,{number:this.basket.step})},getCurrentForm:function(){return this.basket.forms[this.currentStep.code]||[]}},methods:{openNewWindow:function(t,e,n){window.open(t,e,n)},changeCounter:function(t){var e,n=this;!t.value[0]||(e=_.find(this.basket.items,{id:t.id}))&&e.count==t.value[0]||(clearTimeout(this.counterTimeout),this.counterTimeout=setTimeout(function(){n.loading=!0,Model.basketAdd({items:[t.id],count:t.value[0],setValue:1})},1500))},clearBasket:function(){Model.basketClear()},removeProductFromBasket:function(t){Model.basketRemove({items:[t]})},checkBasketState:function(t){this.basket.success||this.basket.checksum!=t.checksum&&this.loadBasket({forceLoad:!0})},loadBasket:function(){function t(){i&&(a.basket=i.basket),a.loadingMinTimeout=null,a.loading=!1,a.$forceUpdate()}var e,n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},a=this,i=null,s=!1;a.loading&&!n.forceLoad||(a.loading=!0,n.fast||(a.loadingMinTimeout=setTimeout(function(){s&&t(),a.loadingMinTimeout=null},300)),e=_.clone(a.state),$.ajax({url:a.basket.remote,method:"post",dataType:"json",data:{action:n.action||"load",state:e,bxajaxid:a.bxajaxid}}).done(function(t){console.log("v-basket: loaded",t),i=t}).fail(function(t){console.warn("v-basket: load failed",t)}).always(function(){s=!0,a.loadingMinTimeout&&!n.fast||(t(),a.currentBasketItems=[],_.each(a.basket.items,function(t){a.currentBasketItems.push({id:t.id})}))}))},submitFormStep:function(e){var n,t=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1],a=this;a.loading||(console.log("submit form step",a.currentStep.code,e),a.loading=1,(n=[]).push({name:"bxajaxid",value:a.bxajaxid}),n.push({name:"STEP",value:e?a.currentStep.number+1:a.basket.step}),n.push({name:"COMMENT",value:a.basket.comment}),n.push({name:"AUTOSUBMIT",value:t}),_.each(a.basket.steps,function(t,e){_.each(a.basket.forms[e].fields,function(t){n.push({name:t.name,value:t.value})})}),$.post({url:a.basket.remote,data:n,dataType:"json"}).done(function(t){return t.basket.resume.reload?void(window.location=t.basket.resume.reload):(a.loading=0,a.basket=t.basket,void(e||(a.basket.errors.fields=[])))}).fail(function(){a.loading=0,console.log("basket submit fail")}))},checkForSubmit:function(t){t.autosubmit&&(console.log("autosubmit"),this.submitFormStep(!1,!0)),t.id==this.currentStep.submitField&&this.submitFormStep()},getFieldError:function(t){return this.basket.errors.fields[t.id]||null},changeStep:function(t){var e=this;t<e.basket.step&&(e.basket.step=t,e.submitFormStep()),t>e.basket.step&&e.submitFormStep(!0)}},created:function(){var e=this;e.staticDataSource?e.basket=e.staticDataSource.basket:e.remoteDataSource&&(e.basket.remote=e.remoteDataSource,e.loadBasket()),e.empty?e.loading=!1:(Model.$on("basket-changed",e.checkBasketState),e.currentBasketItems=[],_.each(e.basket.items,function(t){e.currentBasketItems.push({id:t.id})}))}}),Vue.component("v-big-gallery",{template:'\n\t<div class="v-big-gallery big-gallery">\n\t\t<div class="big-gallery__view">\n\t\t\t<v-slick ref="view" class="big-gallery__view-slider slick-default-arrows" @beforeChange="viewSlide" @init="initSliderView" :options="sliderOptions">\n\t\t\t\t<div class="big-gallery__view-item" v-for="(image, index) in localImages" :key="index">\n\t\t\t\t\t<div class="big-gallery__view-image"\n\t\t\t\t\t\t\t :class="{\'big-gallery__view-image--can-zoom\': image.srcFull}"\n\t\t\t\t\t\t\t @click="activateZoom($event, image)">\n\t\t\t\t\t\t<img class="big-gallery__view-picture" :class="{\'big-gallery__view-picture--hidden\': isDragActive}" :data-lazy="image.srcFull || image.src || image.srcPoster" :alt="alt">\n\t\t\t\t\t\t<div v-if="image.srcFull" class="big-gallery__lens" :class="{\'open\': isDragActive}">\n\t\t\t\t\t\t\t<img class="big-gallery__lens-image" :src="image.srcFull" alt="" @dragstart="() => false" @pointerdown="onThumbDown">\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="big-gallery__view-item" v-for="(image, index) in localImages360">\n\t\t\t\t\t<div class="big-gallery__view-image">\n\t\t\t\t\t\t<v-image-360 :images="image"></v-image-360>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="big-gallery__view-item" v-for="(image, index) in localVideos">\n\t\t\t\t\t<div class="big-gallery__view-image">\n\t\t\t\t\t\t<div class="big-gallery__view-video-box">\n\t\t\t\t\t\t\t<iframe :src="image.src" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</v-slick>\n\t\t</div>\n\t\t<div class="big-gallery__thumbs" :class="{\'big-gallery__thumbs--no-slider\': touchMode || tabletMode}" v-if="(localImages.length + localImages360.length + localVideos.length)>1">\n\t\t\t <v-slick ref="thumbs" class="big-gallery__thumbs-slider slick-default-arrows"\n\t\t\t\t @init="initSliderThumbs" :options="thumbsOptions" :slider-mode="!touchMode && !tabletMode">\n\t\t\t\t<div class="big-gallery__thumbs-slide" v-for="(image, index) in localImages">\n\t\t\t\t\t<div class="big-gallery__thumbs-item" :class="{\'big-gallery__thumbs-item--active\': activeIndex == index}"\n\t\t\t\t\t\t @click="activateSlide(index)">\n\t\t\t\t\t\t <img :src="image.srcPoster || image.src || image.srcFull" :alt="alt">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="big-gallery__thumbs-slide" v-for="(image, index) in localImages360">\n\t\t\t\t\t<div class="big-gallery__thumbs-item" :class="{\'big-gallery__thumbs-item--active\': activeIndex == index}"\n\t\t\t\t\t\t @click="activateSlide(index + localImages ? localImages.length : 0)">\n\t\t\t\t\t\t<svg class="svg-icon big-gallery__thumbs-360-icon">\n\t\t\t\t\t\t\t<use xlink:href="#svg-icon-360"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="big-gallery__thumbs-slide" v-for="(image, index) in localVideos">\n\t\t\t\t\t<div class="big-gallery__thumbs-item" :class="{\'big-gallery__thumbs-item--active\': activeIndex == index}"\n\t\t\t\t\t\t :style="{\'background-image\': \'url(\'+image.srcPoster+\')\'}"\n\t\t\t\t\t\t @click="activateSlide(index + (localImages ? localImages.length : 0) + (localImages360 ? localImages360.length : 0))">\n\t\t\t\t\t\t <svg class="svg-icon big-gallery__thumbs-video-icon"><use xlink:href="#svg-icon-video-btn"></use></svg>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</v-slick>\n\t\t</div>\n\t</div>\n',data:function(){return{touchMode:View.mobileAndTabletCheck,sliderOptions:{draggable:!1,initialIndex:this.localInitialIndex,infinite:!1,arrows:!0,responsive:[{breakpoint:View.breakpoints["xs-max"],settings:{arrows:!0,dots:!1}}]},thumbsOptions:{initialIndex:this.localInitialIndex,slidesToShow:10,slidesToScroll:4,infinite:!1,arrows:!0,responsive:[{breakpoint:View.breakpoints["sm-max"],settings:"unslick"}]},alt:"",activeIndex:0,localImages:null,localInitialIndex:0,shiftX:0,shiftY:0,viewImage:null,lens:null,lensImage:null,mouseDownCoordX:null,mouseDownCoordY:null,isDragActive:!1}},props:{images:{default:null},full:{default:!0},staticDataSource:{default:null},initialIndex:{default:0},title:{default:null},titleSub:{default:null},titleBottom:{default:null}},watch:{images:function(){this.localImages=this.images},images360:function(){this.localImages360=this.images360},videos:function(){this.localVideos=this.videos},initialIndex:function(){this.localInitialIndex=this.initialIndex}},methods:{activateZoom:function(t){this.isDragActive||View.mobileAndTabletCheck||(this.isDragActive=!0,this.viewImage=t.currentTarget,this.lens=t.currentTarget.querySelector(".big-gallery__lens"),this.lensImage=t.currentTarget.querySelector(".big-gallery__lens-image"),this.lensImage.style.top=this.lens.offsetHeight/2-this.lensImage.offsetHeight/2+"px",this.lensImage.style.left=this.lens.offsetWidth/2-this.lensImage.offsetWidth/2+"px")},deactivateZoom:function(){var t=this;this.lensImage.style.top=this.lens.offsetHeight/2-this.lensImage.offsetHeight/2+"px",this.lensImage.style.left=this.lens.offsetWidth/2-this.lensImage.offsetWidth/2+"px",this.shiftX=0,this.shiftY=0,this.viewImage=null,this.lens=null,this.lensImage=null,setTimeout(function(){t.isDragActive=!1},200)},onThumbDown:function(t){var i=this,s=t.clientX,l=t.clientY;t.preventDefault(),this.shiftY=t.clientY-this.lensImage.getBoundingClientRect().top,this.shiftX=t.clientX-this.lensImage.getBoundingClientRect().left,this.lensImage.setPointerCapture(t.pointerId),this.lensImage.on
1pointermove=this.onThumbMove,this.lensImage.onpointerup=function(t){var e=Math.abs,n=(i.lensImage.onpointermove=null,i.lensImage.onpointerup=null,t.clientX),a=t.clientY;e(s-n)<=10&&e(l-a)<=10&&i.deactivateZoom(t)}},onThumbMove:function(t){var e=t.clientY-this.shiftY-this.lens.getBoundingClientRect().top,t=t.clientX-this.shiftX-this.lens.getBoundingClientRect().left,n=this.lens.offsetWidth-this.lensImage.offsetWidth,n=(n<(t=t<0?0:t)&&(t=n),this.lens.offsetHeight-this.lensImage.offsetHeight);this.lensImage.style.top=(e=(e=0<e?0:e)<n?n:e)+"px",this.lensImage.style.left=t+"px"},viewSlide:function(t,e,n,a){this.activeIndex=a,this.isDragActive&&this.deactivateZoom()},activateSlide:function(t){this.$refs.view.goTo(t,!0)},initSliderView:function(){var t=this;Vue.nextTick(function(){t.$refs.view&&(t.$refs.view.setPosition(),t.$refs.view.goTo(t.localInitialIndex,!0))})},initSliderThumbs:function(){var t=this;Vue.nextTick(function(){t.$refs.thumbs&&t.$refs.thumbs.setPosition()})},handleResize:function(){this.tabletMode=window.innerWidth<=View.breakpoints["sm-max"],this.$forceUpdate()}},created:function(){var t=this;t.staticDataSource?(t.alt=t.staticDataSource.alt,t.localImages=t.staticDataSource.images||t.images||[],t.localImages360=t.staticDataSource.images360||t.images360||[],t.localVideos=t.staticDataSource.videos||t.videos||[],t.localInitialIndex=t.staticDataSource.initialIndex):(t.localImages=t.images,t.localImages360=t.images360||[],t.localVideos=t.videos||[],t.localInitialIndex=t.initialIndex||[]),t.handleResize(),window.addEventListener("resize",t.handleResize)},destroyed:function(){window.removeEventListener("resize",this.handleResize)}}),Vue.component("v-catalog-compare",{template:'\n\t<div class="v-catalog-compare catalog catalog--compare" :class="{\'catalog--initialized\': initialized, \'catalog-compare--head-fixed\': headFixed}">\n\t\t\n\t\t<transition name="content-fade">\n\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t</transition>\n\n\t\t<div class="catalog__compare">\n\t\t\t<div class="section-header flc fcc">\n\t\t\t\t<div class="section-header__main">\n\t\t\t\t\t<h1 class="section-header__title h1--small flc">{{ getMessage(\'COMPARE\') }}</h1>\n\t\t\t\t</div>\n\t\t\t\t<div class="section-header__aside" v-if="sections">\n\t\t\t\t\t<div class="tab-labels">\n\t\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t<div class="tab-labels__row">\n\t\t\t\t\t\t\t<div class="tab-labels__item" v-for="section in sections">\n\t\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': section.id == activeSectionId}" \n\t\t\t\t\t\t\t\t\t\t@click="activeSectionId = section.id; currentSlide = 0; recalcParams(); handleResize();">{{section.text}} ({{section.count}})</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\n\n\t\t\t<div class="catalog-compare__empty-message" v-if="!catalog.items || !catalog.items.length">\n\t\t\t\t{{ getMessage(\'EMPTY_COMPARE\') }}\n\t\t\t</div>\n\n\n\t\t\t<div class="catalog-compare__head catalog-compare__head--nav" ref="headNav" @scroll="headScroll" v-if="catalog.items && catalog.items.length">\n\t\t\t\t<div class="container">\n\t\t\t\t\t<div class="catalog-compare__head-layout">\n\t\t\t\t\t\t<div class="catalog-compare__head-aside">\n\t\t\t\t\t\t\t<div class="catalog-compare__head-clear">\n\t\t\t\t\t\t\t\t<button class="btn btn--sm" @click="reset()">\n\t\t\t\t\t\t\t\t\t<svg class="btn__close btn__close--left svg-icon"><use xlink:href="#svg-icon-lite-close"></use></svg> \n\t\t\t\t\t\t\t\t\t {{ getMessage(\'CLEAR\') }} <span class="hidden-2xs">{{ getMessage(\'CLEAR_COMPARE\') }}</span>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="catalog-compare__head-mod">\n\t\t\t\t\t\t\t\t<v-field type="checkbox" :label="getMessage(\'HIDE_EQUALS\')" v-model="excludeSimilar" small @input="recalcParams"></v-field>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="catalog-compare__head-main" @touchstart="dragStart" @touchend="dragEnd" @touchmove="dragMove">\n\t\t\t\t\t\t\t<button type="button" class="catalog-compare__head-arrow catalog-compare__head-arrow--prev" @click="slideItems
1Back"\n\t\t\t\t\t\t\t\t\t:class="{disabled: isPrevArrowDisabled()}">\n\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-lg-chevron-left"></use></svg>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button type="button" class="catalog-compare__head-arrow catalog-compare__head-arrow--next" @click="slideItemsForward"\n\t\t\t\t\t\t\t\t\t:class="{disabled: isNextArrowDisabled()}">\n\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-lg-chevron-right"></use></svg>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<div class="catalog-compare__head-items" v-if="catalog.items">\n\t\t\t\t\t\t\t\t<div class="catalog-compare__head-items-grid" \n\t\t\t\t\t\t\t\t\t\t:style="{\'transform\': \'translate3d(\'+currentSlideOffset+\',0,0) translateX(\'+dragOffset+\'px)\', \'transition\': computedTransition}">\n\t\t\t\t\t\t\t\t\t<div class="catalog-compare__head-item" v-for="item in catalog.items" v-if="activeSectionId == item.sectionId">\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t<div class="compare-product">\n\t\t\t\t\t\t\t\t\t\t\t<a :href="item.link" class="compare-product__link"></a>\n\t\t\t\t\t\t\t\t\t\t\t<div class="compare-product__image">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="compare-product__image-box" v-for="image, index in item.images" v-if="index == 0">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img :class="{\'compare-product__image-box-cover\': image.cover}" :src="image.src" alt="">\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="compare-product__main">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="compare-product__meta flc" v-if="item.sku || item.series">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{item.sku}} <template v-if="item.sku && item.series"> / </template> <template v-if="item.series">{{ getMessage(\'SERIES\') }} {{item.series}}</template>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="compare-product__remove">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-compare-btn :product-id="item.id" template="icon"></v-compare-btn>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\n\n\t\t\t<div class="catalog__compare-body flc" v-if="catalog.items && catalog.items.length">\n\t\t\t\t<div class="catalog-compare flc" @scroll="tableScroll" ref="scrollContainer">\n\t\t\t\t\t<div class="catalog-compare__head" :style="{\'width\': computedWidth}">\n\t\t\t\t\t\t<div class="catalog-compare__head-layout">\n\t\t\t\t\t\t\t<div class="catalog-compare__head-aside">\n\t\t\t\t\t\t\t\t<div class="catalog-compare__head-clear">\n\t\t\t\t\t\t\t\t\t<button class="btn btn--sm" @click="reset()">\n\t\t\t\t\t\t\t\t\t\t<svg class="btn__close btn__close--left svg-icon"><use xlink:href="#svg-icon-lite-close"></use></svg> \n\t\t\t\t\t\t\t\t\t\t {{ getMessage(\'CLEAR\') }} <span class="hidden-2xs">{{ getMessage(\'CLEAR_COMPARE\') }}</span>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="catalog-compare__head-mod">\n\t\t\t\t\t\t\t\t\t<v-field type="checkbox" :label="getMessage(\'HIDE_EQUALS\')" v-model="excludeSimilar" small @input="recalcParams"></v-field>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="catalog-compare__head-main" @touchstart="dragStart" @touchend="dragEnd" @touchmove="dragMove">\n\t\t\t\t\t\t\t\t<button type="button" class="catalog-compare__head-arrow catalog-compare__head-arrow--prev" @click="slideItemsBack"\n\t\t\t\t\t\t\t\t\t\t:class="{disabled: isPrevArrowDisabled()}">\n\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-lg-chevron-left"></use></svg>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<button type="button" class="catalog-compare__head-arrow catalog-compare__head-arrow--next" @click="slideItemsForward"\n\t\t\t\t\t\t\t\t\t\t:class="{disabled: isNextArrowDisabled()}">\n\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-lg-chevron-right"></use></svg>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<div class="catalog-compare__head-items" v-if="catalog.items">\n\t\t\t\t\t\t\t\t\t<div class="catalog-compare__head-items-grid" \n\t\t\t\t\t\t\t\t\t\t\t:style="{\'transform\': \'translate3d(\'+currentSlideOffset+\',0,0) translateX(\'+dragOffset+\'px)\', \'transition\': computedTransition}">\n\t\t\t\t\t\t\t\t\t\t<div class="catalog-compare__head-item" v-for="item in catalog.items" v-if="activeSectionId == item.sectionId">\n\t\t\t\t\t\t\t\t\t\t\t<v-product template="grid-compare" :product="item" :folded="headFixed"></v-product>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t<div class="catalog-compare__head-placeholder" ref="headPlaceholder"></div>\n\n\t\t\t\t\t<div class="catalog-compare__body" ref="compareBody" @touchstart="dragStart" @touchend="dragEnd" @touchmove="dragMove" :style="{\'width\': computedWidth}">\n\t\t\t\t\t\t<div class="catalog-compare__body-group" v-for="paramGroup in paramGroups" :class="{\'open\': paramGroup.open}">\n\t\t\t\t\t\t\t<div class="catalog-compare__body-group-header" @click="paramGroup.open = !paramGroup.open">\n\t\t\t\t\t\t\t\t<div class="catalog-compare__body-group-header-icon"></div>\n\t\t\t\t\t\t\t\t<h4 class="catalog-compare__body-group-header-title">{{paramGroup.title}}</h4>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t\t\t<div class="catalog-compare__table" v-if="paramGroup.open">\n\t\t\t\t\t\t\t\t\t<div class="catalog-compare__table-row" v-for="param in paramGroup.params">\n\t\t\t\t\t\t\t\t\t\t<div class="catalog-compare__table-aside">\n\t\t\t\t\t\t\t\t\t\t\t{{param.title}}<span class="inline-tooltip-wrap" v-if="param.tip" aria-label="ÐодÑказка"> <span class="inline-tooltip dropdown-owner js-dropdown"><span class="inline-tooltip__btn js-dropdown__btn"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__body dropdown js-dropdown__body js-tooltip-position">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{param.tip}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="catalog-compare__table-main">\n\t\t\t\t\t\t\t\t\t\t\t<div class="catalog-compare__table-main-grid" \n\t\t\t\t\t\t\t\t\t\t\t\t\t:style="{\'transform\': \'translate3d(\'+currentSlideOffset+\',0,0) translateX(\'+dragOffset+\'px)\', \'transition\': computedTransition}">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="catalog-compare__table-main-cell" v-for="value in param.values">{{value ? value.text : \'-\'}}</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="catalog__recently-viewed flc" v-if="$slots[\'recently-viewed\']">\n\t\t\t<slot name="recently-viewed"></slot>\n\t\t</div>\n\n\t\t<div class="catalog__note flc" v-if="$slots[\'note\']">\n\t\t\t<div class="catalog__note-container">\n\t\t\t\t<slot name="note"></slot>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{catalog:{items:null,remote:null},loading:!1,loadingMinTimeout:null,initialized:!1,activeSectionId:null,paramGroups:null,currentSlide:0,slidesToShow:void 0,headFixed:!1,excludeSimilar:!1,dragOn:!1,dragStartPosition:void 0,dragOffsetReal:0,dragOffset:0,computedTransition:"none",computedWidth:"auto",widthOfItem:void 0}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null}},computed:{sections:function(){var n;return this.catalog&&this.catalog.items&&this.catalog.items.length?(n=[],_.each(this.catalog.items,function(t){var e=_.find(n,{id:t.sectionId});e?e.count++:n.push({id:t.sectionId,text:t.sectionName,count:1})}),n):null},currentSlideOffset:function(){return 100*-this.currentSlide/this.slidesToShow+"%"},itemsCount:function(){var n=this;return _.reduce(this.catalog.items,function(t,e){return e.sectionId==n.activeSectionId?t+1:t},0)}},methods:{slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)}
1,slideItemsBack:function(){this.isPrevArrowDisabled()||this.currentSlide--,this.computedTransition=".3s"},slideItemsForward:function(){this.isNextArrowDisabled()||this.currentSlide++,this.computedTransition=".3s"},isPrevArrowDisabled:function(){return 0==this.currentSlide},isNextArrowDisabled:function(){return this.currentSlide+this.slidesToShow>=this.itemsCount},dragStart:function(t){window.innerWidth<=View.breakpoints["2xs-max"]||(this.dragOn=!0,this.dragStartPosition=t.touches[0].pageX,this.computedTransition="none",this.widthOfItem=this.$el.querySelector(".catalog-compare__head-item").offsetWidth)},dragEnd:function(){window.innerWidth<=View.breakpoints["2xs-max"]||(this.dragOn=!1,this.computedTransition=".3s",this.currentSlide=Math.round((this.widthOfItem*this.currentSlide-this.dragOffset)/this.widthOfItem),this.currentSlide+this.slidesToShow>=this.itemsCount&&(this.currentSlide=this.itemsCount-this.slidesToShow),this.currentSlide<0&&(this.currentSlide=0),this.dragOffset=0)},dragMove:function(t){this.dragOn&&(this.dragOffsetReal=t.touches[0].pageX-this.dragStartPosition,this.dragOffset=this.widthOfItem*this.currentSlide-this.dragOffsetReal<0?this.widthOfItem*this.currentSlide:this.dragOffsetReal)},loadCatalog:function(t,e){function n(){i&&(a.catalog=i.catalog,a.recalcParams()),e||a.pushState(),a.loadingMinTimeout=null,a.loading=!1}var a=this,i=null,s=!1;a.loading||(a.loading=!0,t||(a.loadingMinTimeout=setTimeout(function(){s&&n(),a.loadingMinTimeout=null},300)),_.clone(a.state),$.ajax({url:a.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:{state:{items:Model.compare.items},bxajaxid:a.bxajaxid}}).done(function(t){console.log("v-catalog-compare loaded",t),i=t}).fail(function(t){console.warn("v-catalog-compare load failed",t)}).always(function(){s=!0,a.loadingMinTimeout&&!t||n()}))},recalcParams:function(){var n,s=this;this.catalog&&this.catalog.items&&this.catalog.items.length?(!this.sections.length||this.activeSectionId&&_.find(this.sections,{id:this.activeSectionId})||(this.activeSectionId=this.sections[0].id),n={},_.each(this.catalog.items,function(t){t.sectionId==s.activeSectionId&&_.each(t.params,function(e){n[e.id]||(n[e.id]={id:e.id,title:e.title,open:!0,params:{}}),_.each(e.params,function(t){n[e.id].params[t.id]||(n[e.id].params[t.id]={id:t.id,title:t.title,tip:t.tip||null,values:[]})})})}),_.each(n,function(n){_.each(n.params,function(e){_.each(s.catalog.items,function(t){t.sectionId==s.activeSectionId&&(t=(t=_.find(t.params,{id:n.id}))?_.find(t.params,{id:e.id}):null,e.values.push(t))})})}),this.excludeSimilar&&(n=_.filter(n,function(i){return i.params=_.filter(i.params,function(e){var n,a=!1;return _.each(s.catalog.items,function(t){t.sectionId==s.activeSectionId&&i&&e&&(t=(t=_.find(t.params,{id:i.id}))?_.find(t.params,{id:e.id}):null,void 0===n?n=t:t&&n.text==t.text||(a=!0))}),a}),i&&i.params.length})),this.paramGroups=n):this.paramGroups=null},tableScroll:function(){this.$refs.scrollContainer.scrollLeft!=this.$refs.headNav.scrollLeft&&(this.$refs.headNav.scrollLeft=this.$refs.scrollContainer.scrollLeft)},headScroll:function(){this.$refs.scrollContainer.scrollLeft!=this.$refs.headNav.scrollLeft&&(this.$refs.scrollContainer.scrollLeft=this.$refs.headNav.scrollLeft)},handleScroll:_.throttle(function(){this.$refs.headPlaceholder&&this.$refs.compareBody&&(this.headFixed=this.$refs.headPlaceholder.getBoundingClientRect().top<=0&&0<=this.$refs.compareBody.getBoundingClientRect().bottom)},200),handleResize:function(){this.slidesToShow=window.innerWidth>View.breakpoints["sm-max"]?3:2,this.computedWidth=window.innerWidth<=View.breakpoints["2xs-max"]?200*(this.itemsCount+1)+"px":"auto"},reset:function(){Model.compareClear()},handlePopState:function(t){t.state&&"v-catalog-compare"==t.state.component&&(console.log("v-catalog-compare: pop state",t.state),this.state=t.state.state,this.catalog=t.state.catalog)},pushState:function(){"localhost"!=window.location.hostname&&window.history.pushState({component:"v-catalog-compare",state:this.state,catalog:this.catalog},"",this.catalog.remote)},changedCompare:function(){this.catalog.remote=Model.compare.link,this.loadCatalog()},removedCompare:function(t){var e=[];
1if(0<parseInt(t))for(var n=0;n<this.catalog.items.length;n++)this.catalog.items[n].id!==t&&e.push(this.catalog.items[n].id);var a=e.join("_");Model.compare.link=0<e.length?"/compare/"+a+"-c":"/compare/"}},created:function(){var t=this;t.staticDataSource?(t.catalog=t.staticDataSource.catalog,console.log("v-catalog-compare loaded from static data",t.catalog),t.recalcParams()):t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0)),Vue.nextTick(function(){t.initialized=!0}),t.staticDataSource&&t.pushState(),Model.$on("compare-changed",t.changedCompare),Model.$on("compare-remove",t.removedCompare),window.addEventListener("scroll",t.handleScroll),window.addEventListener("resize",t.handleResize),window.addEventListener("popstate",t.handlePopState),t.handleResize(),Vue.nextTick(function(){t.handleScroll(),setTimeout(function(){t.handleResize()},100)})},destroyed:function(){window.removeEventListener("scroll",vm.handleScroll),window.removeEventListener("resize",vm.handleResize)}}),Vue.component("v-catalog-item-detail",{template:'\n\t<div class="v-catalog-item-detail catalog-item-detail"\n\t\t\t :class="{\'catalog-item-detail--initialized\': initialized && catalog && catalog.product}">\n\n\t\t<div class="catalog-item-detail__product">\n\t\t\t<v-product template="detail" :product="catalog.product" class="product--detail-alt"></v-product>\n\t\t</div>\n\n\t\t<div class="catalog__used-products flc" v-if="catalog.usedProducts">\n\t\t\t<v-catalog-line view="simple"\n\t\t\t\t\t\t\t\t\t\t\t:static-data-source="catalog.usedProducts" \n\t\t\t\t\t\t\t\t\t\t\tbxajaxid="1С-ÐиÑÑикÑ" \n\t\t\t\t\t\t\t\t\t\t\tshow-counters>\n\t\t\t</v-catalog-line>\n\t\t</div>\n\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{catalog:{remote:null,filters:null,product:null},state:{filter:null},loading:!1,loadingMinTimeout:null,activeImageIndex:0,openDescrTabId:"features",featuresFolded:!0,featuresShowLimit:12,touchMode:View.mobileAndTabletCheck,initialized:!1}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null}},methods:{slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)},loadCatalog:function(t){function e(){i&&(a.catalog=i.catalog,a.openDescrTabId=a.catalog.product.features&&a.catalog.product.features.length||a.catalog.product.paramsTop&&a.catalog.product.paramsTop.length||a.$slots.banner?"features":"params",!t)&&a.pushState(),a.loadingMinTimeout=null,a.loading=!1}var n,a=this,i=null,s=!1;a.loading||(a.loading=!0,t||(a.loadingMinTimeout=setTimeout(function(){s&&e(),a.loadingMinTimeout=null},300)),n={},_.each(_.keys(a.state.filter),function(t){n[t]=a.state.filter[t].value}),n.bxajaxid=a.bxajaxid,$.ajax({url:a.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:n}).done(function(t){console.log("v-catalog loaded",t),i=t}).fail(function(t){console.warn("v-catalog load failed",t)}).always(function(){s=!0,a.loadingMinTimeout&&!t||e()}))},filterChanged:function(t,e){this.filterIsChanged=!(!e||!e.length),this.changedFilters=e,this.state.filter=t,console.log("filter to submit: ",this.state.filter),this.stateChanged()},filterUpdated:function(t,e){this.filterIsChanged=!(!e||!e.length),this.changedFilters=e,this.state.filter=t},stateChanged:function(){this.loadCatalog()},openGallery:function(t){var e=this,n=0;t&&("image"==t.mode&&"number"==typeof t.initialIndex?n=t.initialIndex:"360"==t.mode?n=e.catalog.product.images?e.catalog.product.images.length:0:"video"==t.mode&&(n=(e.catalog.product.images?e.catalog.product.images.length:0)+(e.catalog.product.images360?e.catalog.product.images360.length:0))),modalController.open({component:"v-big-gallery",className:"modal--lg modal--gallery",staticDataSource:{images:e.catalog.product.images,images360:e.catalog.product.images360,videos:e.catalog.product.videos,initialIndex:n}})},handlePopState:function(){},pushState:function(){"localhost"!=window.location.hostname&&window.history.pushState({component:"v-catalog-item",state:this.state,catalog:this.catalog},"",this.catalog.remote)},handleResize:function(){this.featuresShowLimit=window.innerWidth>=View.breakpoints["md-min"]?12:window.innerWidth>=View.breakpoints["xs-min"]?8:6}},created:function(){var t=this;t.staticDataSource?(t.catalog=t.staticDataSource.catalog,console.log("v-catalog-item loaded from static data",t.catalog),t.openDescrTabId=t.catalog.product.features&&t.catalog.product.features.length||t.catalog.product.paramsTop&&t.catalog.product.paramsTop.length||t.$slots.banner?"features":"params"):t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0)),window.addEventListener("popstate",t.handlePopState),window.addEventListener("resize",t.handleResize),t.handleResize(),t.initialized=!0},mounted:function(){var t=this;Vue.nextTick(function(){View.initAllLocal(t.$el)})},destroyed:function(){window.removeEventListener("popstate",this.handlePopState),window.removeEventListener("resize",this.handleResize)}}),Vue.component("v-catalog-item-support",{template:'\n\t<div class="v-catalog-item catalog-item"\n\t\t\t :class="{\'catalog-item--initialized\': initialized && catalog && catalog.product}">\n\n\t\t<transition name="content-fade">\n\t\t\t<div class="catalog-item__loader loader-cover loader-cover--spinner" v-if="loading || !initialized">\n\t\t\t\t<img class="loader-cover__spinner" src="/local/images/preloader.svg" alt="">\n\t\t\t</div>\n\t\t</transition>\n\n\t\t<div class="catalog-item__top catalog-item-top" v-if="catalog && catalog.product">\n\t\t\t<div class="catalog-item-top__grid">\n\t\t\t\t<div class="catalog-item-top__cell-pic-wrap">\n\t\t\t\t\t<div class="catalog-item-top__cell-pic">\n\t\t\t\t\t\t<img class="catalog-item-top__cell-img" v-if="catalog.product.image" :src="catalog.product.image" alt="">\n\t\t\t\t\t\t<div class="catalog-item-top__status-wrap">\n\t\t\t\t\t\t\t<div class="product__status" v-if="catalog.product.status && catalog.product.status.length">\n\t\t\t\t\t\t\t\t<div class="status-list status-list--product">\n\t\t\t\t\t\t\t\t\t<div class="status-list__item" v-for="item in catalog.product.status">\n\t\t\t\t\t\t\t\t\t\t<div class="status status--product" :style="{\'color\': item.color, \'background\': item.background}"\n\t\t\t\t\t\t\t\t\t\t\t\t :class="{\'status--image\': item.image && !item.text}">\n\t\t\t\t\t\t\t\t\t\t\t<img v-if="item.image" :src="item.image" alt="">\n\t\t\t\t\t\t\t\t\t\t\t<span class="status__text" v-if="item.text">{{item.text}}</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="catalog-item-top__cell-main">\n\t\t\t\t\t<div class="catalog-item-top__meta flc" v-if="catalog.product.sku || catalog.product.series">\n\t\t\t\t\t\t{{catalog.product.sku}}\n\t\t\t\t\t\t<template v-if="catalog.product.sku && catalog.product.series"> /</template>\n\t\t\t\t\t\t<template v-if="catalog.product.series">{{ getMessage(\'SERIES\') }} {{catalog.product.series}}</template>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="catalog-item-top__cell-main-grid">\n\t\t\t\t\t\t<div class="catalog-item-top__cell-main">\n\t\t\t\t\t\t\t<div class="catalog-item-top__cell-main-info">\n\t\t\t\t\t\t\t\t<h1 class="catalog-item-top__title h1--small flc">{{catalog.product.name}}</h1>\n\t\t\t\t\t\t\t\t<div class="catalog-item-top__cell-pic-wrap catalog-item-top__cell-pic-wrap--hidden">\n\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__cell-pic">\n\t\t\t\t\t\t\t\t\t\t<img class="catalog-item-top__cell-img" v-if="catalog.product.image" :src="catalog.product.image" alt="">\n\t\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__status-wrap">\n\t\t\t\t\t\t\t\t\t\t\t<div class="product__status" v-if="catalog.product.status && catalog.product.status.length">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="status-list status-list--product">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="status-list__item" v-for="item in catalog.product.status">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="status status--product"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t :style="{\'color\': item.color, \'background\': item.background}"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t :class="{\'status--image\': item.image && !item.text}">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img v-if="item.image" :src="item.image" alt="">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="status__text" v-if="item.text">{{item.text}}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="catalog-item-top__description flc" v-html="catalog.product.description"></div>\n\t\t\t\t\t\t\t\t<div class="catalog-item-top__warranty flc">\n\t\t\t\t\t\t\t\t\t<div class="dimension dimension--secondary dimension--catalog-item">\n\t\t\t\t\t\t\t\t\t\t<div class="dimension__icon">\n\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon">\n\t\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-dimension-warranty"></use>\n\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="dimension__value">{{catalog.product.warranty}}</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class="catalog-item-top__cell-main-aside catalog-item-top__cell-main-aside--wide">\n\t\t\t\t\t\t\t<div class="catalog-item-top__action flc" v-if="catalog.product && catalog.product.orderRepairLink">\n\t\t\t\t\t\t\t\t<span class="btn btn--primary btn--block js-open-modal" :data-modal-url="catalog.product.orderRepairLink" data-modal-data="{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t"className": "modal--lg modal--form",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t"ownHistory": false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}">\n\t\t\t\t\t\t\t\t\t{{getMessage(\'ORDER_REPAIR\')}}\n\t\t\t\t\t\t\t\t\t<svg class="btn__arrow-right btn__arrow-right--right svg-icon">\n\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="link-block__item">\n\t\t\t\t\t\t\t\t<div class="section-action flc" v-if="catalog.product && catalog.product.findServiceLink">\n\t\t\t\t\t\t\t\t\t<a :href="catalog.product.findServiceLink" class="arrow-link">{{getMessage(\'FIND_SERVICE\')}}<span class="arrow-link__tail"> <svg\n\t\t\t\t\t\t\t\t\t\tclass="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="section-action flc" v-if="catalog.product && catalog.product.whereToBuyAccesorizeLink">\n\t\t\t\t\t\t\t\t\t<a :href="catalog.product.whereToBuyAccesorizeLink" class="arrow-link">{{getMessage(\'WHERE_TO_BUY_ACCESORIZE\')}}<span class="arrow-link__tail"> <svg\n\t\t\t\t\t\t\t\t\t\tclass="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- DOCS --\x3e\n\t\t<div class="catalog-item__accordion-wrap" v-if="catalog.product && catalog.product.docs">\n\t\t\t<div class="accordion">\n\t\t\t\t<div class="accordion__item">\n\t\t\t\t\t<button type="button" class="accordion__btn" :class="{\'collapsed\': catalog.product.docs.collapsed}"\n\t\t\t\t\t\t\t\t\t@click="catalog.product.docs.collapsed = !catalog.product.docs.collapsed">\n\t\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t\t<span class="accordion__btn-text h3">{{catalog.product.docs.headline}}</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t<div class="accordion__body" v-show="!catalog.product.docs.collapsed">\n\t\t\t\t\t\t\t<div class="accordion__content">\n\t\t\t\t\t\t\t\t<div class="docs-list flc">\n\t\t\t\t\t\t\t\t\t<div class="docs-list__grid grid grid--free">\n\t\t\t\t\t\t\t\t\t\t<div class="docs-list__item col col--free col-xl-4 col-sm-6 col-2xs-12"\n\t\t\t\t\t\t\t\t\t\t\t\t v-for="doc in catalog.product.docs.items">\n\t\t\t\t\t\t\t\t\t\t\t<a :href="doc.link" :download="doc.download" class="docs-item">\n\t\t\t\t\t\t\t\t\t\t\t\t<span v-if="doc.image" class="docs-item__cell-image">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img :src="doc.image" alt="">\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class="docs-item__cell-main">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="docs-item__title">{{doc.text}}<span class="docs-item__tail"> <svg\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass="svg-icon docs-item__arrow"><use\n\t\t\t\t\t\t\t\t\t\t\t\t\t\txlink:href="#svg-icon-chevron-right"></use></svg></span></span>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- FAQ --\x3e\n\t\t<div class="catalog-item__accordion-wrap" v-if="catalog.product && catalog.product.faq && $slots[\'faq\']">\n\t\t\t<div class="accordion">\n\t\t\t\t<div class="accordion__item">\n\t\t\t\t\t<button type="button" class="accordion__btn" :class="{\'collapsed\': catalog.product.faq.collapsed}"\n\t\t\t\t\t\t\t\t\t@click="catalog.product.faq.collapsed = !catalog.product.faq.collapsed">\n\t\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t\t<span class="accordion__btn-text h3">{{catalog.product.faq.headline}}</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t<div class="accordion__body" v-show="!catalog.product.faq.collapsed">\n\t\t\t\t\t\t\t<div class="accordion__content">\n\n\t\t\t\t\t\t\t\t<slot name="faq"></slot>\n\n\t\t\t\t\t\t\t\t\x3c!--\n\t\t\t\t\t\t\t\t<div v-for="section in catalog.product.faq.sections" class="accordion__questions flc">\n\t\t\t\t\t\t\t\t\t<h4 class="accordion__question-wrap-title h4">\n\t\t\t\t\t\t\t\t\t\t{{section.title}}\n\t\t\t\t\t\t\t\t\t</h4>\n\t\t\t\t\t\t\t\t\t<div class="accordion__question-wrap">\n\t\t\t\t\t\t\t\t\t\t<div v-for="question in section.questions" class="accordion__question flc">\n\t\t\t\t\t\t\t\t\t\t\t<button type="button" class="accordion__question-btn" :class="{\'collapsed\': question.collapsed}"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click="question.collapsed = !question.collapsed">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class="accordion__question-btn-text">{{question.btn}}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class="accordion__question-ico-wrap">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="accordion__question-ico">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="accordion__question-svg svg-icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t\t\t\t\t\t\t<div v-show="!question.collapsed" class="accordion__answer">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="accordion__answer-content text-guide">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-html="question.answer" class="accordion__answer-content"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="accordion__rate-wrap">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-rate :id="question.id" :remote="question.rate.remote"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:value="question.rate.value"></v-rate>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t--\x3e\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- VIDEOLESSONS --\x3e\n\t\t<div class="catalog-item__accordion-wrap" v-if="catalog.product && catalog.product.articles && $slots[\'articles\']">\n\t\t\t<div class="accordion">\n\t\t\t\t<div class="accordion__item">\n\t\t\t\t\t<button type="button" class="accordion__btn" :class="{\'collapsed\': catalog.product.article
1s.collapsed}"\n\t\t\t\t\t\t\t\t\t@click="catalog.product.articles.collapsed = !catalog.product.articles.collapsed">\n\t\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t\t<span class="accordion__btn-text h3">{{catalog.product.articles.headline}}</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t<div class="accordion__body" v-show="!catalog.product.articles.collapsed">\n\t\t\t\t\t\t\t<div class="accordion__content">\n\t\t\t\t\t\t\t\t\x3c!--\n\t\t\t\t\t\t\t\t<v-article-list-full\n\t\t\t\t\t\t\t\t\t:static-data-source=\'{\n\t\t\t\t\t\t\t\t\t\t"catalog": { \n\t\t\t\t\t\t\t\t\t\t\t"items": catalog.product.articles.items\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\'\n\t\t\t\t\t\t\t\t\t:remote-data-source="null"\n\t\t\t\t\t\t\t\t\tbxajaxid="1С-ÐиÑÑикÑ"\n\t\t\t\t\t\t\t\t></v-article-list-full>\n\t\t\t\t\t\t\t\t--\x3e\n\t\t\t\t\t\t\t\t<slot name="articles"></slot>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{catalog:{remote:null,product:null},loading:!1,loadingMinTimeout:null,initialized:!1}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null}},methods:{slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)},loadCatalog:function(t){function e(){i&&(a.catalog=i.catalog),a.loadingMinTimeout=null,a.loading=!1}var n,a=this,i=null,s=!1;a.loading||(a.loading=!0,t||(a.loadingMinTimeout=setTimeout(function(){s&&e(),a.loadingMinTimeout=null},300)),n=_.clone(a.state),$.ajax({url:a.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:{state:n,bxajaxid:a.bxajaxid}}).done(function(t){console.log("v-catalog loaded",t),i=t}).fail(function(t){console.warn("v-catalog load failed",t)}).always(function(){s=!0,a.loadingMinTimeout&&!t||e()}))}},created:function(){var t=this;t.staticDataSource?(t.catalog=t.staticDataSource.catalog,console.log("v-catalog-item loaded from static data",t.catalog)):t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0)),t.initialized=!0}}),Vue.component("v-catalog-item",{template:'\n\t<div class="v-catalog-item catalog-item" :class="{\'catalog-item--initialized\': initialized && catalog && catalog.product}">\n\n\t\t<transition name="content-fade">\n\t\t\t<div class="catalog-item__loader loader-cover loader-cover--spinner" v-if="loading || !initialized">\n\t\t\t\t<img class="loader-cover__spinner" src="/local/images/preloader.svg" alt="">\n\t\t\t</div>\n\t\t</transition>\n\n\t\t<div class="catalog-item__top catalog-item-top" v-if="catalog && catalog.product">\n\t\t\t<div class="catalog-item-top__grid">\n\t\t\t\t<div class="catalog-item-top__cell-gallery">\n\t\t\t\t\t<div class="catalog-item-top__gallery-placeholder"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class="catalog-item-top__cell-main">\n\t\t\t\t\t<template v-if="catalog.product.sku || catalog.product.series">\n\t\t\t\t\t\t<button v-if="catalog.product.sku"\n\t\t\t\t\t\t\t\tclass="catalog-item-top__sku"\n\t\t\t\t\t\t\t\ttype="button"\n\t\t\t\t\t\t\t\t@click="copySku(catalog.product.sku)">\n\t\t\t\t\t\t\t{{catalog.product.sku}}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<div v-if="catalog.product.sku"\n\t\t\t\t\t\t\t\tclass="catalog-item-top__sku-notification"\n\t\t\t\t\t\t\t\t:class="{\'catalog-item-top__sku-notification--shown\': isNotificationShown}">\n\t\t\t\t\t\t\t{{getMessage(\'SKU_COPIED\')}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<template v-if="catalog.product.series"> / </template>\n\t\t\t\t\t\t<component v-if="catalog.product.series"\n\t\t\t\t\t\t\t\t:is="catalog.product.series_link ? \'a\' : \'span\'"\n\t\t\t\t\t\t\t\tclass="catalog-item-top__meta flc"\n\t\t\t\t\t\t\t\t:href="catalog.product.series_link">\n\t\t\t\t\t\t\t<template v-if="catalog.product.series">{{ getMessage(\'SERIES\') }} {{catalog.product.series}}</template>\n\t\t\t\t\t\t</component>\n </template>\n\t\t\t\t\t<div class="catalog-item-top__cell-main-grid">\n\t\t\t\t\t\t<div class="catalog-item-top__cell-main-info">\n\t\t\t\t\t\t\t<h1 class="catalog-item-top__title h1--small flc">{{catalog.product.name}}</h1>\n\t\t\t\t\t\t\t<template v-if="catalog.product.adminLink">\n\t\t\t\t\t\t\t\t<a :href="catalog.product.adminLink">Радминке</a>\n\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t<div v-if="catalog.product.reviews" class="catalog-item-top__rating">\n\t\t\t\t\t\t\t\t<template v-if="catalog.product.reviews.rating">\n\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__rating-value">\n\t\t\t\t\t\t\t\t\t\t{{ catalog.product.reviews.rating | price }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__rating-stars">\n\t\t\t\t\t\t\t\t\t\t<v-rating v-if="catalog.product.reviews.rating" v-model="catalog.product.reviews.rating" :field="{value: catalog.product.reviews.rating}"></v-rating>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<a v-if="catalog.product.reviews.count" class="catalog-item-top__rating-count js-scroll-to" href="#tabs" data-offset="30" @click="openDescrTabId = \'reviews\'">{{ catalog.product.reviews.count }} {{ pluralize(catalog.product.reviews.count, \'оÑзÑв\', [\'\', \'а\', \'ов\']) }}</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\x3c!-- gallery in right column --\x3e\n\t\t\t\t\t\t\t<div class="catalog-item-top__gallery">\n\t\t\t\t\t\t\t\t<div class="catalog-item-top__image flc" @mouseleave="activeImageIndex = 0">\n\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__status-wrap" v-if="catalog.product.status && catalog.product.status.length || catalog.product.colors && catalog.product.colors.length > 1">\n\t\t\t\t\t\t\t\t\t\t<div class="status-list status-list--product">\n\t\t\t\t\t\t\t\t\t\t\t<div class="status-list__item" v-for="item in catalog.product.status">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="status status--product" :style="{\'color\': item.color, \'background\': item.background}" :class="{\'status--image\': item.image && !item.text}">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img v-if="item.image" :src="item.image" alt="">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="status__text" v-if="item.text">{{item.text}}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="status-list__item" v-if="catalog.product.colors && catalog.product.colors.length > 1">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="status status--product status--colors">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="status__pallette">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="status__pallette-part" v-for="color in catalog.product.colors" :style="{\'background\': color.color}"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{catalog.product.colors.length}} {{pluralize(catalog.product.colors.length, \'\', [getMessage(\'ONE_COLOR\'), getMessage(\'TWO_COLOR\'), getMessage(\'MORE_COLOR\')])}}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<template v-if="!catalog.product.images || !catalog.product.images.length">\n\t\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__image-box active">\n\t\t\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__image-box-no-photo">\n\t\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-no-photo"></use></svg>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__image-box" v-for="image, index in catalog.product.images"\n\t\t\t\t\t\t\t\t\t\t\t\t:class="{\'active\': activeImageIndex == index}" v-if="index < 5">\n\t\t\t\t\t\t\t\t\t\t\t<img :src="image.src" :alt="catalog.product.name" @click="touchMode ? openGallery({mode: \'image\', initialIndex: 0}) : null">\n\t\t\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__image-box-note" v-if="index == 4 && catalog.product.images.length > 5">\n {{ getMessage(\'MORE\') }} {{catalog.product.images.length - 5}} {{ getMessage(\'PHOTO\') }}\n </div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__image-control
1s" v-if="catalog.product.images.length > 1">\n\t\t\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__image-control" v-for="image, index in catalog.product.images" v-if="index < 5"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@mouseenter="activeImageIndex = index" @click="openGallery({mode: \'image\', initialIndex: index})"></div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__image-bullets" v-if="catalog.product.images.length > 1">\n\t\t\t\t\t\t\t\t\t\t\t<div class="catalog-item-top__image-bullet" v-for="image, index in catalog.product.images" v-if="index < 5"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:class="{\'active\': activeImageIndex == index}"></div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="catalog-item-top__image-previews flc">\n\t\t\t\t\t\t\t\t\t<div class="gallery-previews flc">\n\t\t\t\t\t\t\t\t\t\t<div class="gallery-previews__grid">\n\t\t\t\t\t\t\t\t\t\t\t<div class="gallery-previews__item" v-if="catalog.product.images && catalog.product.images.length">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="gallery-preview gallery-preview--images" @click="openGallery({mode: \'image\'})">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="gallery-preview__miniatures flc">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="gallery-preview__miniature" v-if="index < 3"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:style="{\'background-image\': \'url(\'+(image.srcPoster || image.src || image.srcFull)+\')\'}"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-for="image, index in catalog.product.images"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="gallery-preview__note">{{catalog.product.images.length}} {{ getMessage(\'PHOTO\') }}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="gallery-previews__item" v-if="catalog.product.images360 && catalog.product.images360.length">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="gallery-preview gallery-preview--360" @click="openGallery({mode: \'360\'})">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon gallery-preview__360-icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-360"></use>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="gallery-previews__item" v-if="catalog.product.videos && catalog.product.videos.length">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="gallery-preview gallery-preview--video" @click="openGallery({mode: \'video\'})">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="gallery-preview__bg" v-if="catalog.product.videos[0].srcPoster"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:style="{\'background-image\': \'url(\'+catalog.product.videos[0].srcPoster+\')\'}"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon gallery-preview__video-icon"><use xlink:href="#svg-icon-video-btn"></use></svg>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div class="catalog-item-top__description flc" v-html="catalog.product.description"></div>\n\t\t\t\t\t\t\t<div class="catalog-item-top__dimensions flc" v-if="catalog.product.dimensions && catalog.product.dimensions.length">\n\t\t\t\t\t\t\t\t<div class="dimensions dimensions--catalog-item flc">\n\t\t\t\t\t\t\t\t\t<div class="dimensions__grid">\n\t\t\t\t\t\t\t\t\t\t<div class="dimensions__item" v-for="dimension in catalog.product.dimensions">\n\t\t\t\t\t\t\t\t\t\t\t<div class="dimension dimension--catalog-item">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="dimension__icon" v-if="dimension.icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use :xlink:href="dimension.icon"></use></svg>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="dimension__value">{{dimension.value}}</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="catalog-item-top__warranty flc">\n\t\t\t\t\t\t\t\t<div class="dimension dimension--secondary dimension--catalog-item">\n\t\t\t\t\t\t\t\t\t<div class="dimension__icon">\n\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-dimension-warranty"></use></svg>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="dimension__value">{{catalog.product.warranty}}</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="catalog-item-top__filter flc" v-if="catalog.filters && c
1atalog.filters.length">\n\t\t\t\t\t\t\t\t<v-filter :filters="catalog.filters" :value="state.filter" :loading="loading" @filtered="filterChanged" @filterupdate="filterUpdated" ref="filter" embedded></v-filter>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="catalog-item-top__cell-main-aside">\n\t\t\t\t\t\t\t<div class="catalog-item-top__price flc" v-if="catalog.product.price">\n\t\t\t\t\t\t\t\t<v-price :price="catalog.product.price" size="larger"></v-price>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="catalog-item-top__price-info flc" v-if="catalog.product.price">\n\t\t\t\t\t\t\t\t{{getMessage(\'CHECK_STORE_PRICE\')}}<span class="inline-tooltip-wrap" v-if="catalog.product.priceTip" aria-label="ÐодÑказка"> <span class="inline-tooltip dropdown-owner js-dropdown"><span class="inline-tooltip__btn js-dropdown__btn"></span>\n\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__body dropdown js-dropdown__body js-tooltip-position" v-html="catalog.product.priceTip"></span>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="catalog-item-top__action flc">\n\n <a v-for="buyLinkShopplaceInfo in catalog.product.buyLinkShopplace" :href="buyLinkShopplaceInfo.link" class="btn btn--onliner btn--block">\n\t\t\t\t\t\t\t\t\t<img :src="buyLinkShopplaceInfo.logo" loading="lazy" decoding="async" width="" height="20" alt="" title="">\n\t\t\t\t\t\t\t\t</a>\n\n\n\t\t\t\t\t\t\t\t<a v-if="catalog.product.buyLinkExternal" :href="catalog.product.buyLinkExternal" class="btn btn--primary btn--block">\n ÐÑпиÑÑ online\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<template v-if="catalog.product.buyLink">\n\t\t\t\t\t\t\t\t\t<a :href="catalog.product.buyLink" target="_blank" class="btn btn--primary btn--block">\n\t\t\t\t\t\t\t\t\t\t{{ getMessage(\'WHERE_BUY\') }}\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="catalog-item-top__action-note flc" v-if="catalog.product.availability.offline.count || catalog.product.availability.online.count">\n\t\t\t\t\t\t\t\t<template v-if="catalog.product.availability.offline.count">\n\t\t\t\t\t\t\t\t\t<a :href="catalog.product.buyLinkOffline">\n\t\t\t\t\t\t\t\t\t\t{{catalog.product.availability.offline.count}} {{pluralize(catalog.product.availability.offline.count, \'\', [getMessage(\'ONE_STORE\'), getMessage(\'TWO_STORE\'), getMessage(\'MORE_STORE\')])}}\n\t\t\t\t\t\t\t\t\t</a> и\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<template v-if="catalog.product.availability.online.count">\n\t\t\t\t\t\t\t\t\t<a :href="catalog.product.buyLinkOnline">\n\t\t\t\t\t\t\t\t\t\t{{catalog.product.availability.online.count}} {{pluralize(catalog.product.availability.online.count, \'\', [getMessage(\'ONE_ONLINE_STORE\'), getMessage(\'TWO_ONLINE_STORE\'), getMessage(\'MORE_ONLINE_STORE\')])}}\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<template v-if="catalog.product.availability.inСountry?.phrase">\n\t\t\t\t\t\t\t\t\t{{catalog.product.availability.inСountry.phrase}}\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<hr class="catalog-item-top__aside-separator" v-if="catalog.product.price || catalog.product.availability.offline.count || catalog.product.availability.online.count">\n\t\t\t\t\t\t\t<div class="catalog-item-top__compare flc">\n\t\t\t\t\t\t\t\t<v-compare-btn :product-id="catalog.product.id"></v-compare-btn>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="catalog-item-top__share flc">\n\t\t\t\t\t\t\t\t<v-share-btn></v-share-btn>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t</div>\n\n\n\t\t\t\t\t<div class="catalog-item-top__banners flc" v-if="catalog.product.banners && catalog.product.banners.length">\n\t\t\t\t\t\t<div class="catalog-item-top__banners-grid grid grid--free">\n\t\t\t\t\t\t\t<div class="catalog-item-top__banners-col col col--free col-xl-6 col-3xs-12" v-for="banner in catalog.product.banners">\n\t\t\t\t\t\t\t\t<div class="catalog-item-top__banner">\n\t\t\t\t\t\t\t\t\t<img :src="banner.image" alt="" loading="lazy">\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\n\t\t<div class="catalog-item__info" v-if="catalog.product" id="tabs">\n\t\t\t<div class="catalog-item__info-nav flc">\n\t\t\t\t<div class="catalog-item__info-nav-tabs">\n\t\t\t\t\t<div class="tab-labels">\n\t\t\t\t\t\t<div class="tab-labels__row">\n\t\t\t\t\t\t\t<div class="tab-labels__item" v-if="catalog.product.features && catalog.product.features.length || catalog.product.paramsTop && c
1atalog.product.paramsTop.length || $slots.banner">\n\t\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': openDescrTabId == \'features\'}" \n\t\t\t\t\t\t\t\t\t\t@click="openDescrTabId = \'features\'">{{getMessage(\'FEATURES\')}}</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="tab-labels__item" v-if="catalog.product.params && catalog.product.params.length">\n\t\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': openDescrTabId == \'params\'}" \n\t\t\t\t\t\t\t\t\t\t@click="openDescrTabId = \'params\'">{{getMessage(\'PARAMS\')}}</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="tab-labels__item" v-if="catalog.product.reviews">\n\t\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': openDescrTabId == \'reviews\'}"\n\t\t\t\t\t\t\t\t\t\t@click="openDescrTabId = \'reviews\'">{{getMessage(\'REVIEWS\')}}</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="catalog-item__info-nav-aside" v-if="catalog.product.supportLink">\n\t\t\t\t\t<a :href="catalog.product.supportLink" class="icon-link">\n\t\t\t\t\t\t<div class="icon-link__icon">\n\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-like"></use></svg>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="icon-link__main">{{getMessage(\'SUPPORT_AND_SERVICE\')}}</div>\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\n\t\t\t<transition-group tag="div" name="content-fade" mode="out-in" class="catalog-item__info-content">\n\t\t\t\t<div class="catalog-item__info-features" v-show="openDescrTabId == \'features\'" key="features" \n\t\t\t\t\t\tv-if="catalog.product.features && catalog.product.features.length || catalog.product.paramsTop && catalog.product.paramsTop.length || $slots.banner">\n\t\t\t\t\t\n\t\t\t\t\t<div class="catalog-item__features flc">\n\t\t\t\t\t\t<h3 class="catalog-item__features-title flc">{{getMessage(\'FEATURES\')}}</h3>\n\t\t\t\t\t\t<div class="catalog-item__features-list flc" v-if="catalog.product.features && catalog.product.features.length">\n\t\t\t\t\t\t\t<div class="features-list flc">\n\t\t\t\t\t\t\t\t<div class="features-list__part">\n\t\t\t\t\t\t\t\t\t<div class="features-list__grid grid grid--free">\n\t\t\t\t\t\t\t\t\t\t<div class="features-list__col col col--free" v-for="(feature, index) in catalog.product.features" \n\t\t\t\t\t\t\t\t\t\t\t\tv-if="index < featuresShowLimit">\n\t\t\t\t\t\t\t\t\t\t\t<div class="features-li">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="features-li__image">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img :src="feature.image" alt="" v-if="feature.image" loading="lazy">\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="features-li__title">{{feature.title}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip-wrap" v-if="feature.tip" aria-label="ÐодÑказка"> <span class="inline-tooltip dropdown-owner js-dropdown"><span class="inline-tooltip__btn js-dropdown__btn"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__body dropdown js-dropdown__body js-tooltip-position">{{feature.tip}}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t\t\t\t<div class="features-list__part" v-if="catalog.product.features.length > featuresShowLimit && !featuresFolded">\n\t\t\t\t\t\t\t\t\t\t<div class="features-list__grid grid grid--free">\n\t\t\t\t\t\t\t\t\t\t\t<div class="features-list__col col col--free" v-for="(feature, index) in catalog.product.features" \n\t\t\t\t\t\t\t\t\t\t\t\t\tv-if="index >= featuresShowLimit">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="features-li">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="features-li__image">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img :src="feature.image" alt="" v-if="feature.image" loading="lazy">\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="features-li__title">{{feature.title}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip-wrap" v-if="feature.tip" aria-label="ÐодÑказка"> <span class="inline-tooltip dropdown-owner js-dropdown"><span class="inline-tooltip__btn js-dropdown__btn"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__body dropdown js-dropdown__body js-tooltip-position">{{feature.tip}}</span></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t\t\t<div class="features-list__action flc" v-if="catalog.product.features.length > featuresShowLimit">\n\t\t\t\t\t\t\t\t\t<transition name="content-fade" mode="out-in">\n\t\t\t\t\t\t\t\t\t\t<button type="button" class="btn" v-if="featuresFolded" @click="featuresFolded = false" key="folded">\n\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'SHOW_MORE\')}} <svg class="btn__arrow-right btn__arrow-right--right btn__arrow-right--down svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t<button type="button" class="btn" v-else @click="featuresFolded = true" key="unfolded">\n\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'UNFOLDED\')}} <svg class="btn__arrow-right btn__arrow-right--right btn__arrow-right--up svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class="catalog-item__banners flc" v-if="$slots.banner">\n\t\t\t\t\t\t<slot name="banner"></slot>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class="catalog-item__params-top flc" v-if="catalog.product.paramsTop && c
1atalog.product.paramsTop.length">\n\t\t\t\t\t\t<div class="params-top">\n\t\t\t\t\t\t\t<div class="params-top__grid">\n\t\t\t\t\t\t\t\t<template v-for="param in catalog.product.paramsTop">\n\t\t\t\t\t\t\t\t\t<div class="params-top__item" :class="{\'params-top__item--small\': param.size == \'small\'}">\n\t\t\t\t\t\t\t\t\t\t<div class="param-top" :class="{\'param-top--has-responsive-img\': param.imageResponsive, \'param-top--small\': param.size == \'small\'}">\n\t\t\t\t\t\t\t\t\t\t\t<div class="param-top__image flc" v-if="param.image || param.imageResponsive">\n\t\t\t\t\t\t\t\t\t\t\t\t<img class="param-top__img param-top__img--full" :src="param.image" alt="">\n\t\t\t\t\t\t\t\t\t\t\t\t<img class="param-top__img param-top__img--responsive" :src="param.imageResponsive" alt="">\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<h4 class="param-top__title flc" v-if="param.title">{{param.title}}</h4>\n\t\t\t\t\t\t\t\t\t\t\t<div class="param-top__text flc" v-if="param.text" v-html="param.text"></div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="params-top__spacer"></div>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class="catalog-item__info-params" v-show="openDescrTabId == \'params\'" key="params"\n\t\t\t\t\t\tv-if="catalog.product.params && catalog.product.params.length">\n\t\t\t\t\t<div class="catalog-item__params flc" v-if="catalog.product.params && catalog.product.params.length">\n\t\t\t\t\t\t<h3 class="catalog-item__params-title">{{getMessage(\'PARAMS\')}}</h3>\n\t\t\t\t\t\t<div class="catalog-item__params-list flc">\n\t\t\t\t\t\t\t<div class="full-params-list flc">\n\t\t\t\t\t\t\t\t<div class="full-params-list__group flc" v-for="group in catalog.product.params" \n\t\t\t\t\t\t\t\t\t\t:class="{\'open\': group.open, \'full-params-list__group--static\': group.alwaysOpen}">\n\t\t\t\t\t\t\t\t\t<div class="full-params-list__group-head" @click="group.open = !group.open">\n\t\t\t\t\t\t\t\t\t\t<span class="full-params-list__group-head-icon"></span>\n\t\t\t\t\t\t\t\t\t\t<h4 class="full-params-list__group-head-title">{{group.title}}</h4>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t\t\t\t\t<div class="full-params-list__group-body" v-show="group.open || group.alwaysOpen">\n\t\t\t\t\t\t\t\t\t\t\t<div :class="{\'full-params-list__dimensions\': group.image}">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="full-params-list__dimensions-visual" \n\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if="group.image">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img :src="group.image" alt="">\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div :class="{\'full-params-list__dimensions-table\': group.image}">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="full-params-list__table">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="full-params-list__table-row" v-for="param in group.params">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="full-params-list__table-icon" v-if="param.icon || group.image">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use :xlink:href="param.icon"></use></svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="full-params-list__table-key">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{param.title}}<span class="inline-tooltip-wrap" v-if="param.tip" aria-label="ÐодÑказка"> <span class="inline-tooltip dropdown-owner js-dropdown"><span class="inline-tooltip__btn js-dropdown__btn"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__body dropdown js-dropdown__body js-tooltip-position">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{param.tip}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="full-params-list__table-value">{{param.text}}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div class="full-params-list__group full-params-list__group--static flc" v-if="catalog.product.docs && catalog.product.docs.length">\n\t\t\t\t\t\t\t\t\t<div class="full-params-list__group-head">\n\t\t\t\t\t\t\t\t\t\t<span class="full-params-list__group-head-icon"></span>\n\t\t\t\t\t\t\t\t\t\t<h4 class="full-params-list__group-head-title">{{getMessage(\'INSTRUCTION_AND_PRESENTED\')}}</h4>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t\t\t\t\t<div class="full-params-list__group-body">\n\t\t\t\t\t\t\t\t\t\t\t<div class="docs-list flc">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="docs-list__grid grid grid--free">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class="docs-list__item col col--free col-xl-4 col-sm-6 col-2xs-12" v-for="doc in catalog.product.docs">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a :href="doc.link" :download="doc.download" class="docs-item">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="docs-item__cell-image">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img :src="doc.image" alt="" v-if="doc.image">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="docs-item__cell-main">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="docs-item__title">{{doc.text}}<span class="docs-item__tail"> <svg class="svg-icon docs-item__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class="catalog-item__info-params" v-show="openDescrTabId == \'reviews\'" key="reviews"\n\t\t\t\t\t\tv-if="catalog.product.reviews">\n\t\t\t\t\t<v-product-reviews\n :static-data-source="null"\n :remote-data-source="catalog.product.reviews.remote"\n :sh
1op-links="catalog.product.buyLinkShopplace"\n :bxajaxid="bxajaxid"\n >\n\n </v-product-reviews>\n\t\t\t\t</div>\n\t\t\t</transition-group>\n\t\t</div>\n\n\t\t<hr class="catalog__separator" v-if="$slots[\'middle-banner\']">\n\n\t\t<div class="catalog__recently-viewed flc" v-if="$slots[\'middle-banner\']">\n\t\t\t<slot name="middle-banner"></slot>\n\t\t</div>\n\t\t\n\t\t<hr class="catalog__separator" v-if="$slots[\'articles\']">\n\n\t\t<div class="catalog__recently-viewed flc" v-if="$slots[\'articles\']">\n\t\t\t<slot name="articles"></slot>\n\t\t</div>\n\n\t\t\x3c!-- alt way to show related products --\x3e\n\t\t<hr class="catalog__separator" v-if="catalog.similarProducts">\n\t\t\n\t\t<div class="catalog__recently-viewed flc" v-if="catalog.similarProducts">\n\t\t\t<v-catalog-line slot="similar-products" title="ÐоÑ
ожие ÑоваÑÑ"\n\t\t\t\t:static-data-source="catalog.similarProducts" bxajaxid="1С-ÐиÑÑикÑ"></v-catalog-line>\n\t\t</div>\n\n\t\t<hr class="catalog__separator" v-if="$slots[\'similar-products\']">\n\t\t\n\t\t<div class="catalog__recently-viewed flc" v-if="$slots[\'similar-products\']">\n\t\t\t<slot name="similar-products"></slot>\n\t\t</div>\n\n\t\t<hr class="catalog__separator" v-if="$slots[\'recently-viewed\']">\n\n\t\t<div class="catalog__recently-viewed flc" v-if="$slots[\'recently-viewed\']">\n\t\t\t<slot name="recently-viewed"></slot>\n\t\t</div>\n\n\t\t<div class="catalog__note flc" v-if="$slots[\'note\']">\n\t\t\t<div class="catalog__note-container">\n\t\t\t\t<slot name="note"></slot>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{catalog:{remote:null,filters:null,product:null},state:{filter:null},loading:!1,loadingMinTimeout:null,activeImageIndex:0,openDescrTabId:"features",featuresFolded:!0,featuresShowLimit:12,touchMode:View.mobileAndTabletCheck,initialized:!1,isNotificationShown:!1}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null},filterPreset:{default:null}},methods:{copySku:function(t){var e=this;t&&navigator.clipboard.writeText(t).then(function(){e.isNotificationShown=!0,setTimeout(function(){e.isNotificationShown=!1},2500)}).catch(function(t){console.error("copy sku error",t)})},slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)},loadCatalog:function(t){function e(){i&&(a.catalog=i.catalog,a.openDescrTabId=a.catalog.product.features&&a.catalog.product.features.length||a.catalog.product.paramsTop&&a.catalog.product.paramsTop.length||a.$slots.banner?"features":"params",!t)&&a.pushState(),a.loadingMinTimeout=null,a.loading=!1}var n,a=this,i=null,s=!1;a.loading||(a.loading=!0,t||(a.loadingMinTimeout=setTimeout(function(){s&&e(),a.loadingMinTimeout=null},300)),n={},_.each(_.keys(a.state.filter),function(t){n[t]=a.state.filter[t].value}),n.bxajaxid=a.bxajaxid,$.ajax({url:a.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:n}).done(function(t){console.log("v-catalog loaded",t),i=t}).fail(function(t){console.warn("v-catalog load failed",t)}).always(function(){s=!0,a.loadingMinTimeout&&!t||e()}))},filterChanged:function(t,e){this.filterIsChanged=!(!e||!e.length),this.changedFilters=e,this.state.filter=t,console.log("filter to submit: ",this.state.filter),this.stateChanged()},filterUpdated:function(t,e){this.filterIsChanged=!(!e||!e.length),this.changedFilters=e,this.state.filter=t},stateChanged:function(){this.loadCatalog()},openGallery:function(t){var e=this,n=0;t&&("image"==t.mode&&"number"==typeof t.initialIndex?n=t.initialIndex:"360"==t.mode?n=e.catalog.product.images?e.catalog.product.images.length:0:"video"==t.mode&&(n=(e.catalog.product.images?e.catalog.product.images.length:0)+(e.catalog.product.images360?e.catalog.product.images360.length:0))),modalController.open({component:"v-big-gallery",className:"modal--lg modal--gallery",staticDataSource:{alt:e.catalog.product.name,images:e.catalog.product.images,images360:e.catalog.product.images360,videos:e.catalog.product.videos,initialIndex:n}})},handlePopState:function(){},pushState:function(){"localhost"!=window.location.hostname&&window.history.pushState({component:"v-catalog-item",state:this.state,catalog:this.catalog},"",this.catalog.remote)},handleResize:function(){this.featuresShowLimit=window.innerWidth>=View.breakpoints["md-min"]?12:window.innerWidth>=View.breakpoints["xs-min"]?8:6}},created:function(){var t=this;t.staticDataSource?(t.catalog=t.staticDataSource.catalog,console.log("v-catalog-item loaded from static data",t.catalog),t.openDescrTabId=t.catalog.product.features&&t.catalog.product.features.length||t.catalog.product.paramsTop&&t.catalog.product.paramsTop.length||t.$slots.banner?"features":"params"):t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0)),window.addEventListener("popstate",t.handlePopState),window.addEventListener("resize",t.handleResize),t.handleResize(),t.initialized=!0},mounted:function(){var t=this;Vue.nextTick(function(){View.initAllLocal(t.$el)})},destroyed:function(){window.removeEventListener("popstate",this.handlePopState),window.removeEventListener("resize",this.handleResize)}}),Vue.component("v-catalog-line",{template:'\n\t<section class="v-catalog-line catalog-viewed">\t\n\t\t<header class="section-header flc" \n\t\t :class="{\'section-header--mb14\': view === \'simple\' || view === \'model-list\' || view === \'model-units\'}">\n\t\t\t<div v-if="view === \'regular\'" class="section-header__main">\n\t\t\t\t<h3 class="section-header__title flc">{{title}}</h3>\n\t\t\t</div>
1\n\t\t\t<div v-if="catalog.filters && catalog.filters.length" \n\t\t\t\t\t class="section-header__aside" \n\t\t\t\t\t :class="{\'section-header__aside--ml0\': view === \'simple\' || view === \'model-list\' || view === \'model-units\'}">\n\t\t\t\t<div class="tab-labels" v-for="filter in catalog.filters">\n\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t\t\t\t</transition>\n\t\t\t\t\t<div class="tab-labels__row">\n\t\t\t\t\t\t<div class="tab-labels__item" v-for="(option, optionIndex) in filter.options">\n\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': option.value == filter.value}" \n\t\t\t\t\t\t\t\t\t\t\t@click="filter.value = option.value; filterValue = option.value">\n\t\t\t\t\t\t\t\t{{option.text}} <span v-if="showCounters && counters.length > 0">({{counters[optionIndex]}})</span>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</header>\n\t\t\n\t\t<template v-if="view === \'simple\'">\n\t\t\t<div class="catalog-line__used-products">\n\t\t\t\t<v-detail-picker :items="getFilteredItems()" \n\t\t\t\t :bxajaxid="bxajaxid" \n\t\t\t\t :filter-value="filterValue">\n\t\t\t\t</v-detail-picker>\n\t\t\t</div>\n\t\t</template>\n\t\t\n\t\t<template v-else-if="view === \'model-list\'">\n\t\t\t<div class="catalog-line__used-products">\n\t\t\t\t<div class="models-grid grid">\n\t\t\t\t\t<div v-for="(item, index) in getFilteredItems()"\n\t\t\t\t\t :key="item.id || index"\n\t\t\t\t\t class="models-grid__item col">\n\t\t\t\t\t\t<v-product template="model" :product="item" :local-query="localQuery"></v-product>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t\t\n\t\t<template v-else-if="view === \'model-units\'">\n\t\t\t<div class="catalog-line__used-products">\n\t\t\t\t<v-detail-picker :items="getFilteredItems()" \n\t\t\t\t :bxajaxid="bxajaxid" \n\t\t\t\t :filter-value="filterValue" \n\t\t\t\t :local-query="localQuery">\n\t\t\t\t</v-detail-picker>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else>\n\t\t\t<div class="catalog-viewed__products flc">\n\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t\t\t</transition>\n\t\t\t\t<transition name="content-fade" mode="out-in">\n\t\t\t\t\t<v-product-slider :items="getFilteredItems()" :bxajaxid="bxajaxid" :viewed="viewed" @remove="remove"></v-product-slider>\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t</template>\n\t\t\n\t</section>\n',mixins:[vueMixins.formatting],data:function(){return{catalog:{remote:null,filters:null,items:null},loading:!1,loadingMinTimeout:null,filterValue:null,counters:[]}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null},title:{default:"ÐÑ ÑмоÑÑели"},viewed:{type:Boolean,default:!1},view:{default:"regular"},showCounters:{type:Boolean,default:!1},localQuery:{default:null}},watch:{staticDataSource:function(){this.staticDataSource&&(this.catalog=this.staticDataSource.catalog,console.log("v-catalog-line re-loaded from static data",this.catalog),this.calcCounters())}},methods:{loadCatalog:function(t,e,n,a){function i(){var t;l&&(t=s.catalog.items,s.catalog=l.catalog,e)&&(s.catalog.items=t.concat(s.catalog.items)),s.loadingMinTimeout=null,s.loading=!1}console.log("start load catalog");var s=this,l=null,o=!1;s.loading||(s.loading=!0,t||(s.loadingMinTimeout=setTimeout(function(){o&&i(),s.loadingMinTimeout=null},300)),$.ajax({url:s.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:{bxajaxid:s.bxajaxid,action:n?"remove":"get",id:a||null}}).done(function(t){console.log("v-catalog-line loaded",t),l=t}).fail(function(t){console.warn("v-catalog-line load failed",t)}).always(function(){o=!0,s.loadingMinTimeout&&!t||i()}))},getFilteredItems:function(){var e=this;return this.catalog.filters&&this.catalog.filters.length?_.filter(this.catalog.items,function(t){return t.filterBinding&&0<=t.filterBinding.indexOf(e.catalog.filters[0].value)}):this.catalog.items},filterChanged:function(t,e){this.filterIsChanged=!(!e||!e.length),this.changedFilters=e,this.state.filter=t,console.log("filter to submit: ",this.state.filter)},stateChanged:function(){this.loadCatalog()},remove:function(t){this.loadCatalog(!1,!1,!0,t)},calcCounters:function(){var t=this;if(t.catalog.filters&&t.showCounters)for(var e=0;e<t.catalog.filters[0].options.length;e++){for(var n=0,a=t.catalog.filters[0].options[e].value,i=0;i<t.catalog.items.length;i++)for(var s=0;s<t.catalog.items[i].filterBinding.length;s++)t.catalog.items[i].filterBinding[s]===a&&n++;t.counters.push(n)}}},created:function(){var t=this;t.staticDataSource?(t.catalog=t.staticDataSource.catalog,t.calcCounters()):t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0))}}),Vue.component("v-catalog",{template:'\n\t<div class="v-catalog catalog" :class="{\'catalog--initialized\': initialized}" itemscope itemtype="https://schema.org/ItemList">\n\n\t\t<template v-if="view === \'orders\'">\n\t\t\t<div class="catalog__header">\n\t\t\t\t<div class="catalog__header-wrap">\n\t\t\t\t\t<div class="catalog__filter-label">{{getMessage(\'FAST_FILTER\')}}</div>\n\t\t\t\t\t<div class="catalog__filter-wrap">\n\t\t\t\t\t\t<v-filter v-if="catalog.filters"\n\t\t\t\t\t\t mode="horizontal"\n\t\t\t\t\t\t :filters="catalog.filters"\n\t\t\t\t\t\t :value="state.filter"\n\t\t\t\t\t\t :loading="loading"\n\t\t\t\t\t\t @filtered="filterChanged"\n\t\t\t\t\t\t @filterupdate="filterUpdated"\n\t\t\t\t\t\t ref="filter">\n\t\t\t\t\t\t</v-filter>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="catalog__orders">\n\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t\t\t</transition>\n\t\t\t\t<template v-if="catalog.items && catalog.items.length">\n\t\t\t\t\t<div class="catalog__orders-list">\n\t\t\t\t\t\t<div v-for="(order, orderIndex) in catalog.items"\n\t\t\t\t\t\t class="catalog__orders-list-item flc"\n\t\t\t\t\t\t :key="order.id || orderIndex">\n\t\t\t\t\t\t\t<a :href="order.link" class="catalog__orders-link"></a>\n\t\t\t\t\t\t\t<div class="order-kds order-kds--mt0">\n\t\t\t\t\t\t\t\t<div class="order-kds__main order-kds__main--mt0">\n\t\t\t\t\t\t\t\t\t<div class="order-kds__left">\n\t\t\t\t\t\t\t\t\t\t<h5 v-if="order && order.title"\n\t\t\t\t\t\t\t\t\t\t class="order-kds__subtitle">\n\t\t\t\t\t\t\t\t\t\t\t{{order.title}}\n\t\t\t\t\t\t\t\t\t\t</h5>\n\t\t\t\t\t\t\t\t\t\t<div v-if="order && order.dateOfIssue"\n\t\t\t\t\t\t\t\t\t\t class="order-kds__caption">\n\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'FROM_2\')}} {{order.dateOfIssue}}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-if="order.status" class="order-kds__status">\n\t\t\t\t\t\t\t\t\t\t\t<div class="big-status flc">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="big-status__marker"\n\t\t\t\t\t\t\t\t\t\t\t\t :style="{\'background-color\': order.status.color}"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="big-status__text">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{order.status.text}}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-if="order.scheduledShipment" class="order-kds__feature flc">\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'SCHEDULED_SHIPMENT\')}}
1: </div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.scheduledShipment}}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-if="order.deliveryMethod" class="order-kds__feature flc">\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'DELIVERY_METHOD\')}}: </div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.deliveryMethod}}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="order-kds__link-icon">\n\t\t\t\t\t\t\t\t\t\t\t<button v-if="order.printLink" @click.prevent="openNewWindow(order.printLink, \'\', order.printFeatures)"\n\t\t\t\t\t\t\t\t\t\t\t class="link-icon"\n\t\t\t\t\t\t\t\t\t\t\t type="button">\n\t\t\t\t\t\t\t\t\t\t\t\t<svg class="link-icon__icon svg-icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-small-printer"></use>\n\t\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'PRINT_INVOICE\')}}\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="order-kds__right">\n\t\t\t\t\t\t\t\t\t\t<div v-if="order.serviceCenterName" class="order-kds__feature flc">\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'SC_NAME\')}}: </div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.serviceCenterName}}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-if="order.contract" class="order-kds__feature flc">\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'SPARE_PARTS_CONTRACT\')}}: </div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.contract}}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-if="order.address" class="order-kds__feature flc">\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'COUNTRY_AND_ADDRESS\')}}: </div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.address}}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-if="order.contactFio" class="order-kds__feature flc">\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'NAME_OF_CONTACT_PERSON\')}}: </div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.contactFio}}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-if="order.phoneNumber" class="order-kds__feature flc">\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'PHONE_NUMBER\')}}: </div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.phoneNumber}}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-if="order.email" class="order-kds__feature flc">\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'EMAIL\')}}: </div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.email}}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t<v-page-nav mode="more"\n\t\t\t\t\t\t class="catalog__navigation catalog__navigation--mt20"\n\t\t\t\t\t\t :static-data-source="catalog.pages"\n\t\t\t\t\t\t @navigate="loadMore"\n\t\t\t\t\t\t v-if="catalog.pages && parseInt(catalog.pages.count) && parseInt(catalog.pages.count) > parseInt(catalog.pages.limit)">\n\t\t\t\t\t\t</v-page-nav>\n\t\t\t\t\t</transition>\n\t\t\t\t</template>\n\t\t\t\t<template v-else>\n\t\t\t\t\t<div class="catalog__orders-message">{{getMessage(\'NO_ORDERS\')}}</div>\n\t\t\t\t</template>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="view === \'detail\'">\n\t\t\t<div class="catalog__header">\n\t\t\t\t<div class="catalog__header-left">\n\t\t\t\t\t<slot name="link"></slot>\n\t\t\t\t</div>\n\t\t\t\t<div class="catalog__header-right">\n\t\t\t\t\t<div class="catalog__filter-label">{{getMessage(\'FAST_FILTER\')}}</div>\n\t\t\t\t\t<v-filter v-if="catalog.filters"\n\t\t\t\t\t\t\t\t\t\tmode="simple"\n\t\t\t\t\t\t\t\t\t\t:filters="catalog.filters"\n\t\t\t\t\t\t\t\t\t\t:value="state.filter"\n\t\t\t\t\t\t\t\t\t\t:loading="loading"\n\t\t\t\t\t\t\t\t\t\t@filtered="filterChanged"\n\t\t\t\t\t\t\t\t\t\t@filterupdate="filterUpdated"\n\t\t\t\t\t\t\t\t\t\tref="filter">\n\t\t\t\t\t</v-filter>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="catalog__detail js-catalog__detail">\n\t\t\t\t<div class="catalog__detail-left">\n\t\t\t\t\t<div class="catalog__detail-image-wrap">\n\t\t\t\t\t\t<div class="zoom-box js-catalog__zoom-box">\n\t\t\t\t\t\t\t<img class="zoom-box__img js-catalog__zoom-box-img" src="" alt="">\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if="catalog.title" class="catalog__detail-title">{{catalog.title}}</div>\n\t\t\t\t\t\t<div class="catalog__images-cover js-catalog__images-cover">\n\t\t\t\t\t\t\t<img v-if="catalog.image" :src="catalog.image" :data-large="catalog.image_2x" alt="" class="catalog__detail-image js-catalog__detail__image">\n\t\t\t\t\t\t\t<img v-else src="/local/images/no_photo.png" alt="" class="catalog__detail-image js-catalog__detail-image">\n\t\t\t\t\t\t\t<div class="catalog__lens js-catalog__lens"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="catalog__detail-right">\n\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t\t\t\t</transition>
1\n\t\t\t\t\t<div v-if="catalog.items && catalog.items.length"\n\t\t\t\t\t\t\t class="catalog__detail-list">\n\t\t\t\t\t\t<div v-for="(item, index) in catalog.items"\n\t\t\t\t\t\t\t\t class="catalog__detail-item">\n\t\t\t\t\t\t\t<v-product template="detail" :product="item"></v-product>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t<v-page-nav mode="more"\n\t\t\t\t\t\t\t\t\t\t\t\tclass="catalog__navigation catalog__navigation--mt20"\n\t\t\t\t\t\t\t\t\t\t\t\t:static-data-source="catalog.pages"\n\t\t\t\t\t\t\t\t\t\t\t\t@navigate="loadMore"\n\t\t\t\t\t\t\t\t\t\t\t\tv-if="catalog.pages && parseInt(catalog.pages.count) && parseInt(catalog.pages.count) > parseInt(catalog.pages.limit)">\n\t\t\t\t\t\t</v-page-nav>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="view === \'units\'">\n\t\t\t<div class="catalog__header">\n\t\t\t\t<div class="catalog__header-left">\n\t\t\t\t\t<slot name="link"></slot>\n\t\t\t\t</div>\n\t\t\t\t<div class="catalog__header-right">\n\t\t\t\t\t<div class="catalog__link-wrap">\n\t\t\t\t\t\t<slot name="link2"></slot>\n\t\t\t\t\t\t<div class="catalog__tabs">\n\t\t\t\t\t\t\t<button @click="showList = true" class="catalog__tab" type="button" aria-label="Рвиде ÑпиÑка">\n\t\t\t\t\t\t\t\t<svg class="catalog__tab-icon svg-icon">\n\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-catalog-list"></use>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button @click="showList = false" class="catalog__tab" type="button" aria-label="Рвиде плиÑки">\n\t\t\t\t\t\t\t\t<svg class="catalog__tab-icon svg-icon">\n\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-catalog-grid"></use>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<template v-if="$slots[\'accordion\']">\n\t\t\t\t<slot name="accordion"></slot>\n\t\t\t</template>\n\n\t\t\t<div class="catalog__units">\n\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t\t\t</transition>\n\n\t\t\t\t<div v-if="!mobile ? true : showList" class="catalog__units-left">\n\t\t\t\t\t<div v-if="catalog.items && catalog.items.length" class="units-list">\n\t\t\t\t\t\t<div v-for="(item, index) in catalog.items"\n\t\t\t\t\t\t\t\t :key="item.id || index"\n\t\t\t\t\t\t\t\t class="units-list__item flc">\n\t\t\t\t\t\t\t<v-product template="units-list" :product="item"></v-product>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if="!mobile ? true : !showList" class="catalog__units-right">\n\t\t\t\t\t<div v-if="catalog.items && catalog.items.length" class="units-grid grid">\n\t\t\t\t\t\t<div v-for="(item, index) in catalog.items"\n\t\t\t\t\t\t\t\t :key="item.id || index"\n\t\t\t\t\t\t\t\t class="units-grid__item col">\n\t\t\t\t\t\t\t<v-product template="units-grid" :product="item"></v-product>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<transition name="content-fade">\n\t\t\t\t<v-page-nav mode="more"\n\t\t\t\t\t\t\t\t\t\tclass="catalog__navigation catalog__navigation--mt20"\n\t\t\t\t\t\t\t\t\t\t:static-data-source="catalog.pages"\n\t\t\t\t\t\t\t\t\t\t@navigate="loadMore"\n\t\t\t\t\t\t\t\t\t\tv-if="catalog.pages && parseInt(catalog.pages.count) && parseInt(catalog.pages.count) > parseInt(catalog.pages.limit)">\n\t\t\t\t</v-page-nav>\n\t\t\t</transition>\n\t\t</template>\n\n\t\t<template v-else-if="view === \'simple\'">\n\t\t\t<div class="catalog__header">\n\t\t\t\t<div class="catalog__header-left">\n\t\t\t\t\t<slot name="link"></slot>\n\t\t\t\t</div>\n\t\t\t\t<div class="catalog__header-right">\n\t\t\t\t\t<div class="catalog__filter-label">{{getMessage(\'FAST_FILTER\')}}</div>\n\t\t\t\t\t<v-filter v-if="catalog.filters"\n\t\t\t\t\t\t\t\t\t\tmode="simple"\n\t\t\t\t\t\t\t\t\t\t:filters="catalog.filters"\n\t\t\t\t\t\t\t\t\t\t:value="state.filter"\n\t\t\t\t\t\t\t\t\t\t:loading="loading"\n\t\t\t\t\t\t\t\t\t\t@filtered="filterChanged"\n\t\t\t\t\t\t\t\t\t\t@filterupdate="filterUpdated"\n\t\t\t\t\t\t\t\t\t\tref="filter">\n\t\t\t\t\t</v-filter>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="catalog__models">\n\t\t\t\t<template v-if="catalog.items && catalog.items.length">\n\t\t\t\t\t<div class="models-grid grid">\n\t\t\t\t\t\t<div v-for="(item, index) in catalog.items"\n\t\t\t\t\t\t\t\t :key="item.id || index"\n\t\t\t\t\t\t\t\t class="models-grid__item col">\n\t\t\t\t\t\t\t<v-product template="model" :product="item"></v-product>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-else>\n\t\t\t\t\t<div class="models-grid">\n\t\t\t\t\t\t<div class="models-grid__message">{{getMessage(\'NO_MODELS\')}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t</div>\n\t\t\t<transition name="content-fade">\n\t\t\t\t<v-page-nav mode="more"\n\t\t\t\t\t\t\t\t\t\tclass="catalog__navigation catalog__navigation--mt20"\n\t\t\t\t\t\t\t\t\t\t:static-data-source="catalog.pages"\n\t\t\t\t\t\t\t\t\t\t@navigate="loadMore"\n\t\t\t\t\t\t\t\t\t\tv-if="catalog.pages && parseInt(catalog.pages.count) && parseInt(catalog.pages.count) > parseInt(catalog.pages.limit)">\n\t\t\t\t</v-page-nav>\n\t\t\t</transition>\n\t\t</template>\n\n\t\t<template v-else>\n\t\t\t<h1 class="h1--small page-title flc" v-if="catalog.title">{{catalog.title}}</h1>\n\n\t\t\t<v-horizontal-nav :links="catalog.links" v-if="catalog.links || catalog.filters" :loading="loading" trim catch-click @navigate="navigateByLink">\n\t\t\t\t<v-filter slot="filter" v-if="catalog.filters" :filters="catalog.filters" :groups="catalog.filterGroups" :value="state.filter" :loading="loading" @filtered="filterChanged" @filterupdate="filterUpdated" ref="filter"></v-filter>\n\t\t\t</v-horizontal-nav>\n\n\t\t\t<v-list-status ref="statusBar" class="flc" :catalog="catalog" :state="state" :changed-filters="changedFilters" :loading="loading"\n\t\t\t\t\t\t\t\t\t\t @reset="resetFilter"\n\t\t\t\t\t\t\t\t\t\t @sort="state.sort = $event; stateChanged();">\n\t\t\t</v-list-status>\n\n\t\t\t<div class="catalog__products flc">\n\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t\t\t</transition>\n\t\t\t\t<transition name="content-fade" mode="out-in">\n\t\t\t\t\t<v-product-grid :items="catalog.items" :bxajaxid="bxajaxid"></v-product-grid>\n\t\t\t\t</transition>\n\t\t\t</div>\n\n\t\t\t<transition name="content-fade">\n\t\t\t\t<v-page-nav class="catalog__navigation"\n\t\t\t\t\t\t\t\t\t\t:static-data-source="catalog.pages"\n\t\t\t\t\t\t\t\t\t\t@navigate="navigateByPage"\n\t\t\t\t\t\t\t\t\t\tv-if="catalog.pages && parseInt(catalog.pages.count) && parseInt(catalog.pages.count) > parseInt(catalog.pages.limit)"></v-page-nav>\n\t\t\t</transition>\n\n <div class="article--static article--framed text-guide catalog-desciption" v-if="catalog.currentSectionDesc" v-html="catalog.currentSectionDesc"></div>\n\n\t\t\t<div class="catalog__recently-viewed flc" v-if="$slots[\'recently-viewed\']">\n\t\t\t\t<slot name="recently-viewed"></slot>\n\t\t\t</div>\n\n\t\t\t<div class="catalog__note flc" v-if="$slots[\'note\']">\n\t\t\t\t<div class="catalog__note-container">\n\t\t\t\t\t<slot name="note"></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{catalog:{sorts:null,filters:null,items:null,remote:null,itemsTotal:null,itemsCount:null,pages:{offset:null,limit:null,count:null},currentSectionDesc:null},state:{sort:null,filter:null,view:"grid",pages:{offset:null,limit:null}},loading:!1,loadingMinTimeout:null,initialized:!1,filterIsChanged:!1,changedFilters:null,filterDebounceTimeout:null,mobile:!1,showList:!0}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null},filterPreset:{default:null},view:{default:"regular"}},computed:{activeFilters:function(){var a=[];return _.each(this.changedFilters,function(n){var t;Array.isArray(n.value)?_.each(n.value,function(t){var e;(t&&void 0!==t.min||void 0!==t.max)&&!t.min&&!t.max&&"number"!=typeof t.min&&"number"!=typeof t.max||(e=_.find(n.options,{value:t}),a.push({id:n.id,type:n.type,label:n.text,value:t,text:e?e.text:null,unit:n.unit}))}):(t=_.find(n.options,{value:n.value}),a.push({id:n.id,type:n.type,label:n.text,value:n.value,text:t?t.text:null,unit:n.unit}))}),a}},methods:{openNewWindow:function(t,e,n){window.open(t,e,n)},openFilterPanel:function(){this.$refs.filter.$emit("openpanel")},getActiveFilterKey:function(t){try{if("object"==_typeof(t.value)&&!_.find(_.find(this.catalog.filters,{id:t.id}).options,{value:t.value}))return t.id+"/custom"}catch(t){}return"single"==t.type?t.id:t.id+"/"+JSON.stringify(t.value)},navigateByLink:function(t){this.catalog.remote=t.href,this.state.filter=null,this.loadCatalog(!1,!1,!0)}
1,loadMore:function(t){this.state.offset=t.offset,this.state.limit=t.limit,this.loadCatalog(!1,!0)},navigateByPage:function(t){this.state.offset=t.offset,this.state.limit=t.limit,this.loadCatalog(),$(this.$refs.statusBar).length&&$("html, body").animate({scrollTop:$(this.$refs.statusBar.$el||this.$el).offset().top-40},500)},loadCatalog:function(t,e,n){function a(){if(l){var t=s.catalog.items;s.catalog=l.catalog,e&&(s.catalog.items=t.concat(s.catalog.items)),e||s.pushState();try{s.state.sort=l.state.sort,s.state.pages=l.catalog.pages}catch(t){console.warn("v-catalog: something wrong with state\n",t)}}s.loadingMinTimeout=null,s.loading=!1,s.$forceUpdate()}var i,s=this,l=null,o=!1;s.loading||(s.loading=!0,t||(s.loadingMinTimeout=setTimeout(function(){o&&a(),s.loadingMinTimeout=null},300)),(i=_.clone(s.state)).filter||(i.filter=null),$.ajax({url:s.catalog.remote,method:"localhost"==window.location.hostname||n?"get":"post",dataType:"json",data:{state:i,loadByLink:n,bxajaxid:s.bxajaxid}}).done(function(t){console.log("v-catalog loaded",t),l=t}).fail(function(t){console.warn("v-catalog load failed",t)}).always(function(){o=!0,s.loadingMinTimeout&&!t||a()}))},filterChanged:function(t,e,n){var a=this;a.filterIsChanged=!(!e||!e.length),a.changedFilters=e,a.state.filter=t,clearTimeout(a.filterDebounceTimeout),a.filterDebounceTimeout=setTimeout(function(){a.prepareFilters(),console.log("filter to submit: ",JSON.parse(JSON.stringify(a.state.filter))),a.stateChanged()},n&&"range"==n.type?2800:1e3)},filterUpdated:function(t,e){this.filterIsChanged=!(!e||!e.length),this.changedFilters=e,this.state.filter=t,this.state.offset=0},prepareFilters:function(){var a=this;_.each(this.state.filter,function(t,e){var n;"range"==t.type&&(t.value=(t=t.value,e=_.find(a.catalog.filters,{id:e}),n=e.min||0,e=e.max||1/0,t.min&&(t.min<n&&(t.min=n),t.min>e)&&(t.min=e),t.max&&(t.max<n&&(t.max=n),t.max>e)&&(t.max=e),t.max&&t.min&&+t.min>+t.max&&(t.min=t.max),t))})},stateChanged:function(){clearTimeout(this.filterDebounceTimeout),this.loadCatalog()},resetFilter:function(t,e){void 0===t?this.$refs.filter.$emit("reset"):this.$refs.filter.$emit("reset",t,e)},handlePopState:function(t){t.state&&"v-catalog"==t.state.component&&(console.log("v-catalog: pop state",t.state),this.state=t.state.state,this.catalog=t.state.catalog)},pushState:function(){console.log(this.catalog.remote),"localhost"!=window.location.hostname&&console.log(this.catalog),window.history.pushState({component:"v-catalog",state:this.state,catalog:this.catalog},"",this.catalog.remote)},handleResize:function(){this.mobile=window.innerWidth<=View.breakpoints["sm-max"]}},created:function(){var t=this;if(t.staticDataSource){t.catalog=t.staticDataSource.catalog,t.staticDataSource.pages&&(t.state.pages.limit=parseInt(t.staticDataSource.pages.limit));try{t.state.sort=t.staticDataSource.state?t.staticDataSource.state.sort:t.staticDataSource.catalog.sorts[0].value}catch(t){console.warn("v-catalog: something wrong with initial sort value\n",t)}console.log("v-catalog loaded from static data",t.catalog)}else t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.filterPreset&&(this.filterIsChanged=!0,this.state.filter=_.map(t.filterPreset,function(t){return{id:t.id,value:t.value,type:t.type}})),t.loadCatalog(!0));window.addEventListener("resize",this.handleResize,View.passiveEventsSupported?{passive:!0}:void 0),window.addEventListener("popstate",t.handlePopState),this.handleResize(),t.staticDataSource&&t.pushState(),Vue.nextTick(function(){t.initialized=!0})},mounted:function(){View.initAllLocal(this.$el)},destroyed:function(){window.removeEventListener("popstate",this.handlePopState),window.removeEventListener("resize",this.handleResize)}}),Vue.component("v-city-bar",{template:'\n\t<div class="v-city-bar city-bar">\n\t\t<div class="city-bar__main">\n\t\t\t<h4 class="city-bar__title h4" v-if="city && city.name">\n\t\t\t\t{{getMessage(\'OUR_REGION\')}} <span>{{city.name}}?</span>\n\t\t\t</h4>\n\t\t\t<div class="city-bar__action flc">\n\t\t\t\t<div class="city-bar__action-grid">\n\t\t\t\t\t<button type="button" class="city-bar__btn btn btn--primary" @click="confirmCity">\n\t\t\t\t\t\t<span class="city-bar__btn-inner">{{getMessage(\'OUR_REGION_CONFIRM\')}}</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button type="button" class="city-bar__btn btn btn--primary" @click="rejectCity(remote)">\n\t\t\t\t\t\t<span class="city-bar__btn-inner">{{getMessage(\'OUR_REGION_REJECT\')}}</span>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="city-bar__footer modal-footer" v-if="countries">\n\t\t\t<h5 class="city-bar__footer-title flc">ATLANT в дÑÑгиÑ
ÑÑÑанаÑ
:</h5>\n\t\t\t<div class="city-bar__countries">\n\t\t\t\t<div class="city-bar__countries-grid">\n\t\t\t\t\t<div class="city-bar__countries-item" v-for="item in countries">\n\t\t\t\t\t\t\x3c!-- или ÑÑавниваÑÑ item[??id??] == country --\x3e\n\t\t\t\t\t\t<a :href="item.active ? null : item.link" class="lang-link" :class="{\'lang-link--active\': item.active}">\n\t\t\t\t\t\t\t<span class="lang-link__icon" :style="{\'background-image\': \'url(\' + item.image + \')\'}"></span>\n\t\t\t\t\t\t\t<span class="lang-link__text">{{item.name}}</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{city:{name:null,id:null},country:null}},props:{remote:{default:null},searchCity:{default:null},initialCityName:{default:null},initialCityId:{default:null},searchCityFormUrl:{default:"/local/components/newsite/citySelect/search.php"},warmCityConfirmUrl:{default:"/local/components/newsite/citySelect/warningCity.php"},bxajaxid:{default:null},countries:{default:null},redirectLink:{default:null}},methods:{confirmCity:function(){modalController.close(),modalController.openUrl(this.warmCityConfirmUrl,{className:"modal--sm"})},rejectCity:function(){modalController.close(),modalController.openUrl(this.searchCityFormUrl,{className:"modal--md"})}},created:function(){Model.geolocation.city&&Model.geolocation.city.name?(this.city.name=Model.geolocation.city.name,this.country=Model.geolocation.country):this.city.name=this.initialCityName},mounted:function(){}}),Vue.component("v-city-form",{template:'\n\t<div class="v-city-form city-form">\n\t\t<h2 class="city-form__title h2">\n\t\t\t{{getMessage(\'SELECT_CITY_TITLE\')}}\n\t\t</h2>\n\t\t<p class="city-form__message">\n\t\t\t{{getMessage(\'SELECT_CITY_NOTIFICATION\')}}\n\t\t</p>\n\n\t\t<transition name="content-fade">\n\t\t\t<div class="city-form__message city-form__message--error" \n\t\t\t\t\t v-if="query && query.length && !canConfirm">\n\t\t\t\t{{getMessage(\'SELECT_CITY_ERROR\')}}\n\t\t\t</div>\n\t\t</transition>\n\n\t\t<v-field type="search" \n\t\t\t\t\t\t v-model="state.query"\n\t\t\t\t\t\t @input="queryInput"\n\t\t\t\t\t\t :placeholder="catalog.placeholder"\n\t\t\t\t\t\t :suggestions="state.query == catalog.query ? catalog.suggestions : null"\n\t\t></v-field>\n\n <div class="city-form__form-suggestions flc" v-if="redirection.link">\n <h4 class="city-form__form-suggestions-title flc">\n ÐÑедÑпÑеждение\n </h4>\n <p>ÐÑ Ð±ÑдеÑе пеÑенапÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² Ñегион {{redirection.region}}</p>\n </div>\n\n\t\t<div class="city-form__form-suggestions flc" v-if="topLocations">\n\t\t\t<h4 class="city-form__form-suggestions-title flc">\n\t\t\t\t{{getMessage(\'TOP_LOCATIONS_TITLE\')}}\n\t\t\t</h4>\n\t\t\t<div class="city-form__form-suggestions-grid grid">\n\t\t\t\t<div class="city-form__form-suggestions-item col col-xl-4 col-xs-6 col-3xs-12"\n\t\t\t\t\t\t v-for="location in topLocations">\n\t\t\t\t\t<button type="button"\n\t\t\t\t\t\t\t\t\tclass="city-form__button"\n\t\t\t\t\t\t\t\t\t@click="setCity(location.data)">\n\t\t\t\t\t\t{{location.showValue}}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="city-form__action">\n\t\t\t<button type="submit" \n\t\t\t\t\t\t\tclass="city-form__btn btn btn--primary flc" \n\t\t\t\t\t\t\t@click="confirmCity" \n\t\t\t\t\t\t\t:disabled="!canConfirm">\n\t\t\t\t<span class="city-form__btn-inner">\n\t\t\t\t\t{{getMessage(\'SAVE\')}}\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t\t<button type="submit" \n\t\t\t\t\t\t\tclass="city-form__btn btn btn--primary flc" \n\t\t\t\t\t\t\t@click="rejectCity">\n\t\t\t\t<span class="city-form__btn-inner">\n\t\t\t\t\t{{getMessage(\'CANCEL\')}}\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{cityID:0,query:null,
1suggestions:[],suggestionsBase:[],inputTimeout:null,filterDebounceTimeout:null,catalog:{remote:null,query:null},redirection:{region:null,link:null},state:{query:null,pages:{offset:null,limit:null}}}},computed:{canConfirm:function(){return this.cityID}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},topLocations:{default:null},bxajaxid:{default:null},rejectLink:{default:null},successLink:{default:null}},methods:{loadCatalog:function(t,e,n){function a(){if(l){s.catalog=l.catalog;try{s.state.query=l.catalog.query}catch(t){console.warn("v-city-form: something wrong with state\n",t)}}s.loadingMinTimeout=null,s.loading=!1,s.$forceUpdate()}var i,s=this,l=null,o=!1;s.loading||(s.loading=!0,t||(s.loadingMinTimeout=setTimeout(function(){o&&a(),s.loadingMinTimeout=null},300)),(i=_.clone(s.state)).filter||(i.filter=null),$.ajax({url:s.catalog.remote,method:"localhost"==window.location.hostname||n?"get":"post",dataType:"json",data:{state:i,loadByLink:n,bxajaxid:s.bxajaxid}}).done(function(t){console.log("v-city-form loaded",t),l=t}).fail(function(t){console.warn("v-city-form load failed",t)}).always(function(){o=!0,s.loadingMinTimeout&&!t||a()}))},stateChanged:function(){clearTimeout(this.filterDebounceTimeout),this.loadCatalog()},confirmCity:function(){this.cityID&&Model.setGeolocation(this.cityID),modalController.close(),this.redirection.link&&(window.location.href=this.redirection.link)},setCity:function(t){Model.setGeolocation(t,function(){modalController.close()})},rejectCity:function(){this.rejectLink&&(window.location.href=this.rejectLink),modalController.close()},queryFocus:function(){this.query=""},queryInput:function(t,e){var n=this;e&&e.suggest?e.data?(this.cityID=e.data,e.redirection&&(n.redirection=e.redirection)):this.cityID=0:(this.cityID=0,clearTimeout(this.inputTimeout),this.inputTimeout=setTimeout(function(){$.post({url:n.catalog.remote,dataType:"json",data:{query:n.state.query,bxajaxid:n.bxajaxid}}).done(function(t){console.log("ajax done",t),n.catalog=t.catalog}).fail(function(t){n.catalog.suggestions=[],console.warn("city-form ajax failed:",t)})},500))}},created:function(){var t=this;if(t.staticDataSource){t.catalog=t.staticDataSource.catalog;
1try{t.state.query=t.staticDataSource.catalog.query}catch(t){console.warn("v-city-form: something wrong with initial sort value\n",t)}console.log("v-city-form loaded from static data",t.catalog)}else t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0))}}),Vue.component("v-city-warn",{template:'\n <div class="city-bar">\n <div class="city-bar__main">\n <h4 class="city-bar__title h4">{{title}}</h4>\n <p class="city-bar__message">{{message}}</p>\n <div class="city-bar__action flc">\n <div class="city-bar__action-grid">\n <button type="button" class="city-bar__btn btn btn--primary" @click="successCityConfirm">\n <span class="city-bar__btn-inner">{{successText}}</span>\n </button>\n <button type="button" class="city-bar__btn btn btn--primary" @click="rejectCityConfirm">\n <span class="city-bar__btn-inner">{{rejectText}}</span>\n </button>\n </div>\n </div>\n </div>\n </div>\n',data:function(){return{}},props:{title:{default:null},message:{default:null},successLink:{default:null},successText:{default:null},rejectLink:{default:null},rejectText:{default:null}},methods:{successCityConfirm:function(){this.successLink&&(window.location.href=this.successLink),modalController.close()},rejectCityConfirm:function(){this.rejectLink&&(window.location.href=this.rejectLink),modalController.close()}}}),Vue.component("v-compare-bar",{template:'\n\t<div class="v-compare-bar compare-bar">\n\t\t<transition name="compare-btn-toggle">\n\t\t\t<div class="compare-bar__block" v-if="items && items.length">\n\t\t\t\t<a :href="link" class="compare-bar__main">\n\t\t\t\t\t{{getMessage(\'IN_COMPARE\')}}: <span class="compare-bar__value">{{items.length}}</span>\n\t\t\t\t</a>\n\t\t\t\t<div class="compare-bar__aside" @click="clear" aria-label="УдалиÑÑ">\n\t\t\t\t\t<svg class="svg-icon">\n\t\t\t\t\t\t<use xlink:href="#svg-icon-delete"></use>\n\t\t\t\t\t</svg>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</transition>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{items:null,link:null}},methods:{clear:function(){Model.compareClear()}},created:function(){var t=this;this.items=Model.compare.items,this.link=Model.compare.link,Model.$on("compare-changed",function(){t.items=Model.compare.items,t.link=Model.compare.link})}}),Vue.component("v-compare-btn",{template:'\n\t<label class="v-compare-btn compare-btn" :class="\'compare-btn--\' + template" @click="template == \'icon\' ? setState(false) : null" aria-label="СÑавниÑÑ">\n\t\t<template v-if="template == \'checkbox\'">\n\t\t\t<input type="checkbox" class="compare-btn__input" :true-value="true" :false-value="false" v-model="added" @change="setState(added)">\n\t\t\t<span class="compare-btn__visual"></span>\n\t\t\t<span class="compare-btn__text">{{getMessage(\'COMPARED\')}}</span>\n\t\t</template>\n\t\t<template v-else-if="template == \'icon\'">\n\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-close"></use></svg>\n\t\t</template>\n\t</label>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{added:void 0}},props:{productId:{default:null},template:{default:"checkbox"}},methods:{updateState:function(){this.added=!!_.find(Model.compare.items,{id:this.productId})},setState:function(t){t?Model.compareAdd(this.productId):Model.compareRemove(this.productId)}},created:function(){Model.$on("compare-changed",this.updateState),this.updateState()}}),Vue.component("v-dblayer-table",{template:'\n <div class="v-article-list-full article-list-full article-list-full--fill article-list-full--framed">\n <transition name="content-fade">\n <div class="loader-cover" v-if="loading"></div>\n </transition>\n <div class="article-list-full__status flc">\n <v-list-status :catalog="catalog" :state="state" :loading="loading"\n @reset="resetHeaderFilter"\n @sort="state.sort = $event; stateChanged();">\n </v-list-status>\n </div>\n <div class="article-list-full__text-block text-guide flc">\n <div class="table-scroller">\n <table cellspacing="1" cellpadding="0" class="code-table">\n <tbody>\n <tr >\n <th v-for="(head,key, index) in catalog.headers">\n {{head.title}}\n </th>\n </tr>\n <tr v-for="item in catalog.items">\n <td v-for="(head,key) in catalog.headers" align="center">
1\n <span v-if="head.contentType == \'HTML\' " v-html="item[key]"></span>\n <span v-else>\n {{item[key]}}\n </span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n <transition name="content-fade">\n <v-page-nav class="catalog__navigation"\n :static-data-source="catalog.pages"\n @navigate="navigateByPage"\n v-if="catalog.pages && !noPageNav && parseInt(catalog.pages.count) && parseInt(catalog.pages.count) > parseInt(catalog.pages.limit)"></v-page-nav>\n </transition>\n\n </div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{catalog:{filters:null,items:null,headers:null,remote:null,attention:null,itemsTotal:null,itemsCount:null,pages:{offset:null,limit:null,count:null}},state:{filter:null,pages:{offset:null,limit:null},sort:null},loading:!1,loadingMinTimeout:null,mapLoading:!1,changedFilters:null,isInitialState:!0,currentLocation:null,isGeolocationChanged:!1}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null},useHeaderFilter:{type:Boolean,default:!1},frame:{type:Boolean,default:!1},mode:{type:String,default:"article"},view:{type:String,default:"regular"},initialOpenArticle:{default:null},userLocation:{type:Array,default:null},allCoords:{default:null},noPageNav:{type:Boolean,default:!1},noHistory:{type:Boolean,default:!1},fill:{type:Boolean,default:!1},openDetailInNewPage:{type:Boolean,default:!1}},methods:{openFilterPanel:function(){this.$refs.filter.$emit("openpanel")},getActiveFilterKey:function(t){try{if("object"==_typeof(t.value)&&!_.find(_.find(this.catalog.filters,{id:t.id}).options,{value:t.value}))return t.id+"/custom"}catch(t){}return t.id+"/"+JSON.stringify(t.value)},navigateByLink:function(t){this.catalog.remote=t.href,this.state.filter=null,this.loadCatalog()},navigateByPage:function(t){this.state.offset=t.offset,this.state.limit=t.limit,this.loadCatalog(),$("html, body").animate({scrollTop:$(this.$el).offset().top-40},500)},loadCatalog:function(t,e){function n(){if(s){var t=i.catalog.items;i.catalog=s.catalog,e&&(i.catalog.items=t.concat(i.catalog.items)),e||(i.pushState(),i.isInitialState=!1);try{i.state.pages=s.catalog.pages,s.state&&(i.state.sort=s.state.sort)}catch(t){console.warn("v-dblayer-table: something wrong with state\n",t)}window.vHeaderFilter&&(window.vHeaderFilter.$emit("set-filters",i.catalog.filters),window.vHeaderFilter.$emit("set-loading",!1),window.vHeaderFilter.$off("filtered",i.filterChanged).$on("filtered",i.filterChanged))}i.loadingMinTimeout=null,i.loading=!1}var a,i=this,s=null,l=!1;i.loading||(i.loading=!0,window.vHeaderFilter&&window.vHeaderFilter.$emit("set-loading",!0),t||(i.loadingMinTimeout=setTimeout(function(){l&&n(),i.loadingMinTimeout=null},300)),a=_.clone(i.state),$.ajax({url:i.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",cache:!1,data:{state:a,bxajaxid:i.bxajaxid}}).done(function(t){console.log("v-dblayer-table loaded",t),s=t}).fail(function(t){console.warn("v-dblayer-table load failed",t)}).always(function(){l=!0,i.loadingMinTimeout&&!t||n()}))},loadMore:function(){this.state.pages.offset=parseInt(this.catalog.pages.offset)+parseInt(this.catalog.pages.limit),this.loadCatalog(!1,!0)},filterChanged:function(t,e,n){var a=this;a.changedFilters=e,a.state.filter=t,clearTimeout(a.filterDebounceTimeout),a.filterDebounceTimeout=setTimeout(a.stateChanged,n&&"range"==n.type?3200:1e3)},filterUpdated:function(t,e){this.changedFilters=e,this.state.filter=t},stateChanged:function(){this.loadCatalog()},resetFilter:function(t,e){void 0===t?this.$refs.filter.$emit("reset"):this.$refs.filter.$emit("reset",t,e)},resetHeaderFilter:function(t,e){window.vHeaderFilter&&(void 0===t?window.vHeaderFilter.$emit("reset"):window.vHeaderFilter.$emit("reset",t,e))},handlePopState:function(t){t.state&&"v-article-list-full"==t.state.component&&!this.noHistory&&(console.log("v-article-list-full: pop state",t.state),this.state=t.state.state,this.catalog=t.state.catalog)},pushState:function(t){"localhost"==window.location.hostname||this.noHistory||window.history[this.isInitialState||t?"replaceState":"pushState"]({component:"v-article-list-full",state:this.state,catalog:this.catalog},"",this.catalog.remote)},replaceState:function(){this.pushState(!0)},linkClick:function(t,e,n){t&&t.preventDefault(),this.openDetailInNewPage?window.location.href=e:modalController.open({component:"v-article",className:"modal--lg modal--article",remoteDataSource:e,bxajaxid:this.bxajaxid,ownHistory:!n})},slideDown:function(t,e){$(t).hide().slideDown(200,e),setTimeout(function(){$(t).find(".slick-slider").slick("setPosition")},75)},slideUp:function(t,e){$(t).show().slideUp(200,e)}},created:function(){var t=this;if(t.staticDataSource){if(t.catalog=t.staticDataSource.catalog,t.staticDataSource.pages&&(t.state.pages.limit=parseInt(t.staticDataSource.pages.limit)),"online"!=t.staticDataSource.catalog.shopType&&t.staticDataSource.catalog.sorts)try{t.state.sort=t.staticDataSource.state?t.staticDataSource.state.sort:t.staticDataSource.catalog.sorts[0].value}
1catch(t){console.warn("v-catalog: something wrong with initial sort value\n",t)}console.log("v-article-list-full loaded from static data",t.catalog),t.pushState()}else t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.filterPreset&&(this.state.filter=_.map(t.filterPreset,function(t){return{id:t.id,value:t.value,type:t.type}})),t.loadCatalog(!0));window.vHeaderFilter?(window.vHeaderFilter.$emit("set-filters",t.catalog.filters),window.vHeaderFilter.$on("filtered",t.filterChanged),window.vHeaderFilter.$on("filterupdate",t.filterUpdated)):setTimeout(function(){window.vHeaderFilter?(window.vHeaderFilter.$emit("set-filters",t.catalog.filters),window.vHeaderFilter.$on("filtered",t.filterChanged),window.vHeaderFilter.$on("filterupdate",t.filterUpdated)):console.warn("v-article-list-full: header filters not found")},1e3),t.initialOpenArticle&&(t.pushState(),t.linkClick(null,t.initialOpenArticle,!0)),window.addEventListener("popstate",t.handlePopState)},destroyed:function(){window.removeEventListener("popstate",this.handlePopState)}}),Vue.component("v-detail-picker",{template:'\n\t<div class="v-detail-picker detail-picker">\n\t\t<div class="detail-picker__wrap">\n\t\t\t<div class="detail-picker__left">\n\t\t\t\t<ul class="detail-picker__left-list">\n\t\t\t\t\t<li v-for="(item, itemIndex) in localItems" \n\t\t\t\t\t\t\tclass="detail-picker__left-list-item flc">\n\t\t\t\t\t\t<button class="detail-picker__left-list-btn" \n\t\t\t\t\t\t\t\t\t\t:class="{\'active\': itemIndex === currentIndex}" \n\t\t\t\t\t\t\t\t\t\ttype="button" \n\t\t\t\t\t\t\t\t\t\t@click="showCurrentItemDetails(item.details, itemIndex)" \n\t\t\t\t\t\t\t\t\t\tv-html="highlightQueryInText(item.sku)">\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div class="detail-picker__right">\n\t\t\t\t<div class="detail-picker__grid grid">\n\t\t\t\t\t<div v-for="detail in currentItemDetails" \n\t\t\t\t\t\t\t class="detail-picker__col col col-xl-4 col-sm-6 col-2xs-12">\n\t\t\t\t\t\t<a :href="detail.link" class="detail-picker__right-item">\n\t\t\t\t\t\t\t<img :src="detail.image" alt="" class="detail-picker__right-item-image">\n\t\t\t\t\t\t\t<div class="detail-picker__right-item-name">{{detail.name}}</div>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',data:function(){return{localItems:null,currentItemDetails:[],currentIndex:0}},props:{items:{default:null},bxajaxid:{default:null},filterValue:{default:null},localQuery:{default:null}},watch:{items:function(){this.localItems=this.items,this.currentItemDetails=this.localItems[0].details},filterValue:function(){this.currentIndex=0,this.currentItemDetails=this.localItems[0].details}},methods:{highlightQueryInText:function(e){try{return e.replace(new RegExp(this.localQuery,"i"),'<span class="in-text-highlight-alt">$&</span>')}catch(t){return e}},showCurrentItemDetails:function(t,e){this.currentItemDetails=t,this.currentIndex=e}},created:function(){this.localItems=this.items,this.localItems&&this.localItems[0]&&(this.currentItemDetails=this.localItems[0].details)}}),Vue.component("v-factory",{template:'\n\t<article class="v-factory factory">\n\t\t<div class="factory__info-block">\n\t\t\t<div class="factory__text-wrap">\n\t\t\t\t<p>\n\t\t\t\t\tÐинÑкий завод Ñ
олодилÑников, оÑнованнÑй в 1959 годÑ, за ÑÑавниÑелÑно коÑоÑкий пеÑиод вÑемени ÑÑал одним из ведÑÑиÑ
пÑоизводиÑелей бÑÑовой Ñ
олодилÑной ÑеÑ
ники.\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\tÐÑоÑнÑе позиÑии пÑедпÑиÑÑÐ¸Ñ Ð½Ð° ÑÑнке бÑÑовÑÑ
пÑибоÑов опÑеделÑÑÑÑÑ Ð½ÐµÐ¸Ð·Ð¼ÐµÐ½Ð½Ñм каÑеÑÑвом, надежноÑÑÑÑ, пÑакÑиÑнÑм дизайном, многообÑазием моделей Ñ
олодилÑников и моÑозилÑников.\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<img class="factory__pic" src="/local/images/markup-images/banners/factory-img.jpg" alt="">\n\t\t</div>\n\n\t\t<div class="factory__contacts">\n\t\t\t<div class="factory__contact flc">\n\t\t\t\t<div class="factory__contact-title">\n\t\t\t\t\tÐдÑеÑ\n\t\t\t\t</div>\n\t\t\t\t<div class="factory__text">\n\t\t\t\t\tпÑ. ÐобедиÑелей, 61<br>\n\t\t\t\t\tг. ÐинÑк, ÐелаÑÑÑÑ\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="factory__contact flc">\n\t\t\t\t<div class="factory__contact-title">\n\t\t\t\t\tÐÑÐµÐ¼Ñ ÑабоÑÑ\n\t\t\t\t</div>\n\t\t\t\t<div class="factory__text">\n\t\t\t\t\tпн-Ð¿Ñ â 8:00 до 17:00\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="factory__contact flc">\n\t\t\t\t<div class="factory__contact-title">\n\t\t\t\t\tÐонÑакÑÑ\n\t\t\t\t</div>\n\t\t\t\t<div class="factory__text">\n\t\t\t\t\t<div class="factories-list__contacts">\n\t\t\t\t\t\t<div class="factories-list__contact">\n\t\t\t\t\t\t\t<span class="factory-list__text">ТелеÑон: <a href="tel:+375172039697">
1+375 17 218-62-22</a></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="factories-list__contact">\n\t\t\t\t\t\t\t<span class="factories-list__text">ФакÑ: <a href="tel:+375172039697">+375 17 203-96-97</a></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="factories-list__contact">\n\t\t\t\t\t\t\t<span class="factories-list__text">Ðл. адÑеÑ: <a href="mailto:[email protected]">[email protected]</a></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="section-action flc">\n\t\t\t\t\t\t<a href="#" class="arrow-link">ÐÑе конÑакÑÑ<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow">\n\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="accordion">\n\t\t\t<div class="accordion__item js-accordion-item">\n\t\t\t\t<button class="accordion__btn js-accordion-btn collapsed">\n\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t<span class="accordion__btn-text h3">ÐÑÑоÑÐ¸Ñ Ð¿ÑедпÑиÑÑиÑ</span>\n\t\t\t\t</button>\n\t\t\t\t<div class="accordion__body js-accordion-body collapsed">\n\t\t\t\t\t<div class="accordion__content js-accordion-content collapsed">\n\t\t\t\t\t\tÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
ÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
ÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
ÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
ÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
ÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="accordion__item js-accordion-item">\n\t\t\t\t<button class="accordion__btn js-accordion-btn collapsed">\n\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t<span class="accordion__btn-text h3">ÐÑедпÑиÑÑие ÑегоднÑ</span>\n\t\t\t\t</button>\n\t\t\t\t<div class="accordion__body js-accordion-body collapsed">\n\t\t\t\t\t<div class="accordion__content js-accordion-content collapsed">\n\t\t\t\t\t\tÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
ÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
ÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
ÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
ÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
ÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="accordion__item js-accordion-item">\n\t\t\t\t<button class="accordion__btn js-accordion-btn collapsed">\n\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t<span class="accordion__btn-text h3">ÐолиÑика в облаÑÑи каÑеÑÑва, оÑ
ÑÐ°Ð½Ñ Ð¾ÐºÑÑжаÑÑей ÑÑÐµÐ´Ñ Ð¸ оÑ
ÑÐ°Ð½Ñ ÑÑÑда</span>\n\t\t\t\t</button>\n\t\t\t\t<div class="accordion__body js-accordion-body collapsed">\n\t\t\t\t\t<div class="accordion__content js-accordion-content collapsed">\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tÐа ÐинÑком заводе Ñ
олодилÑников в наÑÑоÑÑее вÑÐµÐ¼Ñ Ð²ÑпÑÑкаÑÑÑÑ <a href="#">бÑÑовÑе Ñ
олодилÑники</a> и <a href="#">моÑозилÑники ÐТÐÐÐТ</a>, ÑазнÑе по обÑÐµÐ¼Ñ (Ð¾Ñ 30 до 400 л), ÑÑнкÑионалÑнÑм возможноÑÑÑм (однокамеÑнÑе и двÑÑ
камеÑнÑе, Ñ Ð²ÐµÑÑ
ним и нижним ÑаÑположением моÑозилÑной камеÑÑ, Ñ Ð¾Ð´Ð½Ð¸Ð¼ и двÑÐ¼Ñ ÐºÐ¾Ð¼Ð¿ÑеÑÑоÑами, Ñ ÑлекÑÑоннÑм блоком ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ индикаÑии).\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tÐÑобенноÑÑÑми Ð²Ð½Ð¾Ð²Ñ ÑазÑабоÑаннÑÑ
и запÑÑеннÑÑ
в ÑеÑÐ¸Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ Ñ
олодилÑников Ñвл
1ÑÑÑÑÑ:\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li>пÑименение двÑÑ
компÑеÑÑоÑов;</li>\n\t\t\t\t\t\t\t<li>иÑполÑзование ÑиÑÑÐµÐ¼Ñ Ð¾Ð·Ð¾Ð½Ð¾Ð±ÐµÐ·Ð¾Ð¿Ð°Ñной заливки двеÑи и ÑкаÑа;</li>\n\t\t\t\t\t\t\t<li>новÑй наÑÑжнÑй и внÑÑÑенний дизайн;</li>\n\t\t\t\t\t\t\t<li>изгоÑовление деÑалей из меÑаллоплаÑÑа и пÑозÑаÑного полиÑÑиÑола.</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tÐÑи ÑазÑабоÑке новÑÑ
моделей бÑÑовÑÑ
Ñ
олодилÑников и моÑозилÑников ÐТÐÐÐТ ÑовеÑÑенÑÑвÑÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑии изделий, ÑлÑÑÑаеÑÑÑ Ð¸Ñ
ÑнеÑгоÑÑÑекÑивноÑÑÑ.</p>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tÐаждÑй Ñ
олодилÑник и моÑозилÑник, ÑÑ
одÑÑий Ñ ÐºÐ¾Ð½Ð²ÐµÐ¹ÐµÑа завода, пÑоÑ
Ð¾Ð´Ð¸Ñ <b>ÑÑнкÑионалÑнÑе иÑпÑÑÐ°Ð½Ð¸Ñ Ð² ÑооÑвеÑÑÑвии Ñ ÐµÐ²ÑопейÑкими ноÑмами каÑеÑÑва, надежноÑÑи и безопаÑноÑÑи.</b> ÐоÑÑÐ¾Ð¼Ñ Ð±ÐµÐ»Ð¾ÑÑÑÑкие Ñ
олодилÑники и моÑозилÑники имеÑÑ ÑÑÑойÑивÑй ÑпÑÐ¾Ñ Ð½Ðµ ÑолÑко в ÑÑÑанаÑ
СÐÐ, но и в далÑнем заÑÑбежÑе. ÐинÑкий завод Ñ
олодилÑников поÑÑавлÑÐµÑ ÑÐ²Ð¾Ñ Ð¿ÑодÑкÑÐ¸Ñ Ð² ÐеÑманиÑ, ФÑанÑиÑ, СловакиÑ, ÐенгÑиÑ, ÐолÑÑÑ, ÐиÑвÑ, ÐаÑвиÑ, РоÑÑиÑ, УкÑаинÑ, ÐзеÑбайджан, ÐазаÑ
ÑÑан и Ñ.д. â вÑего в 21 ÑÑÑÐ°Ð½Ñ Ð¼Ð¸Ñа.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tÐокÑпаÑели оÑмеÑаÑÑ <b>вÑÑокое каÑеÑÑво, надежноÑÑÑ Ð¸ ÑовÑеменнÑй дизайн</b> Ñ
олодилÑников ÐТÐÐÐТ, коÑоÑÑе по Ñвоим ÑеÑ
ниÑеÑким паÑамеÑÑам не ÑÑÑÑпаÑÑ Ð»ÑÑÑим миÑовÑм аналогам и аÑÑеÑÑÐ¾Ð²Ð°Ð½Ñ Ð² пÑеÑÑижнÑÑ
евÑопейÑкиÑ
ÑеÑÑиÑиÑиÑованнÑÑ
ÑенÑÑаÑ
.</p>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tÐÑедпÑиÑÑие, Ñ ÐºÐ°Ð¶Ð´Ñм годом ÑвелиÑÐ¸Ð²Ð°Ñ Ð²ÑпÑÑк бÑÑовой Ñ
олодилÑной ÑеÑ
ники, ÑÐ°Ð·Ð²Ð¸Ð²Ð°ÐµÑ Ð¿ÑоизводÑÑво ÑоÑгово-Ñ
олодилÑного обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ ÐТÐÐÐТ. <a href="#">ХолодилÑнÑе ÑкаÑÑ</a>, обÑемом Ð¾Ñ 245 до 445 л, ÑÑеди коÑоÑÑÑ
еÑÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸ Ñ ÑекламнÑм блоком, комбиниÑованнÑе Ñ Ð¼Ð¾ÑозилÑной камеÑой, полÑзÑÑÑÑÑ Ð½Ðµ менÑÑим ÑпÑоÑом, Ñем бÑÑовÑе Ñ
олодилÑники и моÑозилÑники.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t</article>\n',data:function(){return{}}}),Vue.component("v-field",{template:'\n\t<div class="v-field field" :class="{\n\t\t\'hidden\': (type === \'hidden\'),\n\t\t\'form-error\': error && !extendable,\n\t\t\'field--extendable\': extendable && type != \'file\',\n\t\t\'field--extended\': extendable && type != \'file\' && localValue && localValue.length > 1,\n\t\t\'field--w-placeholder\': label && integratedLabel,\n\t\t\'field--placeholder-state\': label && integratedLabel && !extendable && checkPlaceholderState(),\n\t\t\'field--open\': open && !(searchable && !searchableOptionTestAny()),\n\t\t\'field--suggestions-open\': localSuggestions && hasFocus,\n\t\t\'field--select\': (type === \'select\'),\n\t\t\'field--search\': (type ===\'search\'),\n\t\t\'field--search-btn\': searchBtn}">\n\n\t\t\x3c!--\n\t\t\tÐ¢Ð¸Ð¿Ñ Ð¿Ð¾Ð»ÐµÐ¹\n\t\t\t- вÑÑ ÑÑо по ÑмолÑÐ°Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ÑÑавиÑÑ Ð½Ð° инпÑÑ (text, tel, email, password)\n\t\t\t- date\n\t\t\t- select\n\t\t\t- checkbox\n\t\t\t- check-list\n\t\t\t- check-row (?)\n\t\t\t- radio\n\t\t\t- radio-list\n\t\t\t- radio-row (?)\n\t\t\t- color\n\t\t\t- color-radio\n\t\t\t- range\n\t\t\t- file\n\t\t\t- photo\n\t\t\t- photo-alt (ÑиÑокое)\n\t\t\t- schedule\n\t\t--\x3e\n\n\t\t<template v-if="extendable && type != \'file\'">\n\t\t\t<template v-if="typeof localValue !== \'object\'">{{getMessage(\'ERROR\')}}</template>\n\t\t\t<template v-else>\n\t\t\t\t<transition-group tag="div" class="field__elems field__elems--ext" @enter="slideDown" @leave="slideUp" name="content-fade">\n\t\t\t\t\t<div class="field__elem flc" v-for="item, index in localValue" :key="\'key-\'+ index">\n\t\t\t\t\t\t<div class="field__elem-main">\n\t\t\t\t\t\t\t<v-field :type="type" v-model="localValue[index]" @input
1="emitInput(localValue)"\n\t\t\t\t\t\t\t\t\t:error="getExtendableFieldError(index)"\n\t\t\t\t\t\t\t\t\t:mask="mask"\n\t\t\t\t\t\t\t\t\t:label="label"\n\t\t\t\t\t\t\t\t\t:integrated-label="integratedLabel"\n\t\t\t\t\t\t\t\t\t:note="note"\n\t\t\t\t\t\t\t\t\t:options="options"\n\t\t\t\t\t\t\t\t\t:empty-option="emptyOption"\n\t\t\t\t\t\t\t\t\t:disabled="disabled"></v-field>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t\t<button type="button" v-if="localValue && localValue.length > 1" class="field__elem-remove" :title="getMessage(\'DELETE\')"\n\t\t\t\t\t\t\t\t\t@click="spliceArray(index); $emit(\'remove\', index); emitInput(localValue); $forceUpdate();">\n\t\t\t\t\t\t\t\t<svg class="field__remove-icon svg-icon">\n\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-lite-close"></use>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</transition>\n\t\t\t\t\t</div>\n\t\t\t\t</transition-group>\n\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t<div class="field__add" v-if="localValue && localValue.length < extendLimit">\n\t\t\t\t\t\t<span class="link" @click="localValue.push(\'\'); emitInput(localValue);" tabindex="0">+ {{extendText}}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t</template>\n\t\t</template>\n\n\n\t\t<template v-else>\n\t\t \n\t\t\t<label v-if="!integratedLabel && label && type != \'checkbox\' && type != \'radio\' && type != \'schedule\'" class="field__label">\n\t\t\t\t{{label}}\n\t\t\t</label>\n\n\t\t\t<label v-if="integratedLabel && label && (type == \'file\' || type == \'check-list\' || type == \'check-row\' || type == \'radio-list\' || type == \'radio-row\')" class="field__label">\n\t\t\t\t{{label}}\n\t\t\t</label>\n\n\n\t\t\t<div class="field__input">\n\n\t\t\t\t<label class="field__int-label"\n\t\t\t\t\t\t\t v-if="integratedLabel && label && type != \'file\' && type != \'checkbox\' && type != \'check-list\' && type != \'check-row\' && type != \'radio\' && type != \'radio-list\' && type != \'radio-row\' && type != \'rating\' && type != \'schedule\' && type != \'photo\' && type != \'photo-alt\'" :class="{\'field__int-label--special-for-textarea\': type == \'textarea\'}">\n\t\t\t\t\t{{label}}\n\t\t\t\t\t<span v-if="required" class="field__int-label-star"> *</span>\n\t\t\t\t</label>\n\n\t\t\t\t<template v-if="type == \'select\'">\n\t\t\t\t\t<div tabindex="0" class="select select--block"\n\t\t\t\t\t\t\t:class="{\'open\': open && !(searchable && !localSearchableValue), \'select--open-type\': openType, \'disabled\': disabled, \'select--small\': small}">\n\t\t\t\t\t\t<div v-if="!searchable" class="select__btn" @click="disabled ? null : open = !open">\n\t\t\t\t\t\t\t<span class="select__value">{{selectedOption ? selectedOption.text || selectedOption.value : null}}</span>\n\t\t\t\t\t\t\t<svg class="select__chevron svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<input v-else type="text" class="text-input select__search-input" v-model="localSearchableValue" @keypress.enter="searchableInputTest"\n\t\t\t\t\t\t\t\t:class="{\'text-input--small\': small, \'text-input--white\': white}" :placeholder="placeholder"\n\t\t\t\t\t\t\t\t@focus="hasFocus = true; open = true;" @blur="hasFocus = false;">\n\t\t\t\t\t\t<div class="select__list" @click.stop>\n\t\t\t\t\t\t\t<div class="select__list-body">\n\t\t\t\t\t\t\t\t<div class="select__list-note" v-if="searchable && !searchableOptionTestAny()">{{getMessage(\'EMPTY_FOUNDED\')}}</div>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<a :href="optionsAsLinks && option.count !== 0 ? option.link : null"\n\t\t\t\t\t\t\t\t\t\tv-for="option in searchable ? computedOptionsOnSearch : computedOptions"\n\t\t\t\t\t\t\t\t\t\tclass="select__option"\n\t\t\t\t\t\t\t\t\t\t:class="{\'active\': !searchable && option.value == (selectedOption ? selectedOption.value : null), \'disabled\': option.count === 0}"\n\t\t\t\t\t\t\t\t\t\t@click="option.value == (selectedOption ? selectedOption.value : null) || option.count === 0 ? null : emitInput(arrayMode ? [option.value] : option.value); open = false;">\n\t\t\t\t\t\t\t\t\t<span v-html="searchable ? highlightQueryInText(option.text, localSearchableValue) : option.text"></span>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-else-if="type == \'big-radio-list\'">\n\t\t\t\t\t<div class="check-list check-list--big-radio-list">\n\t\t\t\t\t\t<div class="check-list__item" v-for="option, index in options">\n\t\t\t\t\t\t\t<label class="checkbox-row checkbox-row--radio"\n\t\t\t\t\t\t\t :class="{\'disabled\': disabled || option.disabled}">\n\t\t\t\t\t\t\t\t<input type="radio"\n\t\t\t\t\t\t\t\t class="checkbox-row__input"\n\t\t\t\t\t\t\t\t :value="option.value"\n\t\t\t\t\t\t\t\t v-model="localValue"\n\t\t\t\t\t\t\t\t @change="emitInput(localValue)"\n\t\t\t\t\t\t\t\t :readonly="readonly"\n\t\t\t\t\t\t\t\t :disabled="disabled || option.disabled">\n\t\t\t\t\t\t\t\t<span class="checkbox-row__visual"></span>\n\t\t\t\t\t\t\t\t<p v-if="option.text" v-html="option.text" class="checkbox-row__text"></p>\n\t\t\t\t\t\t\t\t<p v-if="option.descr" v-html="option.descr" class="checkbox-row__descr"></p>\n\t\t\t\t\t\t\t\t<a v-if="option.showOnMapLink"\n\t\t\t\t\t\t\t\t :href="option.showOnMapLink"\n\t\t\t\t\t\t\t\t class="checkbox-row__map-link map-link">\n\t\t\t\t\t\t\t\t\t<svg class="map-link__icon svg-icon">\n\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-map-link"></use>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t<span class="map-link__text">{{getMessage(\'SHOW_ON_MAP\')}}</span>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-else-if="type == \'check-list\' || type == \'check-row\' || type == \'radio-list\' || type == \'radio-row\'">\n\t\t\t\t\t<div class="check-list" :class="{\'check-list--row\': type == \'check-row\' || type == \'radio-row\'}">\n\t\t\t\t\t\t<div v-if="index <= 9" class="check-list__item" v-for="option, index in options">\n\t\t\t\t\t\t\t<label class="checkbox-row" :class="{\'checkbox-row--small\': small, \'disabled\': disabled || option.disabled, \'checkbox-row--radio\': type == \'radio-list\' || type == \'radio-row\'}">\n\t\t\t\t\t\t\t\t<input :type="type == \'check-list\' || type == \'check-row\' ? \'checkbox\' : \'radio\'" class="checkbox-row__input"\n\t\t\t\t\t\t\t\t\t\t:value="option.value" v-model="localValue" @change="emitInput(localValue)"\n\t\t\t\t\t\t\t\t\t\t:readonly="readonly" :disabled="disabled || option.disabled">\n\t\t\t\t\t\t\t\t<span class="checkbox-row__visual"></span>\n\t\t\t\t\t\t\t\t<span class="checkbox-row__text" v-if="option.text" v-html="option.text"></span>\n\t\t\t\t\t\t\t\t<span v-if="option.tip" class="inline-tooltip-wrap" aria-label="ÐодÑказка"> <span class="inline-tooltip dropdown-owner js-dropdown">\n\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__btn js-dropdown__btn"></span>\n\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__body dropdown js-dropdown__body js-tooltip-position">{{option.tip}}</span>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t\t<div v-if="options.length > 10 && !folded" class="check-list__tail">\n\t\t\t\t\t\t\t\t<div v-if="index > 9" class="check-list__item" v-for="option, index in options">\n\t\t\t\t\t\t\t\t\t<label class="checkbox-row" :class="{\'checkbox-row--small\': small, \'disabled\': disabled || option.disabled, \'checkbox-row--radio\': type == \'radio-list\' || type == \'radio-row\'}">\n\t\t\t\t\t\t\t\t\t\t<input :type="type == \'check-list\' || type == \'check-row\' ? \'checkbox\' : \'radio\'" class="checkbox-row__input"\n\t\t\t\t\t\t\t\t\t\t\t\t\t :value="option.value" v-model="localValue" @change="emitInput(localValue)"\n\t\t\t\t\t\t\t\t\t\t\t\t\t :readonly="readonly" :disabled="disabled || option.disabled">\n\t\t\t\t\t\t\t\t\t\t<span class="checkbox-row__visual"></span>\n\t\t\t\t\t\t\t\t\t\t<span class="checkbox-row__text" v-if="option.text" v-html="option.text"></span>\n\t\t\t\t\t\t\t\t\t\t<span v-if="option.tip" class="inline-tooltip-wrap" aria-label="ÐодÑказка"> <span class="inline-tooltip dropdown-owner js-dropdown">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__btn js-dropdown__btn"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__body dropdown js-dropdown__body js-tooltip-position">{{option.tip}}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t<button class="btn btn--sm btn--secondary check-list__btn" :class="{\'btn--folded\': folded}" v-if="options.length > 10" type="button" @click="folded = !folded">\n\t\t\t\t\t\t\t{{getMessage(\'MORE\')}}\n\t\t\t\t\t\t\t<svg class="check-list__ico svg-icon">\n\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\n\t\t\t\t<template v-else-if="type == \'checkbox\' || type == \'radio\'">\n\t\t\t\t\t<label class="checkbox-row" :class="{\'checkbox-row--small\': small}">\n\t\t\t\t\t\t<input :type="type" class="checkbox-row__input"\n\t\t\t\t\t\t\t\t:true-value="trueValue" :false-value="falseValue" v-model="localValue" @change="emitInput(localValue)"\n\t\t\t\t\t\t\t\t:readonly="readonly" :disabled="disabled">\n\t\t\t\t\t\t<span class="checkbox-row__visual"></span>\n\t\t\t\t\t\t<span class="checkbox-row__text" v-if="label" v-html="label"></span>\n\t\t\t\t\t</label>\n\t\t\t\t</template>\n\n\n\t\t\t\t<template v-else-if="type == \'range\'">\n\t\t\t\t\t<div class="range-input-options flc" v-if="options && options.length">\n\t\t\t\t\t\t\x3c!--\n\t\t\t\t\t\t<v-field type="check-list" :options="options" @input
1="emitInput(localValue, localValueAdditional)"\n\t\t\t\t\t\t\t\tv-model="localValueAdditional" :small="small" :disabled="disabled"></v-field>\n\t\t\t\t\t\t--\x3e\n\t\t\t\t\t\t<div class="range-input-options__item flc" v-for="option in options">\n\t\t\t\t\t\t\t<div class="range-input-options__link" @click="localValue = option.value; emitInput(localValue);">{{option.text}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="input-group">\n\t\t\t\t\t\t<div class="input-group__cell">\n\t\t\t\t\t\t\t<input type="number" class="text-input" :class="{\'text-input--small\': small}" :placeholder="min" novalidate @keypress="filterNumbers"\n\t\t\t\t\t\t\t\t\tv-model="localValue.min" @input="emitInput(localValue)" @blur="emitInput(fixRangeValue(localValue))" :disabled="disabled">\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="input-group__cell">\n\t\t\t\t\t\t\t<input type="number" class="text-input" :class="{\'text-input--small\': small}" :placeholder="max" novalidate @keypress="filterNumbers"\n\t\t\t\t\t\t\t\t\tv-model="localValue.max" @input="emitInput(localValue)" @blur="emitInput(fixRangeValue(localValue))" :disabled="disabled">\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\n\t\t\t\t<template v-else-if="type == \'color\' || type == \'color-radio\'">\n\t\t\t\t\t<div class="color-picker">\n\t\t\t\t\t\t<div class="color-picker__grid">\n\t\t\t\t\t\t\t<label class="color-picker__item color-checkbox" v-for="option in options" :class="{\'color-checkbox--light\': isColorLight(option.color)}">\n\t\t\t\t\t\t\t\t<input :type="type == \'color\' ? \'checkbox\' : \'radio\'" class="color-checkbox__input" v-model="localValue" :value="option.value" @change="emitInput(localValue)">\n\t\t\t\t\t\t\t\t<span class="color-checkbox__visual" :class="{\'js-dropdown js-dropdown__btn\': !touch}"\n\t\t\t\t\t\t\t\t\t\t:style="{\'background\': option.color}">\n\t\t\t\t\t\t\t\t\t<span class="color-checkbox__triangle"></span>\n\t\t\t\t\t\t\t\t\t<span class="color-checkbox__tooltip dropdown js-dropdown__body js-tooltip-position" v-if="!touch">\n\t\t\t\t\t\t\t\t\t\t{{ option.text }}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-else-if="type == \'counter\'">\n\t\t\t\t\t<div class="field-counter field-counter--border">\n\t\t\t\t\t\t<div class="field-counter__wrap">\n\t\t\t\t\t\t\t<button class="field-counter__btn field-counter__btn--minus"\n\t\t\t\t\t\t\t type="button"\n\t\t\t\t\t\t\t aria-label="минÑÑ"\n\t\t\t\t\t\t\t @click="decreaseCounter"\n\t\t\t\t\t\t\t :disabled="disabled || localValue < 2">\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<div class="field-counter__label">\n\t\t\t\t\t\t\t\t<input class="field-counter__input"\n\t\t\t\t\t\t\t\t type="number"\n\t\t\t\t\t\t\t\t @input="checkCounterValue(localValue)"\n\t\t\t\t\t\t\t\t @blur="checkCounterValue(localValue)"\n\t\t\t\t\t\t\t\t v-model="localValue"\n\t\t\t\t\t\t\t\t :disabled="disabled"\n\t\t\t\t\t\t\t\t maxlength="2">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<button class="field-counter__btn field-counter__btn--plus"\n\t\t\t\t\t\t\t type="button"\n\t\t\t\t\t\t\t aria-label="плÑÑ"\n\t\t\t\t\t\t\t @click="increaseCounter"\n\t\t\t\t\t\t\t :disabled="disabled || localValue > 98">\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-else-if="type == \'basket-counter\'">\n\t\t\t\t\t<div class="field-counter">\n\t\t\t\t\t\t<div class="field-counter__wrap">\n\t\t\t\t\t\t\t<button class="field-counter__btn field-counter__btn--minus"\n\t\t\t\t\t\t\t\t\t\t\ttype="button"\n\t\t\t\t\t\t\t\t\t\t\taria-label="минÑÑ"\n\t\t\t\t\t\t\t\t\t\t\t@click="decreaseCounter"\n\t\t\t\t\t\t\t\t\t\t\t:disabled="disabled || localValue < 2">\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<div class="field-counter__label">\n\t\t\t\t\t\t\t\t<input class="field-counter__input"\n\t\t\t\t\t\t\t\t\t\t\t type="number"\n\t\t\t\t\t\t\t\t\t\t\t @input="checkCounterValue(localValue)"\n\t\t\t\t\t\t\t\t\t\t\t @blur="checkCounterValue(localValue)"\n\t\t\t\t\t\t\t\t\t\t\t v-model="localValue"\n\t\t\t\t\t\t\t\t\t\t\t :disabled="disabled"\
1n\t\t\t\t\t\t\t\t\t\t\t maxlength="2">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<button class="field-counter__btn field-counter__btn--plus"\n\t\t\t\t\t\t\t\t\t\t\ttype="button"\n\t\t\t\t\t\t\t\t\t\t\taria-label="плÑÑ"\n\t\t\t\t\t\t\t\t\t\t\t@click="increaseCounter"\n\t\t\t\t\t\t\t\t\t\t\t:disabled="disabled || localValue > 98">\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<button class="field-counter__right-btn"\n\t\t\t\t\t\t\t\t\t\ttype="button"\n\t\t\t\t\t\t\t\t\t\t:aria-label="getMessage(\'ADD_TO_BASKET\')"\n\t\t\t\t\t\t\t\t\t\t@click="$emit(\'basketadd\')">\n\t\t\t\t\t\t\t<svg class="svg-icon field-counter__right-btn-icon">\n\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-basket"></use>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-else-if="type == \'date\'">\n\t\t\t\t\t<div class="datepicker">\n\t\t\t\t\t\t<template v-if="arrayMode">\n\t\t\t\t\t\t\t<datepicker v-if="!touch" ref="datepicker" input-class="text-input" v-model="localValue[0]"\n\t\t\t\t\t\t\t\t\t:disabled-dates="computedDisabledDates"\n\t\t\t\t\t\t\t\t\t@focus="inputFocus(); open = true;" @blur="inputBlur(); open = false;"\n\t\t\t\t\t\t\t\t\t@input="emitInput(localValue ? localValue.toString() : localValue)"\n\t\t\t\t\t\t\t\t\t@opened="datepickerOpened(); hasFocus = true;" @closed="hasFocus = false"\n\t\t\t\t\t\t\t\t\t:full-month-name="true" format="dd.MM.yyyy" :monday-first="true"></datepicker>\n\t\t\t\t\t\t\t<input v-else type="date" class="text-input" :value-as-date="localValue[0]" @input="localValue[0] = $event.target.value; emitInput(localValue)">\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t<datepicker v-if="!touch" ref="datepicker" input-class="text-input" v-model="localValue"\n\t\t\t\t\t\t\t\t\t:disabled-dates="computedDisabledDates"\n\t\t\t\t\t\t\t\t\t@focus="inputFocus(); open = true;" @blur="inputBlur(); open = false;"\n\t\t\t\t\t\t\t\t\t@input="emitInput(localValue ? localValue.toString() : localValue)"\n\t\t\t\t\t\t\t\t\t@opened="datepickerOpened(); hasFocus = true;" @closed="hasFocus = false"\n\t\t\t\t\t\t\t\t\t:full-month-name="true" format="dd.MM.yyyy" :monday-first="true"></datepicker>\n\t\t\t\t\t\t\t<input v-else type="date" class="text-input" :value-as-date="localValue" @input="localValue = $event.target.value; emitInput(localValue)">\n\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t<svg class="datepicker__svg-icon">\n\t\t\t\t\t\t<use xlink:href="#svg-icon-calendar"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\n\t\t\t\t<template v-else-if="type == \'file\'">\n\t\t\t\t\t<v-file-input @fileinput="fileInput" @fileremove="fileRemove" :note="note" :files="files" :multiple="extendable" :reverse-order="reverseOrder" :drop="drop" :multipleFiles="multipleFiles"></v-file-input>\n\t\t\t\t</template>\n\n\n\t\t\t\t<template v-else-if="type == \'photo\'">\n\t\t\t\t\t<v-photo-input @fileinput="fileInput" @fileremove="fileRemove" :note="note" :files="files" :label="label"></v-photo-input>\n\t\t\t\t</template>\n\n\n\t\t\t\t<template v-else-if="type == \'photo-alt\'">\n\t\t\t\t\t<v-photo-input @fileinput="fileInput" @fileremove="fileRemove" :note="note" :files="files" mode="service-center" :label="label"></v-photo-input>\n\t\t\t\t</template>\n\n\n\t\t\t\t<template v-else-if="type == \'schedule\'">\n\t\t\t\t\t<v-schedule-input @focus="inputFocus" @blur="inputBlur"\n\t\t\t\t\t\t\tv-model="localValue" @input="emitInput(localValue);" :disabled="disabled"></v-schedule-input>\n\t\t\t\t</template>\n\n\n\t\t\t\t<template v-else-if="type == \'rating\'">\n\t\t\t\t\t<v-rating-input v-model="localValue" @input="emitInput(localValue);" :options="options" :disabled="disabled" :label="label" :simple="simple" :max="maxRate"></v-rating-input>\n\t\t\t\t</template>\n\n\n\t\t\t\t<template v-else-if="type == \'search\'">\n\t\t\t\t\t<label class="text-input-label">\n\t\t\t\t\t\t<input :type="type" maxlength="50" class="text-input" :class="{\'text-input--small\': small, \'text-input--white\': white}"\n\t\t\t\t\t\t\t v-mask="mask" @focus="inputFocus" @blur="inputBlur" itemprop="query-input" :name="name"\n\t\t\t\t\t\t\t v-model="localValue" @input="emitInput(localValue); localSuggestions = null;" :disabled="disabled" :placeholder="placeholder">\n\t\t\t\t\t</label>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-else>\n\t\t\t\t\t<template v-if="arrayMode">\n\t\t\t\t\t\t<template v-if="type == \'textarea\'">\n\t\t\t\t\t\t\t<textarea class="text-input" :class="{\'text-input--small\': small}" @focus="inputFocus" @blur="inputBlur"\n\t\t\t\t\t\t\t\t\tv-model="localValue[0]" @input
1="emitInput(localValue)" :disabled="disabled" :placeholder="placeholder"></textarea>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t<input :type="type" maxlength="50" class="text-input" :class="{\'text-input--small\': small}" v-mask="mask" @focus="inputFocus" @blur="inputBlur"\n\t\t\t\t\t\t\t\t\tv-model="localValue[0]" @input="emitInput(localValue); localSuggestions = null;" :disabled="disabled" :placeholder="placeholder">\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</template>\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<template v-if="type == \'textarea\'">\n\t\t\t\t\t\t\t<textarea class="text-input" :class="{\'text-input--small\': small}" @focus="inputFocus" @blur="inputBlur"\n\t\t\t\t\t\t\t\t\tv-model="localValue" @input="emitInput(localValue)" :disabled="disabled" :placeholder="placeholder"></textarea>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t<template v-if="type === \'password\'">\n\t\t\t\t\t\t\t\t<label class="text-input-label text-input-label--password">\n\t\t\t\t\t\t\t\t\t<input :type="switchedType"\n\t\t\t\t\t\t\t\t\t\t\t\t maxlength="50"\n\t\t\t\t\t\t\t\t\t\t\t\t class="text-input text-input--password"\n\t\t\t\t\t\t\t\t\t\t\t\t :class="{\'text-input--small\': small, \'text-input--white\': white}"\n\t\t\t\t\t\t\t\t\t\t\t\t @focus="inputFocus"\n\t\t\t\t\t\t\t\t\t\t\t\t @blur="inputBlur"\n\t\t\t\t\t\t\t\t\t\t\t\t v-model="localValue" @input="emitInput(localValue); localSuggestions = null;" :disabled="disabled" :placeholder="placeholder">\n\t\t\t\t\t\t\t\t\t<span class="text-input-switch-btn" @click="switchType">\n\t\t\t\t\t\t\t\t\t\t<svg v-show="switchedType === \'text\'" class="svg-icon text-input-switch-btn__icon text-input-switch-btn--eye-on">\n\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-eye-on"></use>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t<svg v-show="switchedType === \'password\'" class="svg-icon text-input-switch-btn__icon text-input-switch-btn--eye-off">\n\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-eye-off"></use>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t<label class="text-input-label">\n\t\t\t\t\t\t\t\t\t<input :type="type" maxlength="200" class="text-input" :class="{\'text-input--small\': small, \'text-input--white\': white}" v-mask="mask" @focus="inputFocus" @blur="inputBlur"\n\t\t\t\t\t\t\t\t\t\t\t\t v-model="localValue" @input="emitInput(localValue); localSuggestions = null;" :disabled="disabled" :placeholder="placeholder">\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</template>\n\t\t\t\t</template>\n\n\t\t\t\t<template>\n\t\t\t\t\t<template v-if="type ==\'search\'">\n\t\t\t\t\t\t<div class="field__suggestions select__list" @click.stop v-if="localSuggestions">\n\t\t\t\t\t\t\t<div class="select__list-body">\n\t\t\t\t\t\t\t\t<div v-for="suggestion in localSuggestions" tabindex="0"\n\t\t\t\t\t\t\t\t\t class="select__option"\n\t\t\t\t\t\t\t\t\t @click="suggestionClick(suggestion);" v-html="highlightQueryInText(suggestion.text, localValue)">\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<div class="field__suggestions select__list" @click.stop v-if="localSuggestions">\n\t\t\t\t\t\t\t<div class="select__list-body">\n\t\t\t\t\t\t\t\t<div v-for="suggestion in localSuggestions" tabindex="0"\n\t\t\t\t\t\t\t\t\t\tclass="select__option"\n\t\t\t\t\t\t\t\t\t\t@click="emitInput(arrayMode ? [suggestion.text] : suggestion.text);" v-html="highlightQueryInText(suggestion.text, localValue)">\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</template>\n\t\t\t</div>\n\n\t\t\t<div class="form-error-label flc" v-if="error && error[0] && typeof error[0] == \'string\'">\n\t\t\t\t{{error[0]}}\n\t\t\t</div>\n\t\t\t<div class="form-error-label flc" v-else-if="error && error[0] && typeof error[0].message == \'string\'">\n\t\t\t\t{{error[0].message}}\n\t\t\t</div>\n\t\t\t<div class="form-error-label flc" v-else-if="error && error[0] && typeof error[0].message == \'object\'" v-for="item, index in error[0].message">\n\t\t\t\t{{item}}\n\t\t\t</div>\n\n\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t<div class="field__description" v-if="description && descriptionOpen" v-html="description"></div>\n\t\t\t</transition>\n\t\t\t\n\t\t</template>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{open:!1,localValue:null,localSearchableValue:null,localValueAdditional:null,localSuggestions:null,touch:View.mobileAndTabletCheck,folded:!0,hasFocus:!1,descriptionOpen:!1,switchedType:"password"}},props:{type:{default:"text"},name:{default:null},value:{default:null},label:{default:null},integratedLabel:{type:Boolean,default:!1},extendable:{type:Boolean,default:!1},extendLimit:{default:5},extendText:{default:null},options:{default:null},emptyOption:{default:null},searchable:{type:Boolean,default:!1},optionsAsLinks:{type:Boolean,default:!1},suggestions:{default:null},openType:{type:Boolean,default:!1},drop:{type:Boolean},disabled:{type:Boolean,default:!1},arrayMode:{type:Boolean,default:!1},trueValue:{default:!0},falseValue:{default:!1},error:{default:null},min:{default:0},max:{default:1/0},maxRate:{type:Number},precision:{default:1},prefixMin:{default:null},prefixMax:{default:null},postfixMin:{default:null},postfixMax:{default:null},readonly:{type:Boolean,default:!1},small:{type:Boolean,default:!1},white:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},simple:{type:Boolean,default:!1},placeholder:{default:null},mask:{default:null},files:{default:null},note:{default:null},description:{default:null},disabledDates:{default:null},searchBtn:{default:!1},required:{default:!1},reverseOrder:{default:!1},multipleFiles:{type:Boolean}},computed:{selectedOption:function(){var e,t;return!this.computedOptions||!this.computedOptions.length||(e=this.arrayMode?this.value?this.value[0]:null:this.value,void 0===(t=this.computedOptions.find(function(t){return t.value===e})||null))?null:t},computedOptions:function(){var t=Array.isArray(this.options)?_.clone(this.options):[];return this.emptyOption&&t.unshift(this.emptyOption),t},computedOptionsOnSearch:function(){var e=this,t=_.clone(this.computedOptions),t=_.filter(t,this.searchableOptionTest);return _.sortBy(t,function(t){return t.text.toLowerCase().indexOf(e.localSearchableValue.toLowerCase())})},computedError:function(){return this.error?"object"==_typeof(this.error)?this.error[0]:this.error:null},computedDisabledDates:function(){var t;if(this.disabledDates)return"future"==this.disabledDates?((t=new Date).setDate(t.getDate()),{from:t}):"past"==this.disabledDates?((t=new Date).setDate(t.getDate()-1),{to:t}):void console.warn("v-field: disabled dates are in wrong format")}},watch:{value:function(){this.initLocalValueFromValue()},hasFocus:function(){this.$forceUpdate()},suggestions:function(){this.localSuggestions=this.suggestions}},methods:{suggestionClick:function(t){this.localValue=t.text,this.$emit("input",t.text,{suggest:!0,data:t.data,redirection:t.redirection||null}),clearTimeout(this.suggestionsTimeout),this.suggestionsOpen=!1},switchType:function(){"password"===this.switchedType?this.switchedType="text":"text"===this.switchedType&&(this.switchedType="password")},emitInput:function(t){var e,n=t;"string"==typeof t&&(n=t.trim()),"date"==this.type&&t&&(n=(e=(e=(t="string"==typeof t?new Date(t):t).getDate())<10?"0"+e:e)+"."+(e=(e=t.getMonth()+1)<10?"0"+e:e)+"."+t.getFullYear()),this.$emit("input",n),this.$forceUpdate()},clickOutside:function(t){this.$el.contains(t.target)||(this.open=!1)},inputFocus:function(){this.hasFocus=!0,this.$emit("focus")},inputBlur:function(){this.hasFocus=!1,this.$emit("blur")},spliceArray:function(t){this.localValue.splice(t,1)},filterNumbers:function(t){var e;return!!((t=t||window.event).ctrlKey||t.altKey||t.metaKey)||!(31<(e=t.which||t.keyCode)&&(e<48||57<e)&&46!==e)||void t.preventDefault()},getExtendableFieldError:function(t){t=_.filter(this.error,{index:t});return t.length?t:null},fixRangeValue:function(t){return t.min&&(t.min<this.min&&(t.min=this.min),t.min>this.max)&&(t.min=this.max),t.max&&(t.max<this.min&&(t.max=this.min),t.max>this.max)&&(t.max=this.max),t.max&&t.min&&t.min>t.max&&(t.min=t.max),t},checkPlaceholderState:function(){var t=this.searchable?this.localSearchableValue:this.localValue;return!this.hasFocus&&(null===t||""===t||0===t.length)},datepickerOpened:function(){var l=this;Vue.nextTick(function(){if(l.$refs.datepicker.$el){for(var t=l.$refs.datepicker.$el.querySelectorAll(".vdp-datepicker__calendar"),e=void 0,n=0;n<t.length;n++)if(t[n].offsetParent){e=t[n];break}e.style.left="";for(var a=e.getBoundingClientRect(),i=window.innerWidth-20-a.left-a.width,s=0;s<t.length;s++)t[s].style.left="",i<0&&(t[s].style.left=i+"px")}})},checkCounterValue:function(t){t<2?this.localValue=1:98<t&&(this.localValue=99),this.$emit("input",this.localValue)},increaseCounter:function(){this.localValue++,this.checkCounterValue(this.localValue)},decreaseCounter:function(){this.localValue--,this.checkCounterValue(this.localValue)},fileInput:function(t){this.$emit("fileinput",t)},fileRemove:function(t){this.$emit("fileremove",t)},slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)},isColorLight:function(t){var e;if(0===t.indexOf("#"))return 3==(t=t.replace("#","")).length&&(t=""+(e=t.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]),235<.2126*(255&(e=parseInt(t,16))>>16)+.7152*(255&e>>8)+.0722*(255&e>>0)},searchableOptionTest:function(t){return this.localSearchableValue&&this.localSearchableValue.length&&new RegExp(this.localSearchableValue,"i").test(t.text)},searchableOptionTestAny:function(){var e=this;return this.localSearchableValue&&this.localSearchableValue.length&&!!_.find(this.computedOptions,function(t){return new RegExp(e.localSearchableValue,"i").test(t.text)})},searchableInputTest:function(){var e=this;if(this.searchable){console.log(this.computedOptionsOnSearch);for(var t=[],n=0;n<this.computedOptionsOnSearch.length;n++)t.push(this.computedOptionsOnSearch[n].value);if(0<t.length)return this.emitInput(t),void(this.open=!1)}var a,i=this.localValue;this.localSearchableValue?(a=_.find(this.computedOptions,function(t){return"string"==typeof t.text&&"string"==typeof e.localSearchableValue&&t.text.toUpperCase()==e.localSearchableValue.toUpperCase()}),this.localValue=a?a.value:null):this.localValue=null,this.localValue!==i&&this.emitInput(this.localValue)},initLocalValueFromValue:function(){var e=this;if(e.localValue=_.clone(e.value),!e.extendable||e.localValue&&e.localValue.length||(e.localValue=[e.localValue]),"check-list"!==e.type&&"color"!==e.type||e.localValue||(e.localValue=[]),"range"!==e.type||e.localValue||(e.localValue={min:null,max:null}),"single"!==e.type||e.localValue||(e.localValue=[null]),e.searchable&&e.selectedOption&&(e.localSearchableValue=e.selectedOption.text),"date"==e.type){e=null;if("string"==typeof this.localValue&&10==this.localValue.length){var t=this.localValue.split(".");if(3==t.length)try{e=new Date([t[2],t[1],t[0]].join("-"))}catch(t){e=null}else e=null}else this.localValue&&this.localValue instanceof Date&&"object"==_typeof(this.localValue)&&(e=this.localValue);this.localValue="object"==(void 0===e?"undefined":_typeof(e))?e:null}},highlightQueryInText:function(t,e){try{return t.replace(new RegExp(e,"i"),'<b class="in-text-highlight">$&</b>')}catch(e){return t}}},created:function(){this.initLocalValueFromValue(),this.localSuggestions=this.suggestions,document.addEventListener("click",this.clickOutside)},mounted:function(){var e=this;e.$refs.datepicker&&($(e.$refs.datepicker.$el).find("input").off("blur.datepickerFixBlur").on("blur.datepickerFixBlur",function(){e.$refs.datepicker.$emit("blur")}),$(e.$refs.datepicker.$el).find("input").off("focus.datepickerFixFocus").on("focus.datepickerFixFocus",function(){e.$refs.datepicker.$emit("focus")}
1)),$(this.$el).off("click.toggleVFieldDescription",".js-v-field-toggle-description").on("click.toggleVFieldDescription",".js-v-field-toggle-description",function(t){e.descriptionOpen=!e.descriptionOpen,t.preventDefault(),t.stopPropagation()})},destroyed:function(){document.removeEventListener("click",this.clickOutside)}}),Vue.component("v-file-input",{template:'\n\t<div class="v-file-input file-input flc" :class="{\'file-input--alt\': reverseOrder}" @drop.prevent @dragover.prevent>\n\n\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t<transition-group tag="div" name="content-fade" @enter="slideDown" @leave="slideUp" class="file-input__list file-list" :class="{\'flc\': !reverseOrder}" v-if="localFiles.length">\n\t\t\t\t<div class="file-list__item" v-for="file in localFiles" :key="file.key">\n\t\t\t\t\t<div v-if="drop" class="file-list__item-icon">\n\t\t\t\t\t\t<svg class="svg-icon">\n\t\t\t\t\t\t\t<use xlink:href="#svg-icon-download-img"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="file-list__item-start">{{file.name}}</div>\n\t\t\t\t\t<div class="file-list__item-ruler"></div>\n\t\t\t\t\t<div class="file-list__item-end">\n\t\t\t\t\t\t<button type="button" class="file-list__item-remove" @click="remove(file)">\n\t\t\t\t\t\t\t{{getMessage(\'DELETE\')}}\n\t\t\t\t\t\t\t<svg class="svg-icon">\n\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-close"></use>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</transition-group>\n\t\t</transition>\n\n\t\t<input id="input21" ref="input21" type="file" class="file-input__input" @change="fileInput" :key="rerenderKey" :multiple="multipleFiles">\n\t\t<div v-if="drop" class="file-input__drag" @drop.prevent="dropFile">\n\t\t\t<input id="temp-input" ref="temp-input" type="file" class="file-input__input" @change="changeTempFile" :multiple="multipleFiles">\n\t\t\t<svg class="svg-icon">\n\t\t\t\t<use xlink:href="#svg-icon-drop-img"></use>\n\t\t\t</svg>\n\t\t\t<div v-if="note" class="file-input__note">{{ note }}</div>\n\t\t\t<label for="temp-input" class="file-input__toggle">\n\t\t\t\t{{ getMessage(\'OPEN\') }}\n\t\t\t</label>\n\t\t</div>\n\t\t<div v-else class="file-input__main">\n\t\t\t<div class="file-input__cell-input">\n\t\t\t\t<label class="file-input__input-block" for="input21">\n\t\t\t\t\t<span class="file-input__btn btn">\n\t\t\t\t\t\t{{getMessage(\'ATTACH_FILE\')}}\n\t\t\t\t\t\t<svg class="btn__icon btn__icon--file btn__icon--right svg-icon">\n\t\t\t\t\t\t\t<use xlink:href="#svg-icon-file"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</span>\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t\t<div class="file-input__cell-note" v-if="note">\n\t\t\t\t<div class="file-input__note">{{note}}</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{localValue:null,localFiles:[],tempFiles:[],rerenderKey:0}},props:{value:{default:null},drop:{default:!1},note:{default:null},files:{default:null},multiple:{type:Boolean,default:!1},reverseOrder:{type:Boolean,default:!1},multipleFiles:{type:Boolean,default:!1}},watch:{value:function(){this.initLocalValueFromValue()}},methods:{changeTempFile:function(t){var n=this;[].forEach.call(t.target.files,function(t){var e=n.getKey();n.localFiles.push({name:t.name,size:t.size,key:e}),n.tempFiles.push(t)}),this.passFilesToOuput()},dropFile:function(t){var n=this;[].forEach.call(t.dataTransfer.files,function(t){var e=n.getKey();n.localFiles.push({name:t.name,size:t.size,key:e}),n.tempFiles.push(t)}),this.passFilesToOuput()},passFilesToOuput:function(){var a=this;this.localFiles.forEach(function(t,e){var n=new DataTransfer;n.items.add(a.tempFiles[e]),a.$emit("fileinput",{key:t.key,target:{files:n.files}})}),this.$refs["temp-input"].files=(new DataTransfer).files},getKey:function(){return Date.now().toString()+Math.round(1e5*Math.random())},fileInput:function(t){var e=this,n=e.getKey();if(e.multiple||_.each(e.localFiles,e.remove),t.target.files){console.log("file input",t.target.files,t.target.files[0]);for(var a=0;a<t.target.files.length;a++)e.localFiles.push({name:t.target.files[a].name,size:t.target.files[a].size,key:n});t.key=n,this.$emit("fileinput",t)}e.rerenderKey=e.getKey()},remove:function(t){var e=this.localFiles.indexOf(t);this.localFiles.splice(e,1),this.tempFiles.splice(e,1),this.$emit("fileremove",t)},slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)},initLocalValueFromValue:function(t){var n=this;n.files&&t&&(n.localFiles=[],_.each(n.files,function(t){var e=n.getKey();n.localFiles.push({name:t.name,size:t.size,key:e}),n.$emit("fileinput",{key:e,target:{files:[t]}})}))}},created:function(){this.initLocalValueFromValue(!0)}}),Vue.component("v-filter",{template:'\n\t<div class="v-filter filter flc" :class="\'filter--\' + mode + (embedded ? \' filter--embedded\' : \'\')">\n\t\t\n\t\t<template v-if="mode === \'simple\'">\n\t\t\t<div class="filter__simple-wrap">\n\t\t\t\t<div v-for="filter in filters" \n\t\t\t\t\t\t class="filter__simple-item">\n\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t<div v-if="loading || isFilterLocked(filter)" class="loader-cover"></div>\n\t\t\t\t\t</transition>\n\t\t\t\t\t<template v-if="filter.type === \'text\'">\n\t\t\t\t\t\t<v-field type="text"\n\t\t\t\t\t\t\t\t\t\t :label="filter.label"\n\t\t\t\t\t\t\t\t\t\t :integrated-label="filter.integratedLabel"\n\t\t\t\t\t\t\t\t\t\t v-model="filter.value"\n\t\t\t\t\t\t\t\t\t\t @input="filterChange(filter, $event)">\n\t\t\t\t\t\t</v-field>\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t\t\n\t\t<template v-else-if="mode === \'horizontal\'">\n\t\t\t<div class="filter__horizontal-wrap">\n\t\t\t\t<div class="filter__horizontal-items">\n\t\t\t\t\t<div v-if="filters" \n\t\t\t\t\t v-for="filter in filters" \n\t\t\t\t\t class="filter__horizontal-item" \n\t\t\t\t\t :class="{\'filter__horizontal-item--alt\': filter.type === \'select-open\'}">\n\t\t\t\t\t\t<template v-if="filter.type === \'select\'">\n\t\t\t\t\t\t\t<v-field :type="filter.type"\n\t\t\t\t\t\t\t :label="filter.label"\n\t\t\t\t\t\t\t :options="disableZeroOptions(filter.options, filter.value)"\n\t\t\t\t\t\t\t :empty-option="filter.emptyOption"\n\t\t\t\t\t\t\t v-model="filter.value" \n\t\t\t\t\t\t\t @input
1="filterChange(filter, $event)">\n\t\t\t\t\t\t\t</v-field>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-if="filter.type === \'date\'">\n\t\t\t\t\t\t\t<v-field :type="filter.type"\n\t\t\t\t\t\t\t :label="filter.label"\n\t\t\t\t\t\t\t :integrated-label="filter.integratedLabel"\n\t\t\t\t\t\t\t v-model="filter.value"\n\t\t\t\t\t\t\t @input="filterChange(filter, $event)">\n\t\t\t\t\t\t\t</v-field>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-if="filter.type === \'text\'">\n\t\t\t\t\t\t\t<v-field :type="filter.type"\n\t\t\t\t\t\t\t :label="filter.label"\n\t\t\t\t\t\t\t :integrated-label="filter.integratedLabel"\n\t\t\t\t\t\t\t v-model="filter.value"\n\t\t\t\t\t\t\t @input="filterChange(filter, $event)">\n\t\t\t\t\t\t\t</v-field>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-if="filter.type === \'select-open\'">\n\t\t\t\t\t\t\t<div class="list-status__selector">\n\t\t\t\t\t\t\t\t<v-field type="select"\n\t\t\t\t\t\t\t\t open-type\n\t\t\t\t\t\t\t\t :options="disableZeroOptions(filter.options, filter.value)"\n\t\t\t\t\t\t\t\t :empty-option="filter.emptyOption"\n\t\t\t\t\t\t\t\t v-model="filter.value"\n\t\t\t\t\t\t\t\t @input="filterChange(filter, $event)"\n\t\t\t\t\t\t\t\t small>\n\t\t\t\t\t\t\t\t</v-field>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t\t\n\t\t<template v-else>\n\t\t\t<div class="filter__box">\n\n\t\t\t\t<button v-if="!embedded" title="ÐакÑÑÑÑ" class="filter__close-btn" @click="$parent.$emit(\'closefilter\')">\n\t\t\t\t\t<svg class="filter__close-btn-icon svg-icon">\n\t\t\t\t\t\t<use xlink:href="#svg-icon-close"></use>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\n\t\t\t\t<div class="filter__grid grid">\n\n\t\t\t\t\t<template v-if="embedded">\n\t\t\t\t\t\t<div class="filter__col filter__col--wide col col--free">\n\t\t\t\t\t\t\t<div class="filter__item filter__item--hor flc" v-for="filterGroup, index in localFilters" :key="filterGroup.id">\n\t\t\t\t\t\t\t\t<div class="filter__item-header">\n\t\t\t\t\t\t\t\t<span class="filter__item-header-text">\n\t\t\t\t\t\t\t\t\t{{filterGroup.title}}<template v-if="filterGroup.unit">, </template>\n\t\t\t\t\t\t\t\t\t<span class="filter__item-header-unit" v-if="filterGroup.unit">{{filterGroup.unit}}</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="filter__item-body">\n\t\t\t\t\t\t\t\t\t<div class="filter__item-body-li flc" v-for="filter in filterGroup.filters">\n\t\t\t\t\t\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t\t\t\t\t\t<div class="loader-cover" v-if="loading || isFilterLocked(filter)"></div>\n\t\t\t\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t\t\t\t\t<template v-if="filter.type === \'multiple\' || filter.type === \'boolean\'">\n\t\t\t\t\t\t\t\t\t\t\t<v-field type="check-list" :options="disableZeroOptions(filter.options, filter.value)"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t v-model="filter.value" @input="filterChange(filter, $event)" small></v-field>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t<template v-else-if="filter.type === \'single\'">\n\t\t\t\t\t\t\t\t\t\t\t<v-field type="select" :options="disableZeroOptions(filter.options, filter.value)"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t v-model="filter.value" :searchable="filter.searchable" small array-mode @input="filterChange(filter, $event)"></v-field>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t<template v-else-if="filter.type === \'range\'">\n\t\t\t\t\t\t\t\t\t\t\t<v-field type="range" :options="emoveZeroOptions(filter.options, filter.value)"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t v-model="filter.value" @input="filterChange(filter, $event)" small\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t :min="filter.min || 0" :max="filter.max || Infinity"></v-field>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t<template v-else-if="filter.type === \'color\' || filter.type === \'color-radio\'">\n\t\t\t\t\t\t\t\t\t\t\t<v-field :type="filter.type" :options="disableZeroOptions(filter.options, filter.value)"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t v-model="filter.value" @input="filterChange(filter, $event)"></v-field>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<div class="filter__col col col--free" v-for="col in columns">\n\t\t\t\t\t\t\t<div class="filter__item flc" :class="{\'open\': filterGroup.open}"\n\t\t\t\t\t\t\t\t\t v-for="filterGroup, index in localFilters"\n\t\t\t\t\t\t\t\t\t v-if="index >= col.start && index <= col.end && filterGroup.type != \'color\'" :key="filterGroup.id">\n\t\t\t\t\t\t\t\t<div class="filter__item-header" @click="filterGroup.open = !filterGroup.open">\n\t\t\t\t\t\t\t\t\t<span class="filter__item-header-icon"></span>\n\t\t\t\t\t\t\t\t\t<span class="filter__item-header-text">\n\t\t\t\t\t\t\t\t\t{{filterGroup.title}}<template v-if="filterGroup.unit">, </template>\n\t\t\t\t\t\t\t\t\t<span class="filter__item-header-unit" v-if="filterGroup.unit">{{filterGroup.unit}}</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t\t\t\t\t<div class="filter__item-body" v-if="filterGroup.open">\n\t\t\t\t\t\t\t\t\t\t<div class="filter__item-body-li flc" v-for="filter in filterGroup.filters" :key="filter.id">\n\t\t\t\t\t\t\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="loader-cover" v-if="loading || isFilterLocked(filter)"></div>\n\t\t\t\t\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t\t\t\t\t\t<template v-if="filter.type === \'multiple\' || filter.type === \'boolean\'">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-field type="check-list" :options="disableZeroOptions(filter.type === \'boolean\' ? normalizeBooleanOptions(filter) : filter.options, filter.value)"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t v-model="filter.value" @input="filterChange(filter, $event)" small></v-field>\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t<template v-else-if="filter.type === \'single\'">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-field type="select" :options="disableZeroOptions(filter.options, filter.value)"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t v-model="filter.value" :searchable="filter.searchable" small array-mode @input="filterChange(filter, $event)"></v-field>\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t<template v-else-if="filter.type === \'range\'">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-field type="range" :options="disableZeroOptions(filter.options, filter.value)"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t v-model="filter.value" @input="filterChange(filter, $event)" small\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t :min="filter.min || 0" :max="filter.max || Infinity"></v-field>\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<hr class="filter__separator" v-if="colorFilterPresent">\n\n\t\t\t\t\t\t<div class="filter__col filter__col--wide col col--free" v-if="colorFilterPresent">\n\t\t\t\t\t\t\t<div class="filter__item filter__item--hor flc" :class="{\'open\': filterGroup.open}"\n\t\t\t\t\t\t\t\t\t v-for="filterGroup in localFilters" v-if="filterGroup.type == \'color\'">\n\t\t\t\t\t\t\t\t<div class="filter__item-header" @click="filterGroup.open = !filterGroup.open">\n\t\t\t\t\t\t\t\t\t<span class="filter__item-header-icon"></span>\n\t\t\t\t\t\t\t\t\t<span class="filter__item-header-text">\n\t\t\t\t\t\t\t\t\t{{filterGroup.title}}<template v-if="filterGroup.unit">, </template>\n\t\t\t\t\t\t\t\t\t<span class="filter__item-header-unit" v-if="filterGroup.unit">{{filterGroup.unit}}</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<transition name="content-fade" @enter="columns.length > 1 ? null : slideDown" @leave="columns.length > 1 ? null : slideUp">\n\t\t\t\t\t\t\t\t\t<div class="filter__item-body" v-if="filterGroup.open">\n\t\t\t\t\t\t\t\t\t\t<div class="filter__item-body-li flc" v-for="filter in filterGroup.filters" v-if="filter.type == \'color\' || filter.type == \'color-radio\'">\n\t\t\t\t\t\t\t\t\t\t\t<v-field :type="filter.type" :options="filter.options" v-model="filter.value" @input="filterChange(filter, $event)"></v-field>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</transition>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t</div>\n',data:function(){return{localFilters:null,localSortValue:null,filterPanelIsOpen:!1,localFiltersExternalChange:!1,columns:null,test:10,colorFilterPresent:!1,currentFilterId:null}},props:{filters:{default:null},groups:{default:null},value:{default:null},mode:{default:"static"},embedded:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},watch:{filters:function(){this.applyNewFilters()},value:function(){this.applyValue()},filterPanelIsOpen:function(){this.filterPanelIsOpen?document.body.classList.add("state--filter-panel-open"):document.body.classList.remove("state--filter-panel-open")}},methods:{slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)},getChangedFilters:function(){var e=this,n=[];return _.each(e.localFilters,function(t){_.each(t.filters,function(t){e.isFilterChanged(t)&&n.push(t)})}),n},isFilterChanged:function(t){return!!("number"==typeof t.value||t.value&&t.value.length||"range"==t.type&&t.value&&(t.value.min||t.value.max))},isFilterLocked:function(t){return this.currentFilterId&&this.currentFilterId!=t.id},resetFilter:function(e,t){var n;_.find(this.localFilters,function(t){return n=_.find(t.filters,{id:e})}),n&&(n.value=void 0!==t&&Array.isArray(n.value)?_.without(n.value,t):null,this.$forceUpdate(),this.filterChange())},resetAll:function(){var e=this;_.each(e.localFilters,function(t){_.each(t.filters,function(t){e.resetFilter(t.id)})}),e.filterChange()},applyValue:function(){var e=this;_.each(e.localFilters,function(t){_.each(t.filters,function(t){t.value=e.value&&e.value[t.id]&&e.value[t.id].value||null})})},applyNewFilters:function(){var a=this,i=(this.currentFilterId=null,this.localFiltersExternalChange=!0,[]);_.each(_.groupBy(a.filters,"groupId"),function(t,e){var n;"undefined"==e||"null"==e?_.each(t,function(t){var e=_.find(a.localFilters,{id:t.id});i.push({id:t.id,title:t.text,open:e?e.open:!!t.open,grouped:!1,unit:t.unit,type:t.type,filters:[t]})}):(n=_.find(a.localFilters,{id:e}),i.push({id:e,title:_.find(a.groups,{id:e}).title||"ÐÑÑппа ÑилÑÑÑов",open:n?n.open:!(!t||!t[0]||
1!t[0].open),grouped:!0,type:"group",filters:t}))}),this.localFilters=_.sortBy(i,function(t){return"color"==t.type?2:t.grouped?1:-1}),this.colorFilterPresent=!!_.find(this.localFilters,function(t){return _.find(t.filters,{type:"color"})||!!_.find(t.filters,{type:"color-radio"})}),this.updateColumns(),this.$emit("filterupdate",this.createValue(),this.getChangedFilters())},createValue:function(){var e={};return _.each(this.getChangedFilters(),function(t){e[t.id]={value:t.value,type:t.type}}),e},filterChange:function(t){t&&(this.currentFilterId=t.id),this.$emit("filtered",this.createValue(),this.getChangedFilters(),t),this.$forceUpdate()},disableZeroOptions:function(t,e){return _.filter(t,function(t){return e&&e.indexOf&&0<=e.indexOf(t.value)||0!==parseInt(t.count)&&"0"!==parseInt(t.count)})},normalizeBooleanOptions:function(e){return _.map(e.options,function(t){return t.text=e.text,t})},updateColumns:function(){for(var t=4,e=(window.innerWidth<=View.breakpoints["md-max"]&&(t=3),window.innerWidth<=View.breakpoints["sm-max"]&&(t=2),window.innerWidth<=View.breakpoints["3xs-max"]&&(t=1),this.localFilters.length-(this.colorFilterPresent?1:0)),n=[],a=[],i=0,s=0;i<e;i++,s++)n[s=t<=s?0:s]||(n[s]=0),n[s]++;for(s=i=0;i<t;i++)a[i]={start:s,end:s+n[i]-1},s+=n[i];this.columns=a},handleEsc:function(t){27==t.keyCode&&(this.openFilterKey?this.openFilterKey=null:this.filterPanelIsOpen=!1)},handleResize:function(){this.updateColumns()}},created:function(){var n=this;n.applyNewFilters(),n.applyValue(),n.$on("reset",function(t,e){void 0===t?n.resetAll():n.resetFilter(t,e)}),n.$on("openpanel",function(){n.filterPanelIsOpen=!0}),document.addEventListener("keyup",n.handleEsc),window.addEventListener("resize",n.handleResize),n.handleResize()},destroyed:function(){document.removeEventListener("keyup",this.handleEsc),window.removeEventListener("resize",this.handleResize)}}),Vue.component("v-guide-slider",{template:'\n\t<div class="v-guide-slider guide-slider">\n\t\t\t<v-slick ref="view" class="guide-slider__view-slider slick-overlay-arrows slick-block-dots slick-darker-dots" :options="sliderOptions">\n\t\t\t\t<slot></slot>\n\t\t\t</v-slick>\n\t\t</div>\n\t</div>\n',data:function(){return{sliderOptions:{slidesToShow:1,slidesToScroll:1,infinite:!0,arrows:!0,dots:!0,responsive:[{breakpoint:View.breakpoints["sm-max"],settings:{arrows:!1}
1}]}}}}),Vue.component("v-horizontal-nav",{template:'\n\t<div class="v-horizontal-nav horizontal-nav flc" :class="{\'horizontal-nav--filter\': $slots.filter, \'horizontal-nav--filter-open\': filterOpen}">\n\t\t<transition name="content-fade">\n\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t</transition>\n\n\t\t<div class="horizontal-nav__row" ref="row">\n\t\t\t<div class="horizontal-nav__cell horizontal-nav__cell--filter" v-if="$slots.filter">\n\t\t\t\t<button type="button" class="btn btn--primary btn--lg btn--short btn--dd" @click="filterOpen = !filterOpen" :class="{\'open\': filterOpen}">\n\t\t\t\t\t{{getMessage(\'FILTER\')}}\n\t\t\t\t\t<span class="btn__arrow-circle">\n\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t\t</span>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div class="horizontal-nav__cell" v-for="link, index in links" v-if="maxCellCount > 2 && index + ($slots.filter ? 1 : 0) < maxCellCount">\n\t\t\t\t<a :href="link.href" @click="linkClick($event, link)" class="horizontal-nav__link">{{link.text}}</a>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<hr class="horizontal-nav__separator">\n\n\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t<div class="horizontal-nav__filter flc" v-show="$slots.filter && filterOpen">\n\t\t\t\t<slot name="filter"></slot>\n\t\t\t</div>\n\t\t</transition>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{filterOpen:!1,maxCellCount:1/0,trimBusy:!1}},props:{links:{default:null},catchClick:{type:Boolean,default:!1},loading:{default:!1},trim:{type:Boolean,default:!1}},watch:{filterOpen:function(){Vue.nextTick(function(){View.$window.trigger("setTooltipPositions")})}},methods:{slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)},linkClick:function(t,e){this.catchClick&&(t.preventDefault(),this.$emit("navigate",e))},handleResize:function(){var i=this,s=this;s.trim&&!s.trimBusy&&(s.trimBusy=!0,s.maxCellCount=1/0,Vue.nextTick(function(){for(var t=s.$refs.row.offsetWidth,e=0,n=$(i.$el).find(".horizontal-nav__cell"),a=0;e<=t&&a<n.length;a++)e+=n.eq(a).outerWidth(!0);s.maxCellCount=t<e?a-1:a,s.trimBusy=!1}))}},created:function(){this.handleResize(),this.$on("closefilter",function(){this.filterOpen=!1}),window.addEventListener("resize",this.handleResize)},destroyed:function(){window.removeEventListener("resize",this.handleResize)}}),Vue.component("v-image-360",{template:'\n\t<div class="v-image-360 image-360">\n\t\t<div class="image-360__box" ref="box" @mousedown="!touch ? startDrag($event) : null" @touchstart="touch ? startDrag($event) : null">\n\t\t\t<img v-if="currentImageSrc" :src="currentImageSrc" alt="">\n\t\t</div>\n\t</div>\n',data:function(){return{localValue:null,locked:!0,drag:!1,startX:null,touch:!1,frame:null,currentImageSrc:null,currentIndex:0,tempIndex:0,preloadImageForward:new Image,preloadImageBackward:new Image}},props:{images:{default:null}},methods:{startDrag:function(t){this.drag=!0,this.startX=t.pageX||t.touches[0].pageX,t.stopPropagation(),this.touch?(document.removeEventListener("touchmove",this.handleDrag),document.addEventListener("touchmove",this.handleDrag),document.addEventListener("touchend",this.stopDrag)):(document.removeEventListener("mousemove",this.handleDrag),document.addEventListener("mousemove",this.handleDrag),document.addEventListener("mouseup",this.stopDrag))},stopDrag:function(){this.drag=!1,this.touch?(document.addEventListener("touchmove",this.handleDrag),document.addEventListener("touchend",this.stopDrag)):(document.removeEventListener("mousemove",this.handleDrag),document.removeEventListener("mouseup",this.stopDrag)),this.currentIndex=this.tempIndex},handleDrag:function(t){t.stopPropagation();var t=t.pageX||t.touches[0].pageX,e=this.$refs.box.offsetWidth,t=(t-this.startX)%e/e,e=(this.currentIndex+Math.floor(this.images.length*t))%this.images.length;e<0&&(e=this.images.length+e),this.tempIndex!=e&&this.images[e]&&(this.tempIndex=e,this.currentImageSrc=this.images[e].src,this.preloadImageForward.src=this.images[e+1>=this.images.length?0:e+1].src,this.preloadImageBackward.src=this.images[e-1<0?0:e-1].src)}},created:function(){this.touch=View.mobileAndTabletCheck,this.images.length&&(this.currentImageSrc=this.images[0].src)},destroyed:function(){document.removeEventListener("touchmove",this.handleDrag),document.removeEventListener("touchend",this.stopDrag),document.removeEventListener("mousemove",this.handleDrag),document.removeEventListener("mouseup",this.stopDrag)}}),Vue.component("v-inline-filter",{template:'\n\t<div class="v-inline-filter inline-filter flc">\n\t\t<div class="inline-filter__grid grid grid--free">\n\t\t\t<div class="inline-filter__item col col--free" v-for="filter, index in localFilters">\n\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t<div class="loader-cover" v-if="loading || isFilterLocked(filter)"></div>\n\t\t\t\t</transition>\n\t\t\t\t<v-field :searchable="filter.searchable" type="select" :options="filter.options" :empty-option="filter.emptyOption" v-model="filter.value" @input="filterChange(filter, $event)" :label="filter.text" integrated-label></v-field>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',data:function(){return{localFilters:null,loading:!1,currentFilterId:null}},props:{filters:{default:null},value:{default:null},header:{type:Boolean,default:!1}},watch:{filters:function(){vm.applyNewFilters()},value:function(){this.applyValue()}},methods:{slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)},getChangedFilters:function(){var e=this,n=[];return _.each(e.localFilters,function(t){e.isFilterChanged(t)&&n.push(t)}),n},isFilterChanged:function(t){return!!("number"==typeof t.value||"string"==typeof t.value&&t.value.length||Array.isArray(t.value)&&t.value.length)},isFilterLocked:function(t){return this.currentFilterId&&this.currentFilterId!=t.id},resetFilter:function(t,e){t=_.find(this.localFilters,{id:t});t&&(t.value=void 0!==e&&Array.isArray(t.value)?_.without(t.value,e):null,this.$forceUpdate(),this.filterChange())},resetAll:function(){var e=this;_.each(e.localFilters,function(t){e.resetFilter(t.id)}),e.filterChange()},applyValue:function(){var a=this;_.each(a.value,function(t,e){var n;_.find(a.localFilters,function(t){if(n=_.find(t,{id:e}))return!0}),n&&(n.value=t)})},applyNewFilters:function(t){this.localFilters=t||this.filters,this.colorFilterPresent=!!_.find(this.localFilters,{type:"color"}),this.currentFilterId=null,this.$emit("filterupdate",this.createValue(),this.getChangedFilters())},createValue:function(){var e={};return _.each(this.getChangedFilters(),function(t){e[t.id]={value:t.value,type:t.type}}),e},filterChange:function(t){t&&(this.currentFilterId=t.id),this.$emit("filtered",this.createValue(),this.getChangedFilters(),t),this.$forceUpdate()}},created:function(){var n=this;n.applyNewFilters(),n.applyValue(),n.header&&((window.vHeaderFilter=n).$on("set-filters",function(t){n.applyNewFilters(t)}),n.$on("set-loading",function(t){n.loading=t})),n.$on("reset",function(t,e){void 0===t?n.resetAll():n.resetFilter(t,e)})}}),Vue.component("v-lazy-component",{template:'\n\t<div class="v-lazy-component lazy-component">\n\t\t<div class="lazy-component__body"></div>\n\t\t<div class="lazy-component__template">\n\t\t\t<slot></slot>\n\t\t</div>\n\t</div>\n',props:{component:{type:String}},mounted:function(){try{var t=this.$el.getElementsByClassName("lazy-component__template")[0].innerHTML,e=new Date,n=new(Vue.component("test"+e.getMilliseconds(),{parent:this,template:t}));n.$mount(this.$el.getElementsByClassName("lazy-component__body")[0]),this.child=n,View.initAllLocal(this.$el)}catch(e){console.error("v-lazy-component: child component initialization error"),console.error(e)}},beforeDestroy:function(){this.child.$destroy(),this.$forceUpdate()}}),Vue.component("v-leadership",{template:'\n\t<article class="v-leadership leadership">\n\t\t<div class="leadership__wrap">\n\t\t\t<div class="leadership__item">\n\t\t\t\t<img class="leadership__pic" src="/local/images/markup-images/banners/avatar.jpg" alt="">\n\t\t\t\t<div class="leadership__info">\n\t\t\t\t\t<div class="leadership__name-wrap">\n\t\t\t\t\t\t<span class="leadership__surname h4">ÐикÑн</span>\n\t\t\t\t\t\t<span class="leadership__name">ÐндÑей ÐаÑилÑевиÑ</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class="leadership__text">ÐенеÑалÑнÑй диÑекÑÐ¾Ñ ÐÐР«ÐТÐÐÐТ»</span>\n\t\t\t\t\t<span class="leadership__tel">ÐÑиемнаÑ: <a href="tel:+375172186222">
1+375 17 218-62-22</a></span>\n\t\t\t\t\t<span class="leadership__tel">ÐÑаÑик лиÑного пÑиема: <a href="tel:+375172186222">ÑеÑвеÑг Ñ 16:00 до 18:00</a></span>\n\t\t\t\t\t<span class="leadership__tel">ÐапиÑÑ Ð½Ð° пÑием: <a href="tel:+375172186222">+375 17 218-62-22</a></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="leadership__item">\n\t\t\t\t<img class="leadership__pic" src="/local/images/markup-images/banners/avatar-empty.jpg" alt="">\n\t\t\t\t<div class="leadership__info">\n\t\t\t\t\t<div class="leadership__name-wrap">\n\t\t\t\t\t\t<span class="leadership__surname h4">ШÑмило</span>\n\t\t\t\t\t\t<span class="leadership__name">ÐикÑÐ¾Ñ Ð¡ÑепановиÑ</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class="leadership__text">ÐенеÑалÑнÑй диÑекÑÐ¾Ñ ÐÐР«ÐТÐÐÐТ» â диÑекÑÐ¾Ñ ÐÐÐ¥</span>\n\t\t\t\t\t<span class="leadership__tel">ÐÑиемнаÑ: <a href="tel:+375172186222">+375 17 218-62-22</a></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="leadership__item">\n\t\t\t\t<img class="leadership__pic" src="/local/images/markup-images/banners/avatar.jpg" alt="">\n\t\t\t\t<div class="leadership__info">\n\t\t\t\t\t<div class="leadership__name-wrap">\n\t\t\t\t\t\t<span class="leadership__surname h4">ШÑмило</span>\n\t\t\t\t\t\t<span class="leadership__name">ÐикÑÐ¾Ñ Ð¡ÑепановиÑ</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class="leadership__text">ÐенеÑалÑнÑй диÑекÑÐ¾Ñ ÐÐР«ÐТÐÐÐТ» â диÑекÑÐ¾Ñ ÐÐÐ¥</span>\n\t\t\t\t\t<span class="leadership__tel">ÐÑиемнаÑ: <a href="tel:+375172186222">+375 17 218-62-22</a></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="leadership__item">\n\t\t\t\t<img class="leadership__pic" src="/local/images/markup-images/banners/avatar.jpg" alt="">\n\t\t\t\t<div class="leadership__info">\n\t\t\t\t\t<div class="leadership__name-wrap">\n\t\t\t\t\t\t<span class="leadership__surname h4">ШÑмило</span>\n\t\t\t\t\t\t<span class="leadership__name">ÐикÑÐ¾Ñ Ð¡ÑепановиÑ</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class="leadership__text">ÐенеÑалÑнÑй диÑекÑÐ¾Ñ ÐÐР«ÐТÐÐÐТ» â диÑекÑÐ¾Ñ ÐÐÐ¥</span>\n\t\t\t\t\t<span class="leadership__tel">ÐÑиемнаÑ: <a href="tel:+375172186222">+375 17 218-62-22</a></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n',data:function(){return{}}}),Vue.component("v-list-status",{template:'\n\t<div class="v-list-status list-status">\n\t\t<transition name="content-fade">\n\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t</transition>\n\n\t\t<div class="list-status__row" v-if="catalog && state">\n\t\t\t<div class="list-status__cell-meta">\n\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t<div class="status-value" v-if="catalog.itemsCount !== null && catalog.itemsTotal !== null">\n\t\t\t\t\t\t{{ getMessage(\'FOUNDED\') }}\n\t\t\t\t\t\t<span class="status-value__value" itemprop="numberOfItems">{{catalog.itemsCount}}</span>\n\t\t\t\t\t\t{{ getMessage(\'OF\') }} {{catalog.itemsTotal}}\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t\t<div class="list-status__cell-filters">\n\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t<div class="active-filters" v-if="changedFilters && changedFilters.length">\n\t\t\t\t\t\t<transition-group name="content-fade" mode="out-in" tag="div" class="active-filters__grid">\n\t\t\t\t\t\t\t<div class="active-filters__item" key="reset-filter">\n\t\t\t\t\t\t\t\t<button class="btn btn--sm" @click="resetFilter()">\n\t\t\t\t\t\t\t\t\t<svg class="btn__close btn__close--left svg-icon"><use xlink:href="#svg-icon-lite-close"></use></svg> \n\t\t\t\t\t\t\t\t\t {{ getMessage(\'CLEAR_FILTER\') }}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="active-filters__item" v-for="filter in activeFilters" :key="getActiveFilterKey(filter)">\n\t\t\t\t\t\t\t\t<button class="btn btn--sm btn--secondary" @click="resetFilter(filter)">\n\t\t\t\t\t\t\t\t\t<template v-if="filter.type == \'range\'">\n\t\t\t\t\t\t\t\t\t\t{{filter.label}}\n\t\t\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t\t\t<template v-if="filter.text">\n\t\t\t\t\t\t\t\t\t\t{{filter.text}}\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t<template v-else-if="filter.value && (filter.value.min || filter.value.max)">\n\t\t\t\t\t\t\t\t\t\t<template v-if="filter.value.min && !filter.value.max">{{ getMessage(\'FROM_2\') }} {{filter.value.min}} {{filter.unit}}</template>\n\t\t\t\t\t\t\t\t\t\t<template v-else-if="filter.value.max && !filter.value.min">{{ getMessage(\'TO_2\') }} {{filter.value.max}} {{filter.unit}}</template>\n\t\t\t\t\t\t\t\t\t\t<template v-else>{{filter.value.min}} â {{filter.value.max}} {{filter.unit}}</template>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\t\t\x3c!-- fallback --\x3e\n\t\t\t\t\t\t\t\t\t\t{{filter.value}}\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t<svg class="btn__close btn__close--right svg-icon"><use xlink:href="#svg-icon-lite-close"></use></svg>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</transition-group>\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t\t<div class="list-status__cell-aside" v-if="catalog.sorts && catalog.sorts.length">\n\t\t\t\t<div class="list-status__selector">\n\t\t\t\t\t<v-field type="select" open-type :options="catalog.sorts" :value="state.sort" @input="$emit(\'sort\', $event)" small></v-field>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{loading:!1,filterIsChanged:!1}},props:{catalog:{default:null},state:{default:null},changedFilters:{default:null}},computed:{activeFilters:function(){var a=[];return _.each(this.changedFilters,function(n){var t;Array.isArray(n.value)?_.each(n.value,function(t){var e;(t&&void 0!==t.min||void 0!==t.max)&&!t.min&&!t.max&&"number"!=typeof t.min&&"number"!=typeof t.max||(e=_.find(n.options,{value:t}),a.push({id:n.id,type:n.type,label:n.text,value:t,text:e?e.text:null,unit:n.unit}))}):(t=_.find(n.options,{value:n.value}),a.push({id:n.id,type:n.type,label:n.text,value:n.value,text:t?t.text:null,unit:n.unit}))}),a}},methods:{getActiveFilterKey:function(t){try{if("object"==_typeof(t.value)&&!_.find(_.find(this.catalog.filters,{id:t.id}).options,{value:t.value}))return t.id+"/custom"}catch(t){}return"single"==t.type?t.id:t.id+"/"+JSON.stringify(t.value)},resetFilter:function(t){void 0===t?(console.log("emit reset 2",t),this.$emit("reset")):(console.log("emit reset 1",t.id,t.value),this.$emit("reset",t.id,t.value))}}}),Vue.component("v-map-point",{props:{coords:{type:Array,required:!0},hintContent:{type:String},icon:{type:Object,default:null},name:{default:null},logo:{default:null},pinNum:{type:[String,Boolean],default:!1},pinAlt:{type:Boolean,default:!1},address:{type:[String,Boolean],default:null},schedule:{type:[String,Boolean],default:null},rating:{default:null},contacts:{type:Array,default:null},btnRoute:{type:Boolean,default:!1},btnLink:{default:!1},btnPopupLink:{default:!1},markerType:{type:String,required:!0},markerFill:{type:Object},markerStroke:{type:Object},circleRadius:{validator:function(t){return!isNaN(t)},default:1e3}},render:function(){}}),Vue.component("v-map",{template:'\n\t<div class="v-map map">\n\t\t<transition name="content-fade">\n\t\t\t<div class="loader-cover" v-if="loading || externalLoading">\n\t\t\t\t<img src="/local/images/preloader.svg" alt="">\n\t\t\t</div>\n\t\t</transition>\n\t\t<div class="map__map" :class="{\'map__map--small\': small, \'map__map--big-balloon\': bigBalloon}" :id="ymapId"></div>\n\t\t<div class="hidden map__markers">\n\t\t\t<slot></slot>\n\t\t</div>\n\t</div>\n',data:function(){return{ymapId:"yandexMap"+Math.round(1e5*Math.random()),map:null,markers:[],currentLocation:null,loading:!1}},props:{coords:{type:Array,validator:function(t){return!t.filter(function(t){return isNaN(t)}).length},required:!0},zoom:{validator:function(t){return!isNaN(t)},default:18},adjustInitialBounds:{type:Boolean,default:!0},rightControls:{type:Boolean,default:!1},small:{type:Boolean,default:!1},bigBalloon:{type:Boolean,default:!1},externalLoading:{type:Boolean,default:!1}},computed:{coordinates:function(){return this.coords.map(function(t){return parseFloat(t)})}},watch:{coords:function(){this.map&&this.map.setCenter(this.coordinates)},map:function(){this.rightControls?this.map.controls.add("zoomControl",{position:{right:"10px",top:"108px"}}):this.map.controls.add("zoomControl",{position:{left:"10px",top:"108px"}})}},beforeCreate:function(){Model.loadYmaps()},methods:{getCurrentDirections:function(t,e){var n=this,a=[t,e];ymaps.geolocation.get({provider:"auto",autoReverseGeocode:!0}).then(function(t){n.currentLocation=Model.geolocation.coords||t.geoObjects.get(0).geometry.getCoordinates();t=new ymaps.multiRouter.MultiRoute({referencePoints:[n.currentLocation,a]},{boundsAutoApply:!0});n.$emit("add-route",t)})},addRoute:function(t){t&&(this.map.geoObjects.removeAll(),this.setMarkers(),this.map.geoObjects.add(t))},setMarkers:function(){var e=this;e.map.geoObjects.removeAll(),e.markers.splice(0,e.markers.length);for(var t,n=e.$slots.default?e.$slots.default.map(function(t){var e,n,a,i,s,l,t=t.componentOptions&&t.componentOptions.propsData;return t?{markerType:t.markerType,coords:function e(t){return t.map(function(t){return(Array.isArray(t)?e:parseFloat)(t)})}(t.coords),balloonHeader:(e=t.name,n=t.logo,a=t.pinNum,i=t.pinAlt,l=s="",e&&!n&&(s+='<div class="map__balloon-name">'+e+"</div>"),n&&(s+='<img class="map__balloon-logo" src="'+n+'" alt="" loading="lazy"/>'),i&&(l=" map__balloon-pin--alt"),a&&(s+='<div class="map__balloon-pin'+l+'">'+a+"</div>"),s),balloonBody:(e=t.rating,n="",e&&(n+='<div class="map__rating">РейÑинг: <div class="map__rating-label"><svg class="svg-icon map__rating-ico"><use xlink:href="#svg-icon-rating-star"></use></svg> <span class="map__price-num">'+e+"</span></div></div>"),n+(i=t.address,l="",i&&(l+='<div class="map__balloon-content map__balloon-content--border">'+i+"</div>"),l)+(a=t.schedule,s="",a&&(s+='<div class="map__balloon-content">'+a+"</div>"),s)+""),balloonFooter:function(t){var e="";if(t)for(var n,a=0;a<t.length;a++)n=t[a].name||"",e+=t[a].href?'<div class="map__balloon-content">
1'+n+' <a href="'+t[a].href+'">'+t[a].text+"</a>":'<div class="map__balloon-content">'+n+" <span>"+t[a].text+"</span>",t[a].ico&&(e+=""+t[a].ico),e+="</div>";return e}(t.contacts)+(e=t.btnRoute,n=t.coords,i="",i=e?'<a class="map__btn btn btn--primary js-get-route" data-coords-lat="'+n[0]+'" data-coords-lon="'+n[1]+'">ÐÑоложиÑÑ Ð¼Ð°ÑÑÑÑÑ<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>':i)+((l=t.btnLink)?'<a href="'+l+'" class="map__btn btn btn--primary">ÐÑÑавиÑÑ Ð·Ð°ÑвкÑ<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>':"")+((a=t.btnPopupLink)?'<span data-modal-data="{\n\t\t\t\t\t\t\t\t\t "className": "modal--lg modal--form",\n\t\t\t\t\t\t\t\t\t "ownHistory": false\n\t\t\t\t\t\t\t\t\t }" data-modal-url="'+a+'" class="js-open-modal article-info-section__btn btn btn--primary">\n\t\t\t\t\t\t\t\t\tÐÑÑавиÑÑ Ð·Ð°ÑвкÑ<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t\t\t\t\t</span>':""),pinNum:t.pinNum,logo:t.logo,pinAlt:t.pinAlt,circleRadius:+t.circleRadius}:void 0}).filter(function(t){return t&&t.markerType}):[],a=new ymaps.Clusterer({clusterNumbers:[10],preset:"islands#invertedBlueClusterIcons",groupByCoordinates:!1,clusterHideIconOnBalloonOpen:!0,geoObjectHideIconOnBalloonOpen:!0,gridSize:80}),i=0;i<n.length;i++){var s=(s=n[i].markerType).charAt(0).toUpperCase()+s.slice(1),l={hintContent:n[i].hintContent,balloonContentHeader:n[i].balloonHeader||null,balloonContentBody:n[i].balloonBody||null,balloonContentFooter:n[i].balloonFooter||null,iconContent:(o=n[i].pinNum,l=n[i].pinAlt,c=n[i].logo,void 0,t="",o&&(t+='<div class="map__pin'+(l?" map__pin--alt":"")+'">'+o),c&&(t+='<div class="map__pin-logo-wrap"><img class="map__pin-logo" src="'+c+'" alt="" loading="lazy"/></div>'),t+="</div>")},o={iconLayout:"default#imageWithContent",iconImageHref:"/local/images/markup-images/icons/"+(n[i].pinAlt?"pin_dark.png":"pin_light.png"),iconImageSize:[37,37],iconImageOffset:[-18.5,-18.5],hideIconOnBalloonOpen:!1},c=("Circle"===s&&(n[i].coords=[n[i].coords,n[i].circleRadius]),new ymaps[s](n[i].coords,l,o));c.events.add("click",function(t){setTimeout(function(){e.map.setCenter(t.get("target").geometry._coordinates)},300)}),a.add(c),e.markers.push(c)}e.map.geoObjects.add(a)},showOnMap:function(e){this.map.setCenter(e),this.map.setZoom(14);var t=_.find(this.markers,function(t){if(Array.isArray(t))return _.find(t,function(t){try{return t.geometry._coordinates[0]==e[0]&&t.geometry._coordinates[1]==e[1]}catch(t){return!1}});try{return t.geometry._coordinates[0]==e[0]&&t.geometry._coordinates[1]==e[1]}catch(t){return!1}});t&&t.balloon.open()},adjustBounds:function(){var t=this;if(t.map){t.setMarkers();try{t.map.setBounds(t.map.geoObjects.getBounds(),{checkZoomRange:!0}).then(function(){16<t.map.getZoom()&&t.map.setZoom(16)})}catch(t){}}},initMap:function(){this.map=new ymaps.Map(this.ymapId,{center:this.coordinates,zoom:+this.zoom,controls:["fullscreenControl","geolocationControl"]}),this.map.behaviors.disable("scrollZoom"),View&&View.mobileAndTabletCheck&&this.map.behaviors.disable("drag"),this.setMarkers(),this.adjustInitialBounds&&this.adjustBounds()}},created:function(){var t=this;t.$on("show-on-map",t.showOnMap),t.$on("add-route",t.addRoute),t.$on("update-markers",t.setMarkers),t.$on("adjust-bounds",t.adjustBounds),$(document).ready(function(){t.$ymapEventBus.ymapReady?ymaps.ready(t.initMap):t.$ymapEventBus.$on("scriptIsLoaded",function(){ymaps.ready(t.initMap)})})},mounted:function(){var n=this;$(this.$el).on("click.getroute",".js-get-route",function(t){t.preventDefault();var t=+$(this).attr("data-coords-lat"),e=+$(this).attr("data-coords-lon");n.getCurrentDirections(t,e)})}}),Vue.directive("mask",{bind:function(t,e,n){var a=View.inputmaskPresets?View.inputmaskPresets[Object.keys(e.modifiers)[0]]:null;if(a)$(t).inputmask(a);else if("object"==_typeof(e.value))$(t).inputmask(e.value);else{if(!e.value)return;$(t).inputmask({mask:e.value,clearMaskOnLostFocus:!0,showMaskOnHover:!1})}
1$(t).off("keyup.vMaskUpdate").on("keyup.vMaskUpdate",function(t){n.context.$emit("input",t.target.value)})}}),Vue.component("v-materials",{template:'\n\n\n\t<div class="v-materials article-list-full">\n\t\t<div class="compare-bar compare-bar--materials">\n\t\t\t<transition name="compare-btn-toggle">\n\t\t\t\t<div class="compare-bar__block" v-if="addedElements && addedElements.length">\n\t\t\t\t\t<button type="button" class="compare-bar__main" @click="openFormByAjaxID">\n\t\t\t\t\t\t{{getMessage(\'ORDERED\')}}: <span class="compare-bar__value">{{addedElements.length}}</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<div class="compare-bar__aside" @click="clear">\n\t\t\t\t\t\t<svg class="svg-icon">\n\t\t\t\t\t\t\t<use xlink:href="#svg-icon-delete"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</div>\n\t\t<transition name="content-fade">\n\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t</transition>\n\n\t\t<div class="accordion accordion--connnect-top accordion--small">\n\t\t\t<div class="accordion__item" v-for="item in catalog.items">\n\t\t\t\t<button type="button" class="accordion__btn" :class="{\'collapsed\': item.collapsed}" @click="item.collapsed = !item.collapsed">\n\t\t\t\t\t<span class="accordion__btn-ico"></span>\n\t\t\t\t\t<span class="accordion__btn-text h4">{{item.title}}</span>\n\t\t\t\t</button>\n\t\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t\t<div class="accordion__body accordion__body--indent" v-show="!item.collapsed">\n\t\t\t\t\t\t<div class="text-guide">\n\t\t\t\t\t\t\t<div class="table-scroller">\n\t\t\t\t\t\t\t\t<table cellspacing="1" cellpadding="0">\n\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\tN\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'MATERIALS_COL_1\')}}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'MATERIALS_COL_2\')}}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'MATERIALS_COL_3\')}}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'MATERIALS_COL_4\')}}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'MATERIALS_COL_5\')}}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t<tr v-for="itemProduct in item.products" :key="itemProduct.num">\n\t\t\t\t\t\t\t\t\t\t<td align="center">{{itemProduct.num}}</td>\n\t\t\t\t\t\t\t\t\t\t<td align="center">{{itemProduct.name}}</td>\n\t\t\t\t\t\t\t\t\t\t<td align="center">{{itemProduct.code}}</td>\n\t\t\t\t\t\t\t\t\t\t<td align="center">{{itemProduct.unit}}</td>\n\t\t\t\t\t\t\t\t\t\t<td align="center">{{itemProduct.value}}</td>\n\t\t\t\t\t\t\t\t\t\t<td align="center">\n\t\t\t\t\t\t\t\t\t\t\t<div class="product__action-compare">\n\t\t\t\t\t\t\t\t\t\t\t\t<label class="compare-btn compare-btn--checkbox">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input type="checkbox"\n\t\t\t\t\t\t\t\t\t\t\t\t\t \tv-model="itemProduct.added"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass="compare-btn__input">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class="compare-btn__visual"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{catalog:{items:null},state:null,loading:!1,loadingMinTimeout:null,filterIsChanged:!1,changedFilters:null,isInitialState:!0,currentLocation:null,isGeolocationChanged:!1}},computed:{addedElements:function(){var e=[];return _.each(this.catalog.items,function(t){_.each(t.products,function(t){t.added&&e.push(t)})}),e}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null},useHeaderFilter:{type:Boolean,default:!1},mode:{type:String,default:"article"},noPageNav:{type:Boolean,default:!1},noHistory:{type:Boolean,default:!1},fill:{type:Boolean,default:!1}},methods:{openFormByAjaxID:function(){var t=new Url(this.catalog.remoteForm),e=t.query.bxajaxid,n="";_.each(this.addedElements,function(t){n+=t.name+"\r\n"}),t.query.PREVIEW_TEXT=n,modalController.open({component:"v-rich-form",className:"modal--lg modal--form",remoteDataSource:t,ownHistory:!1,bxajaxid:e,props:{frame:!0}})},clear:function(){_.each(this.catalog.items,function(t){_.each(t.products,function(t){t.added=!1})})},loadCatalog:function(t,e){function n(){if(s){var t=i.catalog.items;i.catalog=s.catalog,e&&(i.catalog.items=t.concat(i.catalog.items)),e||(i.pushState(),i.isInitialState=!1);try{i.state.pages=s.catalog.pages,s.state&&(i.state.sort=s.state.sort)}catch(t){console.warn("v-article-list-full: something wrong with state\n",t)}}i.loadingMinTimeout=null,i.loading=!1}var a,i=this,s=null,l=!1;i.loading||(i.loading=!0,t||(i.loadingMinTimeout=setTimeout(function(){l&&n(),i.loadingMinTimeout=null},300)),a=_.clone(i.state),$.ajax({url:i.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:{state:a,bxajaxid:i.bxajaxid}}).done(function(t){console.log("v-article-list-full loaded",t),s=t}).fail(function(t){console.warn("v-article-list-full load failed",t)}).always(function(){l=!0,i.loadingMinTimeout&&!t||n()}))},slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)}},created:function(){var t=this;t.staticDataSource?(t.catalog=t.staticDataSource.catalog,console.log("v-article-list-full loaded from static data",t.catalog)):t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0))}}),Vue.component("v-middle-banner",{template:'\n <a :href="catalog.link">\n <div class="v-middle-banner middle-banner" :style="{background: catalog.background}">\n <div class="middle-banner__content" :style="{color: catalog.color}">\n <div v-if="catalog.title" class="middle-banner__title">{{ catalog.title }}</div>\n <div v-if="catalog.text" class="middle-banner__text">{{ catalog.text }}</div>\n </div>\n <div v-if="catalog.img?.desktop" class="middle-banner__visual">\n <picture>\n <source v-if="catalog.img?.mobile" :srcset="catalog.img.mobile" media="(max-width: 767px)">\n <img :src="catalog.img.desktop" :alt="catalog.title"/>\n </picture>\n </div>\n </div>\n </a>\n',data:function(){return{remote:"",catalog:{}}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null}},methods:{loadCatalog:function(){var e=this;$.ajax({url:e.remote,method:"get",dataType:"json"}).done(function(t){console.log("v-middle-banner loaded",t),e.catalog=t.catalog}).fail(function(t){console.warn("v-middle-banner load failed",t)})}},created:function(){var t=this;t.staticDataSource?t.catalog=t.staticDataSource.catalog:t.remoteDataSource&&(t.remote=t.remoteDataSource,t.loadCatalog(!0))}}),Vue.component("v-modal",{template:'\n\t<div class="modal" :class="(topModal ? topModal.className : \'\') + (modals && modals.length > 1 ? \' modal--has-back-btn\' : \'\')">\n\t\t <div class="modal__surface" @click="overlayClick">\n\t\t\t<div class="modal__container" v-for="modal, index in modals" v-show="index == modals.length - 1">\n\t\t\t\t<div class="modal__outer-header section-header section-header--lg flc" v-if="modal.outerHeader">\n\t\t\t\t\t<div class="section-header__main">\n\t\t\t\t\t\t<h2 class="section-header__title h1" v-if="modal.title">{{modal.title}}</h2>\n\t\t\t\t\t\t<div class="section-header__sub" v-if="modal.titleSub">{{modal.titleSub}}</div>\n\t\t\t\t\t\t<div class="section-header__bottom" v-if="modal.titleBottom">{{modal.titleBottom}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="section-header__aside"></div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class="modal__body">\n\t\t\t\t\t<button class="modal__close-btn" @click="closeAll()" :key="modal ? modal.key || modal.component : modals.length" :title="getMessage(\'CLOSE\')" aria-label="ÐакÑÑÑÑ">\n\t\t\t\t\t\t\t<svg class="modal__close-btn-icon svg-icon">\n\t\t\t\t\t\t<use xlink:href="#svg-icon-close"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button class="modal__close-btn modal__close-btn--back" @click="close()" key="back" :title="getMessage(\'BACK\')" v-if="modals && modals.length > 1">\n\t\t\t\t\t\t<svg class="modal__close-btn-icon svg-icon">\n\t\t\t\t\t\t<use xlink:href="#svg-icon-back"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</button>\n\n\t\t\t\t\t<component v-if="modal && modal.component" :is="modal.component"\n\t\t\t\t\t\t\t key="modals.length"\
1n\t\t\t\t\t\t\t v-bind="modal.props"\n\t\t\t\t\t\t\t :initial-state="modal.state" \n\t\t\t\t\t\t\t :remote-data-source="modal.remoteDataSource" \n\t\t\t\t\t\t\t :static-data-source="modal.staticDataSource" \n\t\t\t\t\t\t\t :bxajaxid="modal.bxajaxid"></component>\n\n\t\t\t\t\t<v-lazy-component v-if="modal.content" class="modal__content">\n\t\t\t\t\t\t<div v-html="modal.content"></div>\n\t\t\t\t\t</v-lazy-component>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{modals:[],loading:null,closeTimeout:null,lockedScrollPosition:0,historyEventIsHashChange:!1}},computed:{topModal:function(){return this.modals.length?this.modals[this.modals.length-1]:null}},watch:{modals:function(){var t=this;this.loading=!0,Vue.nextTick(function(){View.initAllLocal(t.$el)})}},methods:{open:function(t){this.closeTimeout&&(clearTimeout(this.closeTimeout),this.closeTimeout=null,this.modals.pop()),this.modals.push(t),this.freezeRoot(),document.body.classList.add("state--modal-open"),t.ownHistory||window.history.pushState({component:"v-modal"},"",window.location.href)},openUrl:function(t,e,n){var a=this;if("string"!=typeof t||!t)return console.warn("modalController.openUrl error: url is not a string",t),!1;var i=e||{},e=new Url(t);"function"!=typeof n&&(i.callback=n),a.freezeRoot(),$.ajax({type:"post",url:e.path+"?AJAXMODE=Y",data:e.query.valueOf(),dataType:"html"}).done(function(t){"function"==typeof i.callback&&i.callback({status:"success"});var e="dynamic-component"+(new Date).getMilliseconds();i.component=Vue.component(e,{template:'<div class="dynamic-modal-content">'+t+"</div>"}),i.key=e,a.closeTimeout&&(clearTimeout(a.closeTimeout),a.closeTimeout=null,a.modals.pop()),i.ownHistory||window.history.pushState({component:"v-modal"},"",window.location.href),a.modals.push(i),a.freezeRoot(),document.body.classList.add("state--modal-open")}).fail(function(t){"function"==typeof i.callback&&i.callback({status:"error"}),console.warn("modalController.openUrl error: "+t)})},close:function(t){var e=this;return t&&t.fromHistory||!e.modals.length||!e.modals[e.modals.length-1].ownHistory?void(1<e.modals.length?e.modals.pop():(e.closeTimeout=setTimeout(function(){e.modals.pop(),Vue.nextTick(function(){e.unfreezeRoot(),setTimeout(function(){e.unfreezeRoot()},20)})},250),!(e.modals.length<=1)||t&&t.replace||(document.body.classList.remove("state--modal-open"),e.unfreezeRoot(),Vue.nextTick(function(){e.unfreezeRoot()})))):void window.history.back()},closeAll:function(){var t=this,e=(t.close(),setInterval(function(){1<t.modals.length?t.close():clearInterval(e)},10))},freezeRoot:function(){var t=this;t.lockedScrollPosition=$(window).scrollTop(),Vue.nextTick(function(){$(".root").scrollTop(t.lockedScrollPosition)})},unfreezeRoot:function(){var t=this;Vue.nextTick(function(){$("html, body, .root").scrollTop(t.lockedScrollPosition)})},overlayClick:function(t){t.target.classList.contains("modal__surface")&&this.close()},handlePopState:function(t){return this.historyEventIsHashChange?void(this.historyEventIsHashChange=!1):(console.log("v-modal: pop state",t.state),void(this.topModal&&this.close({fromHistory:!0})))},handleHashChange:function(){this.historyEventIsHashChange=!0},handleEsc:function(t){t&&27==t.keyCode&&this.close()}},created:function(){function e(t,e){var n,a=$(t),i=a.attr("data-modal-url")?a.attr("data-modal-url"):a.attr("href");try{n=JSON.parse(a.attr("data-modal-data"))}catch(t){n=null,i||console.warn("v-modal: wrong modalData on .js-open-modal",t)}i?(e&&s.close(),s.openUrl(i,n)):n&&(e&&s.close(),s.open(n))}var t,s=this,n=$(document.body);window.modalController=this,n.off("click.replaceModal",".js-replace-modal").on("click.replaceModal",".js-replace-modal",function(t){return e(this,!0),t.preventDefault(),!1}),n.off("click.openModal",".js-open-modal").on("click.openModal",".js-open-modal",function(t){return View&&View.control.closeAll(),e(this),t.preventDefault(),!1}),n.off("click.closeModal",".js-close-modal").on("click.closeModal",".js-close-modal",function(){modalController.close()}),window.location.hash&&(n=window.location.hash.replace("#","").split("&").map(function(t){return{key:t.split("=")[0],value:t.split("=")[1]}}),n=_.find(n,{key:"modal"}))&&n.value&&((t=$('[data-modal-url="'+n.value+'"]')).length?e(t[0]):this.openUrl(n.value)),document.addEventListener("keyup",s.handleEsc),window.addEventListener("popstate",s.handlePopState),window.addEventListener("hashchange",s.handleHashChange)},destroyed:function(){document.body.classList.remove("state--modal-open"),document.removeEventListener("keyup",this.handleEsc),window.removeEventListener("popstate",this.handlePopState),window.removeEventListener("hashchange",this.handleHashChange),$(document.body).off("overlayClick.InModal click.replaceModal click.openM
1odal")}}),Vue.component("v-model-loader",{template:'\n\t<div class="v-model-loader model-loader"></div>\n',props:{staticDataSource:{default:null},remoteDataSource:{default:null},type:{required:!0},bxajaxid:{default:null}},methods:{loadCompare:function(){this.staticDataSource?Model.compare=this.staticDataSource.compare:this.remoteDataSource&&console.warn("v-model-loader warning: remote data source is not implemented yet")},loadGeolocation:function(){return this.staticDataSource?void(this.staticDataSource&&this.staticDataSource.geolocation&&(Model.geolocation=this.staticDataSource.geolocation,Model.geolocation.coords?Array.isArray(Model.geolocation.coords)||(Model.geolocation.coords=_.values(Model.geolocation.coords)):(Model.geolocationSearch(),Model.$once("geolocation-changed",function(){modalController.openUrl("/local/components/newsite/citySelect/city_bar.php",{className:"modal--sm"})})))):void console.warn("v-model-loader warning: no geolocation data")}},created:function(){"compare"==this.type&&this.loadCompare(),"geolocation"==this.type&&this.loadGeolocation()}}),Vue.prototype.$ymapEventBus=new Vue({data:{ymapReady:!1,scriptIsNotAttached:!0}}),window.Model=new Vue({data:function(){return{compare:{remote:null,link:null,bxajaxid:null,items:[]},geolocation:{remote:null,bxajaxid:null,coords:null,country:null,city:{name:null,id:null}},basket:{remote:null,link:null,bxajaxid:null,items:[]}}},watch:{basket:function(){this.$emit("basket-changed",this.basket)},compare:function(){this.compare.items&&this.compare.items.length?document.body.classList.add("state--compare-not-empty"):document.body.classList.remove("state--compare-not-empty")}},created:function(){this.shareReinit()},methods:{shareReinit:function(){$(".ya-share2.not-init").each(function(){var t,e=$(this);"undefined"!=typeof Ya&&void 0!==Ya.share2&&(e.removeClass("not-init"),t={content:{url:window.location.href}},"object"==_typeof(e.data("content"))&&(t=e.data("content")),Ya.share2(e.attr("id"),t))}),setTimeout(this.shareReinit,1e3)},basketAdd:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=this;e.request({url:e.basket.remote,data:{action:"add",bxajaxid:e.basket.bxajaxid,items:t.items,count:t.count,setValue:t.setValue}}).done(function(t){console.log("v-model basketAdd success",t),e.basket.checksum=t.basket.checksum,e.basket.items=t.basket.items}).fail(function(t){console.log("v-model basketAdd failed",t)}).always(function(){e.$emit("basket-changed",e.basket)})},basketRemove:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=this;e.request({url:e.basket.remote,data:{action:"remove",bxajaxid:e.basket.bxajaxid,items:t.all?"all":t.items,count:t.count}}).done(function(t){console.log("v-model basketRemove success",t),e.basket.remote=t.basket.remote,e.basket.link=t.basket.link,e.basket.items=t.basket.items,e.basket.checksum=t.basket.checksum}).fail(function(t){console.log("v-model basketRemove failed",t)}).always(function(){e.$emit("basket-changed",e.basket)})},basketClear:function(){this.basketRemove({all:!0})},request:function(t){return $.ajax({url:t.url,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:t.data})},compareAdd:function(t){var e=this;e.request({url:e.compare.remote,data:{action:"add",bxajaxid:e.compare.bxajaxid,id:t}}).done(function(t){console.log("v-model compareAdd success",t),e.compare.remote=t.compare.remote,e.compare.link=t.compare.link,e.compare.items=t.compare.items}).fail(function(t){console.log("v-model compareAdd failed",t)}).always(function(){e.$emit("compare-changed")})},compareRemove:function(t,e){var n=this;n.request({url:n.compare.remote,data:{action:"remove",bxajaxid:n.compare.bxajaxid,id:e?"all":t}}).done(function(t){console.log("v-model compareRemove success",t),n.compare.remote=t.compare.remote,n.compare.link=t.compare.link,n.compare.items=t.compare.items}).fail(function(t){console.log("v-model compareRemove failed",t)}).always(function(){n.$emit("compare-remove",e?"all":t),n.$emit("compare-changed")})},compareClear:function(){this.compareRemove(null,!0)},loadYmaps:function(){var t=this;
1if(!this.$ymapEventBus.scriptIsNotAttached||-1!=navigator.userAgent.indexOf("Chrome-Lighthouse"))return!1;var e=document.createElement("SCRIPT");e.setAttribute("src","https://api-maps.yandex.ru/2.1/?apikey=64b6656c-a6e7-4a32-a87a-965bb8f8ee75&lang=ru_RU"),e.setAttribute("async",""),e.setAttribute("defer",""),document.body.appendChild(e),this.$ymapEventBus.scriptIsNotAttached=!1,e.onload=function(){t.$ymapEventBus.ymapReady=!0,t.$ymapEventBus.$emit("scriptIsLoaded")}},initYmapsOnEvent:function(t){this.loadYmaps(),t.currentTarget.removeEventListener(t.type,this.initYmapsOnEvent)},setGeolocation:function(t,e){var n=this;$.post({url:window.location,data:{action:"setCity",CITY_ID:t,bxajaxid:n.geolocation.bxajaxid},dataType:"json"}).done(function(t){n.geolocation.city={id:t.geolocation.city.id,name:t.geolocation.city.name},n.$emit("geolocation-changed"),e(t),window.location.reload()}).fail(function(t){console.warn("Model.setGeolocation failed:",t),e(t)})},geolocationSearch:function(){function t(){ymaps.geolocation.get({provider:"auto",autoReverseGeocode:!0}).then(function(t){e.geolocation.coords=t.geoObjects.get(0).geometry.getCoordinates(),e.request({url:e.geolocation.remote,data:{action:"set",bxajaxid:e.geolocation.bxajaxid,coords:e.geolocation.coords}}).done(function(t){e.geolocation.city={id:t.geolocation.city.id,name:t.geolocation.city.name},console.log("v-model geolocationSearch success",t)}).fail(function(t){console.log("v-model geolocationSearch failed",t)}).always(function(){e.$emit("geolocation-changed")})})}var e=this;$(document).ready(function(){document.addEventListener("DOMContentLoaded",function(){setTimeout(Model.loadYmaps(),5e3)}),document.addEventListener("scroll",Model.initYmapsOnEvent),document.addEventListener("mousemove",Model.initYmapsOnEvent),document.addEventListener("touchstart",Model.initYmapsOnEvent),e.$ymapEventBus.ymapReady?ymaps.ready(t):e.$ymapEventBus.$on("scriptIsLoaded",function(){ymaps.ready(t)})})}}}),Vue.component("v-order-kds",{template:'\n\t<div class="v-order-kds order-kds" \n\t :class="{\'order-kds--has-comments\': order.comments && order.comments.items && order.comments.items.length > 0}">\n\t\t<transition name="content-fade">\n\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t</transition>\n\t\t<div class="order-kds__container container">\n\t\t\t<div class="order-kds__header">\n\t\t\t\t<h1 v-if="order && order.title" class="order-kds__title">\n\t\t\t\t\t{{order.title}}\n\t\t\t\t</h1>\n\t\t\t\t<div class="order-kds__link-back">\n\t\t\t\t\t<slot name="link-back"></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if="order" class="order-kds__main">\n\t\t\t\t<div class="order-kds__left">\n\t\t\t\t\t<div v-if="order.status" class="order-kds__status flc">\n\t\t\t\t\t\t<div class="big-status">\n\t\t\t\t\t\t\t<div class="big-status__marker"\n\t\t\t\t\t\t\t :style="{\'background-color\': order.status.color}"></div>\n\t\t\t\t\t\t\t<div class="big-status__text">\n\t\t\t\t\t\t\t\t{{order.status.text}}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="order.dateOfIssue" class="order-kds__feature flc">\n\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'DATE_OF_ISSUE\')}}: </div>\n\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.dateOfIssue}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="order.deliveryMethod" class="order-kds__feature flc">\n\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'DELIVERY_METHOD\')}}: </div>\n\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.deliveryMethod}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="order.printLink" class="order-kds__link-icon">\n\t\t\t\t\t\t<button @click.prevent="openNewWindow(order.printLink, \'\', order.printFeatures)"\n\t\t\t\t\t\t class="link-icon"\n\t\t\t\t\t\t type="button">\n\t\t\t\t\t\t\t<svg class="link-icon__icon svg-icon">\n\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-small-printer"></use>\n\t\t\t\t\t\t\t</svg>\n {{getMessage(\'PRINT_INVOICE\')}}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="order-kds__right">\n\t\t\t\t\t<div v-if="order.contract" class="order-kds__feature flc">\n\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'SPARE_PARTS_CONTRACT\')}}
1: </div>\n\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.contract}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="order.address" class="order-kds__feature flc">\n\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'COUNTRY_AND_ADDRESS\')}}: </div>\n\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.address}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="order.contactFio" class="order-kds__feature flc">\n\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'NAME_OF_CONTACT_PERSON\')}}: </div>\n\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.contactFio}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="order.phoneNumber" class="order-kds__feature flc">\n\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'PHONE_NUMBER\')}}: </div>\n\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.phoneNumber}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="order.email" class="order-kds__feature flc">\n\t\t\t\t\t\t<div class="order-kds__feature-name">{{getMessage(\'EMAIL\')}}: </div>\n\t\t\t\t\t\t<div class="order-kds__feature-value">{{order.email}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div v-if="order" class="order-kds__content js-tabs">\n\t\t\t\t<div class="tab-labels tab-labels--big">\n\t\t\t\t\t<div class="tab-labels__row">\n\t\t\t\t\t\t<div class="tab-labels__item">\n\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn js-tabs__label open" data-tab="1">\n\t\t\t\t\t\t\t\t{{getMessage(\'ORDER_LIST\')}}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\x3c!--\t\t\t\t\t\t<div class="tab-labels__item">--\x3e\n\x3c!--\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn js-tabs__label" data-tab="2">--\x3e\n\x3c!--\t\t\t\t\t\t\t\t{{getMessage(\'COMMENTS_ON_THE_ORDER\')}}--\x3e\n\x3c!--\t\t\t\t\t\t\t</button>--\x3e\n\x3c!--\t\t\t\t\t\t</div>--\x3e\n\t\t\t\t\t\t<div class="tab-labels__item">\n\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn js-tabs__label" data-tab="2">\n\t\t\t\t\t\t\t\t{{getMessage(\'APPROVAL_HISTORY\')}}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="order-kds__tab-content">\n\t\t\t\t\t<div class="tab-behavior js-tabs__tab open" data-tab="1">\n\t\t\t\t\t\t<div class="text-guide">\n\t\t\t\t\t\t\t<div class="table-scroller">\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<template v-if="template === \'basket-table\'">\n\t\t\t\t\t\t\t\t\t<table class="big-table">\n\t\t\t\t\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t<th class="big-table__th big-table__th--big-paddings">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<b>{{getMessage(\'#\')}}</b>\n\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<b>{{getMessage(\'NAME_AND_PRODUCT_CODE\')}}</b>\n\t\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th><b>{{getMessage(\'QUANTITY_PCS\')}}</b></th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th><b>{{getMessage(\'PRICE_BYN\')}}</b></th>\n\t\t\t\t\t\t\t\t\t\t\t\t<th><b>{{getMessage(\'TOTAL_BYN\')}}</b></th>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr v-for="(item, itemIndex) in order.composition.products" :key="itemIndex">\n\t\t\t\t\t\t\t\t\t\t\t\t<td class="big-table__th big-table__td--big-paddings">{{itemIndex + 1}}</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{item.name}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p v-if="item.sku">{{item.sku}}</p>\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td>{{item.plan.count}}</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td>{{item.plan.price}}</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td>{{item.plan.total}}</td>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class="big-table__total">\n\t\t\t\t\t\t\t\t\t\t\t\t<td colspan="2" class="big-table__th big-table__td--big-paddings">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'TOTAL\')}}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td v-if="order.composition.total.plan">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<b>{{order.composition.total.plan.count}}</b>\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<b>-</b>\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td v-if="order.composition.total.plan">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<b>{{order.composition.total.plan.total}}</b>\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\t<table class="big-table">\n\t\t\t\t\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th rowspan="2" class="big-table__th big-table__th--big-paddings">\n\t\t\t\t\t\t\t\t\t\t\t\t<b>{{getMessage(\'#\')}}</b>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t<th rowspan="2">\n\t\t\t\t\t\t\t\t\t\t\t\t<b>{{getMessage(\'NAME_AND_PRODUCT_CODE\')}}</b>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t\t<th class="big-table__centered" colspan="3"><b>{{getMessage(\'PLAN\')}}</b></th>\n\t\t\t\t\t\t\t\t\t\t\t<th class="big-table__centered" colspan="4"><b>{{getMessage(\'FACT\')}}</b></th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th><b>{{getMessage(\'QUANTITY_PCS\')}}</b></th>\n\t\t\t\t\t\t\t\t\t\t\t<th><b>{{getMessage(\'PRICE_BYN\')}}</b></th>\n\t\t\t\t\t\t\t\t\t\t\t<th><b>{{getMessage(\'TOTAL_BYN\')}}</b></th>\n\t\t\t\t\t\t\t\t\t\t\t<th><b>{{getMessage(\'QUANTITY_PCS\')}}</b></th>\n\t\t\t\t\t\t\t\t\t\t\t<th><b>{{getMessage(\'PRICE_BYN\')}}</b></th>\n\t\t\t\t\t\t\t\t\t\t\t<th><b>{{getMessage(\'VAT_RATE\')}}</b></th>\n\t\t\t\t\t\t\t\t\t\t\t<th><b>{{getMessage(\'TOTAL_BYN\')}}</b></th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr v-for="(item, itemIndex) in order.composition.products" :key="itemIndex">\n\t\t\t\t\t\t\t\t\t\t\t<td class="big-table__th big-table__td--big-paddings">{{itemIndex + 1}}</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t{{item.name}}\n\t\t\t\t\t\t\t\t\t\t\t\t<p v-if="item.sku">{{item.sku}}</p>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>{{item.plan.count}}</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>{{item.plan.price}}</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>{{item.plan.total}}</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>{{item.fact.count}}</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>{{item.fact.price}}</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>{{item.fact.nds}}</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>{{item.fact.total}}</td>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t<tr class="big-table__total">\n\t\t\t\t\t\t\t\t\t\t\t<td colspan="2" class="big-table__th big-table__td--big-paddings">\n\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'TOTAL\')}}\n\t\t\t\t\t\t\t\t\t\t\t\t<div v-if="order.composition.total.protocol"\n\t\t\t\t\t\t\t\t\t\t\t\t class="big-table__link-icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a :href="order.composition.total.protocol.link"\n\t\t\t\t\t\t\t\t\t\t\t\t\t class="link-icon"\n\t\t\t\t\t\t\t\t\t\t\t\t\t download>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="link-icon__icon svg-icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-document"></use>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{order.composition.total.protocol.text}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div v-if="order.compositionAction" class="big-table__action">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<button @click="approveOrder" type="button" class="big-table__action-btn btn btn--primary flc">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'TO_APPROVE\')}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="btn__arrow-right btn__arrow-right--right svg-icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<button class="big-table__action-btn btn btn--secondary-alt flc js-open-modal"\n @click="rejectOrder" type="button">
1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'TO_REJECT\')}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t<td v-if="order.composition.total.plan">\n\t\t\t\t\t\t\t\t\t\t\t\t<b>{{order.composition.total.plan.count}}</b>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t<b>-</b>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t<td v-if="order.composition.total.plan">\n\t\t\t\t\t\t\t\t\t\t\t\t<b>{{order.composition.total.plan.total}}</b>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t<td v-if="order.composition.total.fact">\n\t\t\t\t\t\t\t\t\t\t\t\t<b>{{order.composition.total.fact.count}}</b>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t<b>-</b>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t<b>-</b>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t<td v-if="order.composition.total.fact">\n\t\t\t\t\t\t\t\t\t\t\t\t<b>{{order.composition.total.fact.total}}</b>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\x3c!--\t\t\t\t\t<div class="tab-behavior js-tabs__tab" data-tab="2">--\x3e\n\x3c!--\t\t\t\t\t\t<div class="comments">--\x3e\n\x3c!--\t\t\t\t\t\t\t<div class="comments__title">--\x3e\n\x3c!--\t\t\t\t\t\t\t\t{{getMessage(\'COMMENTS_ON_THE_ORDER\')}}--\x3e\n\x3c!--\t\t\t\t\t\t\t</div>--\x3e\n\n\x3c!--\t\t\t\t\t\t\t<template v-if="order.comments && order.comments.items && order.comments.items.length > 0">--\x3e\n\x3c!--\t\t\t\t\t\t\t\t<div v-for="(groupComment, groupCommentIndex) in computedCommentsItems(order.comments.items)"--\x3e\n\x3c!--\t\t\t\t\t\t\t\t class="comments__date-group flc" --\x3e\n\x3c!--\t\t\t\t\t\t\t\t :key="groupCommentIndex">--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t<div class="comments__date">--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t<div class="comments__date-value">--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t{{groupComment[0].date}}--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t</div>--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t</div>--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t<div v-for="(comment, commentIndex) in groupComment" --\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t class="comments__item" --\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t :key="comment.id || commentIndex">--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t<div class="comments__header">--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t<div class="comments__avatar">--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t\t<img v-if="comment.avatar"--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t\t :src="comment.avatar"--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t\t class="comments__avatar-image"--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t\t alt="">--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t\t<img v-else--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t\t class="comments__avatar-image"--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t\t src="/local/images/markup-images/avatars/avatar-empty.svg"--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t\t alt="">--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t</div>--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t<div class="comments__name">{{comment.name}}</div>--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t\t<div class="comments__time">{{comment.messageTime}}</div>--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t</div>--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t\t<div class="comments__message" v-html="comment.message"></div>--\x3e\n\x3c!--\t\t\t\t\t\t\t\t\t</div>--\x3e\n\x3c!--\t\t\t\t\t\t\t\t</div>--\x3e\n\x3c!--\t\t\t\t\t\t\t</template>--\x3e\n\n\x3c!--\t\t\t\t\t\t\t<div v-if="$slots[\'form\']" class="order-kds__form">--\x3e\n\x3c!--\t\t\t\t\t\t\t\t<slot name="form"></slot>--\x3e\n\x3c!--\t\t\t\t\t\t\t</div>--\x3e\n\n\x3c!--\t\t\t\t\t\t</div>--\x3e\n\x3c!--\t\t\t\t\t</div>--\x3e\n\t\t\t\t\t<div class="tab-behavior js-tabs__tab" data-tab="2">\n\t\t\t\t\t\t<div v-if="order.approvalHistory && order.approvalHistory.length > 0" class="order-kds__history">\n\t\t\t\t\t\t\t<div class="order-kds__history-title">\n\t\t\t\t\t\t\t\t{{getMessage(\'NEGOTIATION_PROTOCOLS_FOR_THIS_ORDER\')}}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="order-kds__history-links">\n\t\t\t\t\t\t\t\t<div v-for="item in order.approvalHistory" class="order-kds__history-link-wrap flc">
1\n\t\t\t\t\t\t\t\t\t<a :href="item.link"\n\t\t\t\t\t\t\t\t\t download\n\t\t\t\t\t\t\t\t\t class="link-icon">\n\t\t\t\t\t\t\t\t\t\t<svg class="link-icon__icon svg-icon">\n\t\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-document"></use>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t{{item.text}}\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{order:{id:null,remote:null,approveOrderModalUrl:null,rejectOrderModalUrl:null,title:null,status:null,dateOfIssue:null,deliveryMethod:null,printLink:null,printFeatures:null,contract:null,address:null,contactFio:null,email:null,composition:{products:[],total:{plan:null,fact:null,protocol:null}},comments:{items:[]},approvalHistory:[]},loadingMinTimeout:null,loading:!1}},props:{staticDataSource:{default:null},remoteDataSource:{default:null},bxajaxid:{default:null},template:{default:"regular"}},methods:{approveOrder:function(){window.modalController.openUrl(this.order.approveOrderModalUrl,{className:"modal--md modal--form",ownHistory:!1})},rejectOrder:function(){window.modalController.openUrl(this.order.rejectOrderModalUrl,{className:"modal--md modal--form",ownHistory:!1})},computedCommentsItems:function(t){return _.groupBy(t,"date")},openNewWindow:function(t,e,n){window.open(t,e,n)},loadOrder:function(){function t(){n&&(e.order=n.order),e.loadingMinTimeout=null,e.loading=!1}var e=this,n=null,a=!1;e.loading||(e.loading=!0,e.loadingMinTimeout=setTimeout(function(){a&&t(),e.loadingMinTimeout=null},300),$.ajax({url:e.order.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:{bxajaxid:e.bxajaxid}}).done(function(t){console.log("v-order-kds loaded",t),n=t}).fail(function(t){console.warn("v-order-kds load failed",t)}).always(function(){a=!0,e.loadingMinTimeout||t()}))}},mounted:function(){View.initAllLocal(this.$el)},created:function(){var t=this;t.staticDataSource?(t.order=t.staticDataSource.order,console.log("v-order-kds loaded from static data",t.order)):t.remoteDataSource&&(t.order.remote=t.remoteDataSource,t.loadOrder(!0)),Model.$on("comments-updated",t.loadOrder())}}),Vue.component("v-order",{template:'\n\t<div>\n\t\t<template v-if=" catalog && catalog.items && catalog.items.length">\n\t\t\t<div class="v-order order" v-for="order in catalog.items">\n\t\t\t\t<div class="order__pic">\n\t\t\t\t\t<img v-if="order.image" class="order__img" :src="order.image" alt="">\n\t\t\t\t\t<div class="order__no-photo" v-else>\n\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-no-photo"></use></svg>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="order__info">\n\t\t\t\t\t<div class="order__product-meta flc" v-if="order.sku || order.series">\n\t\t\t\t\t\t{{order.sku}} <template v-if="order.sku && order.series"> / </template> <template v-if="order.series">{{getMessage(\'SERIES\')}} {{order.series}}</template>\n\t\t\t\t\t</div>\n\t\t\t\t\t<h4 v-if="order.name" class="order__title h4 flc">{{order.name}}{{order.text && order.text.length?\', \'+order.text : "" }}</h4>\n\t\t\t\t\t<div class="order__main-info">\n\t\t\t\t\t\t<div class="order__item-list">\n\t\t\t\t\t\t\t<div class="order__item flc" v-for="item in order.data">\n\t\t\t\t\t\t\t\t<div class="order__name">\n\t\t\t\t\t\t\t\t\t{{item.name}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="order__text">\n\t\t\t\t\t\t\t\t\t{{item.text}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<template v-if="order.docs && order.docs.length" >\n\t\t\t\t\t\t<a :href="doc.link" :download="doc.download" class="order__btn-download btn" v-for="doc in order.docs">\n\t\t\t\t\t\t\t{{doc.text}} <svg class="btn__download svg-icon"><use xlink:href="#svg-icon-download"></use></svg>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</template>\n\n\n\n\t\t\t\t</div>\n\t\t\t\t<div class="order__links">\n\t\t\t\t\t<a v-if="order.videos && order.videos.length" class="widget-video flc" @click.prevent="openGallery(order.videos)">\n\t\t\t\t\t\t<div class="widget-video__item">\n\t\t\t\t\t\t\t<div class="gallery-preview gallery-preview--video">\n\t\t\t\t\t\t\t\t<div class="gallery-preview__bg" v-if="order.videos[0].srcPoster"\n\t\t\t\t\t\t\t\t\t :style="{\'background-image\': \'url(\'+order.videos[0].srcPoster+\')\'}"></div>\n\t\t\t\t\t\t\t\t<svg class="svg-icon gallery-preview__video-icon"><use xlink:href="#svg-icon-video-btn"></use></svg>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<span class="arrow-link">{{getMessage(\'REVIEW\')}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</a>\n\t\t\t\t\t<div class="link-block__item" :style="\'margin-bottom: 40px;\'">\n\t\t\t\t\t\t<div class="section-action flc" v-if="order.repairsLink">\n\t\t\t\t\t\t\t<span :href="order.repairsLink" \n\t\t\t\t\t\t\t\tdata-modal-data=\'{ \n\t\t\t\t\t\t\t\t"className": "modal
1--lg modal--form", \n\t\t\t\t\t\t\t\t"ownHistory": false\n\t\t\t\t\t\t\t\t}\'\n\t\t\t\t\t\t\t\tclass="arrow-link js-open-modal">{{getMessage(\'ORDER_REPAIR\')}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></span>\n\t\t\t\t\t\t</div>\n\n\n\t\t\t\t\t\t<div class="section-action flc" v-if="order.serviceLink">\n\t\t\t\t\t\t\t<a :href="order.serviceLink" class="arrow-link">{{getMessage(\'FIND_SERVICE\')}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="section-action flc" v-if="order.accessoriesLink">\n\t\t\t\t\t\t\t<a :href="order.accessoriesLink" class="arrow-link">{{getMessage(\'WHERE_TO_BUY_ACCESORIZE\')}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="section-action flc" v-if="order.faqLinks">\n\t\t\t\t\t\t\t<a :href="order.faqLinks" class="arrow-link">{{getMessage(\'FAQ\')}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<button v-if="catalog.medical" type="button" @click="submitApplicationMonitoring(order.data[0].text)" class="btn btn--primary" :style="\'height: auto; white-space: normal; text-transform: none; padding: 12px;\'">\n\t\t\t\t\t\tÐаÑвка на полÑÑение доÑÑÑпа к ÑиÑÑеме Ñдаленного мониÑоÑинга\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\n\n\n\t\t\t</div>\n\n\t\t\t<transition name="content-fade">\n\n\t\t\t\t<v-page-nav class="personal-applications__navigation catalog__navigation"\n\t\t\t\t\t\t\t:static-data-source="state.pages" \n\t\t\t\t\t\t\t@navigate="navigateByPage"\n\t\t\t\t\t\t\tv-if="state.pages && state.pages.count && state.pages.limit < state.pages.count"></v-page-nav>\n\t\t\t</transition>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<div class="personal-applications__attention attention attention--no-border">\n\t\t\t\t<svg class="svg-icon attention__ico-attention">\n\t\t\t\t<use xlink:href="#svg-icon-attention"></use>\n\t\t\t\t</svg>\n\t\t\t\t<span class="attention__attention-text" v-html=" catalog.attention? catalog.attention:getMessage(\'EMPTY_ORDER_NOTIFICATION\')"></span>\n\t\t\t</div>\n\t\t</template>\n\n\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{state:{},catalog:{},loadingMinTimeout:null,loading:!1}},props:{staticDataSource:{default:null},bxajaxid:{default:null}},methods:{submitApplicationMonitoring:function(t){$.ajax({url:"https://atlant.by/personal/user/medicalCompany.php",method:"post",data:{serialNumber:t}}).done(function(t){console.log("DONE",t),modalController.open({content:t,className:"modal--lg modal--form"})}).fail(function(t){console.warn("FAIL",t)})},loadCatalog:function(){function t(){n&&(e.catalog=n.catalog,e.state=n.state),e.loadingMinTimeout=null,e.loading=!1}var e=this,n=null,a=!1;e.loading||(e.loading=!0,e.loadingMinTimeout=setTimeout(function(){a&&t(),e.loadingMinTimeout=null},300),$.ajax({url:e.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:{state:e.state,bxajaxid:e.bxajaxid}}).done(function(t){console.log("v-personal-applications loaded",t),n=t}).fail(function(t){console.warn("v-personal-applications load failed",t)}).always(function(){a=!0,e.loadingMinTimeout&&!fast||t()}))},navigateByPage:function(t){this.state.pages.offset=t.offset,this.state.pages.limit=t.limit,this.loadCatalog()},openGallery:function(t){modalController.open({component:"v-big-gallery",className:"modal--lg modal--gallery",staticDataSource:{videos:t,initialIndex:0}})}},created:function(){var t=this;t.state=t.staticDataSource.state,t.catalog=t.staticDataSource.catalog,Model.$on("addUserProduct",t.loadCatalog)}}),function(){var n=Math.ceil;Vue.component("v-page-nav",{template:'\n\t<div class="v-page-nav page-nav flc" \n\t\t\t v-if="(state.offset + state.limit < state.count) || state.offset > 0" \n\t\t\t :class="{\'page-nav--more\': mode === \'more\'}">\n\t\t\n\t\t<template v-if="mode === \'more\'">\n\t\t\t<div class="page-nav__row">\n\t\t\t\t<div class="page-nav__cell page-nav__cell--main">\n\t\t\t\t\t<button type="button"\n\t\t\t\t\t\t class="btn btn--arrow btn--arrow btn--transparent bt
1n--strong" \n\t\t\t\t\t\t v-if="state.offset + state.limit < state.count" \n\t\t\t\t\t\t @click.prevent="loadMore">\n\t\t\t\t\t\t{{getMessage(\'LOAD_MORE\')}} <svg class="svg-icon arrow-link__arrow arrow-link__arrow--down"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else>\n\t\t\t<div class="page-nav__row">\n\t\t\t\t<div class="page-nav__cell page-nav__cell--left">\n\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t<div class="page-nav__back" v-if="state.offset">\n\t\t\t\t\t\t\t<a class="page-nav__back-link" :href="linkBack" @click.prevent="navigateBack">\n\t\t\t\t\t\t\t\t<svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-left"></use></svg> {{getMessage(\'BACK\')}}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t\t<div class="page-nav__cell page-nav__cell--main">\n\t\t\t\t\t<transition name="content-fade" mode="out-in">\n\t\t\t\t\t\t{{state}}\n\t\t\t\t\t\t<a :href="linkForward" class="btn btn--arrow btn--transparent btn--strong" v-if="state.offset + state.limit < state.count" @click.prevent="navigateForward">\n\t\t\t\t\t\t\t{{getMessage(\'NEXT_PAGE\')}} <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<span class="btn btn--arrow btn--transparent btn--strong disabled" v-else-if="state.offset>0">\n\t\t\t\t\t\t<span class="hidden-4xs">{{getMessage(\'LAST_PAGE_FULL\')}}</span>\n\t\t\t\t\t\t<span class="hidden visible-4xs-inline">{{getMessage(\'LAST_PAGE\')}}</span>\n\t\t\t\t\t</span>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t\t<div class="page-nav__cell page-nav__cell--right">\n\t\t\t\t\t<div class="page-nav__selector">\n\t\t\t\t\t\t<v-field type="select" open-type small :options="pageOptions" v-model="pageNumber" @input="navigateToPage"></v-field>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{state:{offset:0,limit:0,default:0}}},props:{staticDataSource:{default:null},mode:{default:"regular"}},computed:{pageOptions:function(){var t=[];if(this.state.limit)for(var e=0;e<n(this.state.count/this.state.limit);e++)t.push({value:e+1,text:e+1});else console.warn("v-page-nav error: no limit");return t},pageNumber:{get:function(){return n(this.state.offset/this.state.limit)+1},set:function(){}},linkForward:function(){return window.location.pathname+"?offset="+(parseInt(this.state.offset)+parseInt(this.state.limit))+"&limit="+this.state.limit},linkBack:function(){return window.location.pathname+"?offset="+Math.max(0,this.state.offset-this.state.limit)+"&limit="+this.state.limit}},watch:{staticDataSource:function(){this.initState()}},methods:{loadMore:function(){this.state.offset=parseInt(this.state.offset)+parseInt(this.state.limit),this.$emit("navigate",this.state)},navigateBack:function(){var t=this;t.state.offset-=t.state.limit,t.state.offset=t.state.offset<0?0:t.state.offset,this.$emit("navigate",t.state)},navigateForward:function(){var t=this;t.state.offset+t.state.limit>t.state.count||(t.state.offset+=t.state.limit,this.$emit("navigate",t.state))},navigateToPage:function(t){var e=this;e.state.limit*(t-1)>e.state.count||(e.state.offset=e.state.limit*(t-1),this.$emit("navigate",e.state))},initState:function(){this.staticDataSource?this.state=this.staticDataSource:(this.state.offset=this.state.offset||0,this.state.limit=this.state.limit||0,this.state.count=this.state.count||0)}},created:function(){this.initState()}})}(),Vue.component("v-personal-applications",{template:'\n\t<div class="v-personal-applications personal-applications">\n\n\t\t<section v-if="banner" class="personal-applications__banner hero-banner-section flc">\n\t\t\t<div class="hero-banner hero-banner--small hero-banner--left flc"\n\t\t\t\t :class="{\'hero-banner--wide-bg\': banner.type === \'wide\', \'hero-banner--gray\': banner.type === \'gray\'}"\n\t\t\t\t :style="banner.type === \'wide\' ? (\'background-image: url(\' + banner.backgroundImage
1+ \')\') : null">\n\t\t\t\t <div class="hero-banner__image" \n\t\t\t\t :class="{\'hero-banner__image--visible-xs\': banner.type === \'wide\'}"\n\t\t\t\t :style="\'background-image: url(\' + banner.backgroundImage + \')\'"></div>\n\t\t\t\t<div class="hero-banner__main">\n\t\t\t\t\t<div class="hero-banner__animation">\n\t\t\t\t\t\t<h3 class="section-title section-title--indent flc" v-html="banner.title"></h3>\n\t\t\t\t\t\t<div class="section-descr section-descr--large flc">\n\t\t\t\t\t\t\t{{banner.text}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<hr class="section-separator flc" v-if="banner.arrowLinks || banner.button">\n\t\t\t\t\t\t<div v-for="link in banner.arrowLinks" class="section-action flc">\n\t\t\t\t\t\t\t<a :href="link.link ? link.link : null" \n\t\t\t\t\t\t\t\tclass="arrow-link" \n\t\t\t\t\t\t\t\[email protected]="link.action ? $root.$emit(\'go-to-faq-tab\') : null">{{link.text}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<button v-if="banner.button" type="button" class="btn btn--primary hero-banner__button flc">\n\t\t\t\t\t\t\t{{banner.button.text}}\n\t\t\t\t\t\t\t<svg class="btn__arrow-right btn__arrow-right--right svg-icon">\n\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\n\t\t<div class="personal-applications__table repair-table">\n\n\t\t\t<template v-if="catalog && catalog.items && catalog.items.length">\n\n\t\t\t\t<div v-if="mode === \'service-center\' || mode === \'service-center-admin\'" class="list-status__row list-status__row--center">\n\t\t\t\t\t<div class="list-status__cell-meta list-status__cell-meta--alt">\n\t\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t\t<div class="status-value" v-if="catalog.itemsCount !== null && catalog.itemsTotal !== null">\n\t\t\t\t\t\t\t\t{{getMessage(\'SHOWED\')}} <span class="status-value__value">{{catalog.itemsCount}}</span> {{getMessage(\'OF\')}} {{catalog.itemsTotal}}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</transition>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="mode === \'service-center-admin\'" class="list-status__cell-search">\n\t\t\t\t\t\t<v-field type="search" v-model="localQuery" :placeholder="getMessage(\'ENTER_ORDER_FILTER\')" @input="searchInput"></v-field>\n\t\t\t\t\t\t<button type="button" class="list-status__cell-search-btn">\n\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-search"></use></svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="list-status__cell-aside list-status__cell-aside--alt">\n\t\t\t\t\t\t<div v-for="filter in catalog.filters" class="list-status__selector list-status__selector--margin">\n\t\t\t\t\t\t\t<v-field type="select" open-type :options="filter.options" v-model="filter.value" @input="stateChanged" small></v-field>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<table class="repair-table__table flc">\n\t\t\t\t\t<thead class="repair-table__head">\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td>{{getMessage("REPAIR_COL_1")}}</td>\n\t\t\t\t\t\t\t<td>{{getMessage("REPAIR_COL_2")}}</td>\n\t\t\t\t\t\t\t<td v-if="mode === \'service-center\' || mode === \'service-center-admin\'">{{getMessage("REPAIR_COL_3")}}</td>\n\t\t\t\t\t\t\t<td v-else>{{getMessage("REPAIR_COL_4")}}</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</thead>\n\t\t\t\t\t<tbody class="repair-table__body">\n\t\t\t\t\t<template v-for="(item, i) in catalog.items">\n\t\t\t\t\t\t<tr :class="{\'repair-table__row--no-border\': item.review}">\n\t\t\t\t\t\t\t<td class="flc">\n\t\t\t\t\t\t\t\t<div class="repair-table__product-meta flc" v-if="item.sku || item.series">\n\t\t\t\t\t\t\t\t\t{{item.sku}} <template v-if="item.sku && item.series"> / </template> <template v-if="item.series">{{getMessage(\'SERIES\')}} {{item.series}}</template>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="repair-table__name flc">\n\t\t\t\t\t\t\t\t\t{{item.name}}\n\t\t\t\t\t\t\t\t</div>
1\n\t\t\t\t\t\t\t\t<div class="repair-table__captions">\n\t\t\t\t\t\t\t\t\t<div class="repair-table__caption">\n\t\t\t\t\t\t\t\t\t\t{{item.SN}}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="repair-table__caption">\n\t\t\t\t\t\t\t\t\t\t{{item.purchaseDate}}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td class="flc">\n\t\t\t\t\t\t\t\t<div class="repair-table__descr">\n\t\t\t\t\t\t\t\t\t{{item.descr}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="repair-table__files">\n\t\t\t\t\t\t\t\t\t<a v-for="(file, i) in item.files" :key="i" class="repair-table__file-link flc" :href="file.link" download>\n\t\t\t\t\t\t\t\t\t\t{{file.filename}}\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td class="flc">\n\t\t\t\t\t\t\t\t<template v-if="mode === \'regular\'">\n\t\t\t\t\t\t\t\t\t<div class="repair-table__name flc">\n\t\t\t\t\t\t\t\t\t\t{{item.serviceName}}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="repair-table__status flc">\n\t\t\t\t\t\t\t\t\t\t<div class="repair-table__status-text" :class="{\'repair-table__status-text--disabled\': item.isCompleted}">\n\t\t\t\t\t\t\t\t\t\t\t {{item.statusText}} \x3c!-- to keep height if statusText is empty --\x3e\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="repair-table__caption flc">\n\t\t\t\t\t\t\t\t\t{{item.requestDate}}\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div v-if="item.serviceHistory" class="repair-table__history js-message-toggler flc">\n\t\t\t\t\t\t\t\t\t<a class="repair-table__history-btn flc" @click.prevent="toggleHistory($event, i)">\n\t\t\t\t\t\t\t\t\t\t{{getMessage(\'SERVICE_HISTORY\')}}\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<div class="repair-table__dropdown js-dropdown-block">\n\t\t\t\t\t\t\t\t\t\t<ul v-for="str in item.serviceHistory">\n\t\t\t\t\t\t\t\t\t\t\t<li>{{str}}</li>\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t<div class="repair-table__dropdown-close js-dropdown-close"></div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div v-if="item.cancelForm" class="repair-table__cancel-wrap js-message-toggler flc">\n\t\t\t\t\t\t\t\t\t<a class="repair-table__cancel arrow-link" @click.prevent="toggleCancelForm($event, i)">\n\t\t\t\t\t\t\t\t\t\t{{getMessage(\'CANCEL\')}}\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<div class="repair-table__dropdown js-dropdown-block">\n\t\t\t\t\t\t\t\t\t\t<span>{{getMessage(\'CANCEL_ORDER_CONFIRM\')}}</span>\n\t\t\t\t\t\t\t\t\t\t<div class="repair-table__dropdown-actions flc">\n\t\t\t\t\t\t\t\t\t\t\t<div class="repair-table__dropdown-actions-grid">\n\t\t\t\t\t\t\t\t\t\t\t\t<button type="submit" class="repair-table__button btn btn--primary">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'YES\')}}\n\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t<button type="button" class="repair-table__button repair-table__button--margin btn btn--primary js-dropdown-close">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'NO\')}}\n\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<a v-if="item.isCompleted && item.leaveFeedback" href="#" class="repair-table__arrow-link arrow-link" @click.prevent="leaveFeedback">{{getMessage(\'SEND_REVIEW\')}}<span class="arrow-link__tail"> <svg\n\t\t\t\t\t\t\t\t\t\t\tclass="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t<template v-else-if="mode === \'service-center\' || mode === \'service-center-admin\'">\n\t\t\t\t\t\t\t\t\x3c!-- Todo dointegrate this --\x3e\n\t\t\t\t\t\t\t\t<div v-if="item.shortContacts" class="repair-table__contacts">\n\t\t\t\t\t\t\t\t\t<div class="repair-table__contacts-text flc">\n\t\t\t\t\t\t\t\t\t\tÐинÑк\n\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip-wrap">\n\t\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip dropdown-owner js-dropdown">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__btn js-dropdown__btn"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__body dropdown js-dropdown__body js-tooltip-position" style="left: -262.266px;">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'FULL_SERVICE_CONTACT_NOTIFY\')}}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div v-else-if="item.fullContacts" class="repair-table__contacts">\n\t\t\t\t\t\t\t\t\tÐинÑк<br>\n\t\t\t\t\t\t\t\t\tÐолÑбоглазов Ðиколай ФедоÑовиÑ<br>\n\t\t\t\t\t\t\t\t\t+375 29 123-45-67\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div class="repair-table__status flc">\n\t\t\t\t\t\t\t\t\t<div class="repair-table__status-text" :class="{\'repair-table__status-text--disabled\': item.isCompleted, \'repair-table__status-text--warning\': item.isWarning, \'repair-table__status-text--failed\': item.isFailed}">\n\t\t\t\t\t\t\t\t\t\t {{item.statusText}} \x3c!-- to keep height if statusText is empty --\x3e\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div v-if="item.requestDate" class="repair-table__c
1aption flc">\n\t\t\t\t\t\t\t\t{{item.requestDate}}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div v-if="item.hintText" class="repair-table__caption repair-table__caption--black flc">\n\t\t\t\t\t\t\t\t{{item.hintText}}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div v-if="item.serviceHistory" class="repair-table__history js-message-toggler flc">\n\t\t\t\t\t\t\t\t<a class="repair-table__history-btn flc" @click.prevent="toggleHistory($event, i)">\n\t\t\t\t\t\t\t\t\t{{getMessage(\'SERVICE_HISTORY\')}}\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<div class="repair-table__dropdown js-dropdown-block">\n\t\t\t\t\t\t\t\t\t<ul v-for="str in item.serviceHistory">\n\t\t\t\t\t\t\t\t\t\t<li>{{str}}</li>\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t<div class="repair-table__dropdown-close js-dropdown-close"></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div v-if="item.comment" class="repair-table__history js-message-toggler flc">\n\t\t\t\t\t\t\t\t<a class="repair-table__history-btn flc" @click.prevent="toggleComment($event, i)">\n\t\t\t\t\t\t\t\t\t{{getMessage(\'COMMENT\')}}\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<div class="repair-table__dropdown js-dropdown-block">\n\t\t\t\t\t\t\t\t\t<ul v-for="str in item.comment">\n\t\t\t\t\t\t\t\t\t\t<li>{{str}}</li>\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t<div class="repair-table__dropdown-close js-dropdown-close"></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<a v-if="item.applicationsLink" href="#" class="repair-table__arrow-link arrow-link" @click.prevent="$root.$emit(\'go-to-applications-tab\')">\n\t\t\t\t\t\t\t\t{{getMessage(\'ORDER_LIST\')}}\n\t\t\t\t\t\t\t\t<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t</a>\n\n\t\t\t\t\t\t\t<div v-if="item.refuseButton" class="repair-table__refuse-action js-message-toggler flc">\n\t\t\t\t\t\t\t\t<a class="repair-table__arrow-link arrow-link" @click.prevent="toggleRefuseForm($event, i)">\n\t\t\t\t\t\t\t\t\t{{getMessage(\'CANCEL_ORDER\')}}\n\t\t\t\t\t\t\t\t\t<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<div class="repair-table__dropdown repair-table__dropdown--wide js-dropdown-block">\n\t\t\t\t\t\t\t\t\t<v-rich-form\n\t\t\t\t\t\t\t\t\t\t:frame="false"\n\t\t\t\t\t\t\t\t\t\t:static-data-source="null"\n\t\t\t\t\t\t\t\t\t\tremote-data-source="/local/source/markup/fixtures/cancel-form.json"\n\t\t\t\t\t\t\t\t\t\t:bxajaxid="bxajaxid"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t</v-rich-form>\n\t\t\t\t\t\t\t\t\t<div class="repair-table__dropdown-close js-dropdown-close"></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<button v-if="item.acceptButton" type="button" data-modal-url="" class="repair-table__button btn btn--primary btn--short flc js-open-modal">\n\t\t\t\t\t\t\t\t{{getMessage(\'GET_ORDER\')}}\n\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t<div v-if="item.executorButton || item.executorName || item.executorLink" class="repair-table__executor js-message-toggler">\n\t\t\t\t\t\t\t\t<div v-if="item.executorName" class="repair-table__executor-name">\n\t\t\t\t\t\t\t\t\t{{item.executorName}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<a v-if="item.executorLink" \n\t\t\t\t\t\t\t\t class="repair-table__arrow-link repair-table__arrow-link--small-margin arrow-link" @click.prevent="toggleExecutorForm($event, i)">{{getMessage(\'CHANGE_EXECUTOR\')}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\t\t\t\t\t\t\t\t<button v-if="item.executorButton" \n\t\t\t\t\t\t\t\t\t\ttype="button" \n\t\t\t\t\t\t\t\t\t\[email protected]="toggleExecutorForm($event, i)" \n\t\t\t\t\t\t\t\t\t\tclass="repair-table__button btn btn--primary btn--short flc">\n\t\t\t\t\t\t\t\t\t{{getMessage(\'SET_EXECUTOR\')}}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<div class="repair-table__dropdown repair-table__dropdown--wide js-dropdown-block" :class="{\'repair-table__dropdown--margin\': item.executorButton}">\n\t\t\t\t\t\t\t\t\t <v-rich-form\n\t\t\t\t\t\t\t\t\t\t:frame="false"\n\t\t\t\t\t\t\t\t\t\t:static-data-source="null"\n\t\t\t\t\t\t\t\t\t\tremote-data-source="/local/source/markup/fixtures/executor-form.json"\n\t\t\t\t\t\t\t\t\t\t:bxajaxid="bxajaxid"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t</v-rich-form>\n\t\t\t\t\t\t\t\t\t<div class="repair-table__dropdown-close js-dropdown-close"></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr v-if="item.review">\n\t\t\t\t\t<td colspan="3" class="repair-table__review-cell">\n\t\t\t\t<v-review-item :review="item.review" mode="tablerow"></v-review-item>\n\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</template>\n\t\t\t</tbody>\n\t\t</table>\n\t</template>\n\n\t<template v-else>\n\t\t<div class="personal-applications__attention attention attention--no-border">\n\t\t\t<svg class="svg-icon attention__ico-attention">\n\t\t\t<use xlink:href="#svg-icon-attention"></use>\n\t\t\t</svg>\n\t\t\t<span class="attention__attention-text" v-html="catalog.attention?catalog.attention:getMessage(\'EMPTY_ORDER_NOTIFICATION\')"></span>\n\t\t</div>\n\t</template>\n\n\t<transition name="content-fade">\n\t\t<v-page-nav class="personal-applications__navigation catalog__navigation"\n\t\t\t\t\t:static-data-source="catalog.pages" \n\t\t\t\t\t@navigate="navigateByPage"\n\t\t\t\t\tv-if="catalog.pages && catalog.pages.count && catalog.pages.limit < catalog.pages.count && !noPageNav"></v-page-nav>\n\t</transition>\n\n</div>\n</div>\n\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{catalog:{filters:null,items:null,itemsTotal:null,itemsCount:null,pages:{offset:null,limit:null,count:null}},state:{filter:null,pages:{offset:null,limit:null}},open:!1,historyState:[],commentState:[],refuseFormState:[],executorFormState:[],cancelFormState:[],loading:!1,loadingMinTimeout:null,filterIsChanged:!1,changedFilters:null,isInitialState:!0}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null},mode:{type:String,default:"regular"},noPageNav:{type:Boolean,default:!1},noHistory:{type:Boolean,default:!1},banner:{default:null}},methods:{pushState:function(){"localhost"==window.location.hostname||this.noHistory||window.history[this.isInitialState?"replaceState":"pushState"]({component:"v-personal-applications",state:this.state,catalog:this.catalog},"",this.catalog.remote)},getActiveFilterKey:function(t){try{if("object"==_typeof(t.value)&&!_.find(_.find(this.catalog.filters,{id:t.id}).options,{value:t.value}))return t.id+"/custom"}catch(t){}return t.id+"/"+JSON.stringify(t.value)},stateChanged:function(){this.loadCatalog()},navigateByLink:function(t){this.catalog.remote=t.href,this.state.filter=null,this.loadCatalog()},navigateByPage:function(t){this.state.offset=t.offset,this.state.limit=t.limit,this.loadCatalog()},handlePopState:function(t){t.state&&"v-personal-applications"==t.state.component&&!this.noHistory&&(console.log("v-personal-applications: pop state",t.state),this.state=t.state.state,this.catalog=t.state.catalog)},clickOutside:function(n){var t=document.querySelectorAll(".js-message-toggler");Array.prototype.forEach.call(t,function(t){var e=t.querySelector(".js-dropdown-close");(n.target===e||t&&!t.contains(n.target)&&t.querySelector(".repair-table__dropdown--shown"))&&t.querySelector(".repair-table__dropdown--shown").classList.remove("repair-table__dropdown--shown")})},toggleHistory:function(t,e){t=t.target.parentNode.querySelector(".js-dropdown-block");this.historyState[e]=!this.historyState[e],$(t).toggleClass("repair-table__dropdown--shown")},toggleComment:function(t,e){t=t.target.parentNode.querySelector(".js-dropdown-block");this.commentState[e]=!this.commentState[e],$(t).toggleClass("repair-table__dropdown--shown")},toggleRefuseForm:function(t,e){t=t.target.parentNode.querySelector(".js-dropdown-block");this.refuseFormState[e]=!this.refuseFormState[e],$(t).toggleClass("repair-table__dropdown--shown")},toggleExecutorForm:function(t,e){t=t.target.parentNode.querySelector(".js-dropdown-block");this.executorFormState[e]=!this.executorFormState[e],$(t).toggleClass("repair-table__dropdown--shown")},toggleCancelForm:function(t,e){t=t.target.parentNode.querySelector(".js-dropdown-block");this.cancelFormState[e]=!this.cancelFormState[e],$(t).toggleClass("repair-table__dropdown--shown")},leaveFeedback:function(){modalController.open({component:"v-rich-form",className:"modal--lg modal--article",remoteDataSource:"/local/dist/markup/fixtures/leave-feedback-form.json",ownHistory:!0})},loadCatalog:function(t,e){function n(){if(i){a.catalog=i.catalog,e||(a.pushState(),a.isInitialState=!1);
1try{a.state.region=i.state.region,a.state.pages=i.catalog.pages}catch(t){console.warn("v-personal-applications: something wrong with state\n",t)}}a.loadingMinTimeout=null,a.loading=!1}var a=this,i=null,s=!1;a.loading||(a.loading=!0,t||(a.loadingMinTimeout=setTimeout(function(){s&&n(),a.loadingMinTimeout=null},300)),$.ajax({url:a.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:{state:this.state,bxajaxid:a.bxajaxid}}).done(function(t){console.log("v-personal-applications loaded",t),i=t}).fail(function(t){console.warn("v-personal-applications load failed",t)}).always(function(){s=!0,a.loadingMinTimeout&&!t||n()}))}},created:function(){var t=this;if(t.staticDataSource){if(console.log("v-personal-applications loaded from static data",t.catalog),t.staticDataSource.pages&&(t.state.pages.limit=parseInt(t.staticDataSource.pages.limit)),t.staticDataSource.catalog&&t.staticDataSource.catalog.items&&0<t.staticDataSource.catalog.items.length){t.catalog=t.staticDataSource.catalog;for(var e=0;e<t.staticDataSource.catalog.items.length;e++)t.historyState.push(t.staticDataSource.catalog.items[e].isHistoryShown),t.commentState.push(t.staticDataSource.catalog.items[e].isCommentShown),t.commentState.push(t.staticDataSource.catalog.items[e].isRefuseFormShown),t.commentState.push(t.staticDataSource.catalog.items[e].isExecutorFormShown),t.commentState.push(t.staticDataSource.catalog.items[e].isCancelFormShown);$(document).on("click.dropdownblock",this.clickOutside)}t.pushState()}else t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0))},destroyed:function(){this.catalog&&this.catalog.items&&0<this.catalog.items.length&&$(document).off("click.dropdownblock",this.clickOutside)}}),Vue.component("v-personal-info",{template:'\n\t<section class="v-personal-info personal-info flc">\n\n\n\t\t<div class="personal-info__main">\n\n\n\t\t\t<h4 class="personal-info__heading" v-if="localPerson.company">\n\t\t\t\t{{localPerson.company}}\n\t\t\t</h4> \n\t\t\t<h4 class="personal-info__heading" v-else>\n\t\t\t\t{{localPerson.surname}} {{localPerson.name}} {{localPerson.patronymic}}\n\t\t\t</h4>\n\t\t\t<div v-if="localPerson.contract">\n\t\t\t\t{{getMessage(\'CONTRACT\')}} â {{localPerson.contract}}\n\t\t\t</div>\n\t\t\t<div class="personal-info__item-grid" v-if="mode === \'onecol\'">\n\n\t\t\t\t<div class="personal-info__item-col personal-info__item-col--wide" >\n\n\t\t\t\t\t<div class="personal-info__item flc" v-for="row in localPerson.personalData">\n\t\t\t\t\t\t<div class="personal-info__name personal-info__name--narrow">\n\t\t\t\t\t\t\t{{row.name}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if="row.value" class="personal-info__text personal-info__text--wide text-guide" v-html="row.value"></div>\n\t\t\t\t\t\t<div v-else class="personal-info__text personal-info__text--gray">â</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="personal-info__item-grid" v-else>\n\t\t\t\t<div class="personal-info__item-col" v-for="rows in localPerson.personalData">\n\n\t\t\t\t\t<div class="personal-info__item flc" v-for="row in rows">\n\t\t\t\t\t\t<div class="personal-info__name">\n\t\t\t\t\t\t\t{{row.name}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if="row.value" class="personal-info__text" v-html="row.value"></div>\n\t\t\t\t\t\t<div v-else class="personal-info__text personal-info__text--gray">â</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class="personal-info__actions">\n\t\t\t\t<button type="button" class="personal-info__action-btn btn btn--primary flc js-open-modal" \n\t\t\t\t\t\tdata-modal-url="/personal/edit_profile.php"\n\t\t\t\t\t\tdata-modal-data=\'{ \n\t\t\t\t\t\t"className": "modal--lg modal--form", \n\t\t\t\t\t\t"ownHistory": false\n\t\t\t\t\t\t}\'>\n\t\t\t\t\t{{getMessage("EDIT")}} <span class="hidden-3xs">{{getMessage(\'INFORMATIONS\')}}</span>\n\t\t\t\t\t<svg class="btn__arrow-right btn__arrow-right--right svg-icon">\n\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t\t<div class="personal-info__action-link flc" >\n\t\t\t\t\t<span class="arrow-link js-open-modal" \n\t\t\t\t\t\t data-modal-url="/personal/set_password.php"\n\t\t\t\t\t\t data-modal-data=\'{ \n\t\t\t\t\t\t "className": "modal
1--lg modal--form", \n\t\t\t\t\t\t "ownHistory": true\n\t\t\t\t\t\t }\'>{{getMessage(\'CHANGE_PASSWORD\')}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<slot name="personalAside"></slot> \n\n\n\n\n\t</section>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{loading:!1,localPerson:null}},props:{staticDataSource:{default:null},bxajaxid:{default:null},mode:{type:String,default:"regular"}},methods:{openPasswordForm:function(){modalController.open({component:"v-rich-form",className:"modal--lg modal--article",remoteDataSource:"/local/dist/markup/fixtures/password-form.json",ownHistory:!0})},openPersonalForm:function(){modalController.open({component:"v-rich-form",className:"modal--lg modal--article",remoteDataSource:"/local/dist/markup/fixtures/personal-form.json",ownHistory:!0})},openPersonalFormServiceCenter:function(){modalController.open({component:"v-rich-form",className:"modal--lg modal--article",remoteDataSource:"/local/dist/markup/fixtures/personal-form-2.json",ownHistory:!0})},loadUserData:function(){var e=this;e.loading||(e.loading=!0,$.ajax({url:e.localPerson.remote,method:"post",dataType:"json",data:{bxajaxid:e.bxajaxid}}).done(function(t){console.log("user data loaded",t),0}).fail(function(t){console.warn("user data failed",t)}).always(function(t){t&&t.person&&(e.localPerson=t.person),e.loading=!1,e.$forceUpdate()}))}},created:function(){this.staticDataSource&&(this.localPerson=this.staticDataSource.person),Model.$on("updateUserData",this.loadUserData)}}),Vue.component("v-personal-orders",{template:'\n\t<div class="v-personal-orders order-list">\n\n\t\t\x3c!-- Todo integrate this --\x3e\n\t\t<section class="order-list__banner hero-banner-section flc">\n\t\t\t<div class="hero-banner hero-banner--left hero-banner--small hero-banner--wide-bg flc" style="background-image: url(\'/local/images/markup-images/banners/hero-banner-7.jpg\');">\n\t\t\t\t<div class="hero-banner__image hero-banner__image--visible-xs" style="background-image: url(\'/local/images/markup-images/banners/hero-banner-7.jpg\');"></div>\n\t\t\t\t<div class="hero-banner__main">\n\t\t\t\t\t<div class="hero-banner__animation">\n\t\t\t\t\t\t<h3 class="section-title section-title--indent flc">\n\t\t\t\t\t\t\tРегиÑÑÑаÑиÑ<br>\n\t\t\t\t\t\t\tпÑодÑкÑа\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t<div class="section-descr section-descr--large flc">\n\t\t\t\t\t\t\tРегиÑÑÑиÑÑÑ Ð¿ÑодÑÐºÑ Ð²Ñ Ð¿Ð¾Ð»ÑÑаеÑе дополниÑелÑнÑÑ Ð³Ð°ÑанÑиÑ. УдобнÑй доÑÑÑп ко вÑем докÑменÑам и маÑÑиалам по аÑÐµÐ¼Ñ Ð¿ÑодÑкÑÑ.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<hr class="section-separator flc">\n\t\t\t\t\t\t<div class="section-action flc">\n\t\t\t\t\t\t\t<a href="#" class="arrow-link">ÐаÑем ÑÑо нÑжно?<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<button type="button" class="btn btn--primary hero-banner__button flc js-open-modal"\n\t\t\t\t\t\t\t\t\t\tdata-modal-url="/local/dist/markup/register_product.html"\n\t\t\t\t\t\t\t\t\t\tdata-modal-data=\'{ \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t"className": "modal--lg modal--form", \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t"ownHistory": false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\' >\n\t\t\t\t\t\t\tÐаÑегиÑÑÑиÑоваÑÑ <span class="hidden-2xs">ÐÑодÑкÑ</span>\n\t\t\t\t\t\t\t<svg class="btn__arrow-right btn__arrow-right--right svg-icon">\n\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\n\t\t\n\t\t<template v-if="catalog && catalog.items">\n\t\t\t<v-order :static-data-source="{\'catalog\': catalog}"></v-order>\n\t\t</template>\n\n\t\t<template v-else>\n\t\t\t<div class="order-list__attention">\n\t\t\t\t<div class="attention attention--no-border">\n\t\t\t\t\t<svg class="svg-icon attention__ico-attention">\n\t\t\t\t\t<use xlink:href="#svg-icon-attention"></use>\n\t\t\t\t\t</svg>\n\t\t\t\t\t<span class="attention__attention-text">\n\t\t\t\t\t\t{{catalog.attention}}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t</div>\n',data:function(){return{catalog:{items:null},loading:!1,loadingMinTimeout:null}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null}},methods:{registerProduct:function(){modalController.open({component:"v-rich-form",className:"modal--lg modal--article",remoteDataSource:"/local/dist/markup/fixtures/register-product.json",ownHistory:!0})},loadCatalog:function(t){function e(){a&&(n.catalog=a.catalog),n.loadingMinTimeout=null,n.loading=!1,n.isGeolocationChanged&&(n.isGeolocationChanged=!1,n.loadCatalog())}var n=this,a=null,i=!1;n.loading||(n.loading=!0,window.vHeaderFilter&&window.vHeaderFilter.$emit("set-loading",!0),t||(n.loadingMinTimeout=setTimeout(function(){i&&e(),n.loadingMinTimeout=null},300)),$.ajax({url:n.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:{bxajaxid:n.bxajaxid}}).done(function(t){console.log("v-personal-ordersloaded",t),a=t}).fail(function(t){console.warn("v-personal-orders load failed",t)}).always(function(){i=!0,n.loadingMinTimeout&&!t||e()}))}},created:function(){this.staticDataSource&&(console.log("v-personal-orders loaded from static data",this.catalog),this.catalog=this.staticDataSource.catalog)}}),Vue.component("v-personal",{template:'\n\t<section class="v-personal personal">\n\t\t<div class="container">\n\t\t\t<header class="personal__header section-header flc">\n\t\t\t\t<div class="section-header__main">\n\t\t\t\t\t<h3 class="section-header__title flc">ÐиÑнÑй кабинеÑ</h3>\n\t\t\t\t</div>\n\t\t\t\t<div class="section-header__aside">\n\t\t\t\t\t<div class="tab-labels">\n\t\t\t\t\t\t<div class="tab-labels__row">\n\n\t\t\t\t\t\t\t\x3c!--1--\x3e\n\t\t\t\t\t\t\t<div class="tab-labels__item" v-if="$slots[\'order-list\']">\n\t\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': currentTab == \'order-list\'}" @click="currentTab = \'order-list\'">Ðои пÑодÑкÑÑ</button>\n\t\t\t\t\t\t\t</div>
1\n\t\t\t\t\t\t\t<div class="tab-labels__item" v-if="$slots[\'applications-query-sc\']">\n\t\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': currentTab == \'applications-query-sc\'}" @click="currentTab = \'applications-query-sc\'">ÐÑеÑедÑ</button>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\x3c!--2--\x3e\n\t\t\t\t\t\t\t<div class="tab-labels__item" v-if="$slots[\'applications-query\']">\n\t\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': currentTab == \'applications-query\'}" @click="currentTab = \'applications-query\'">ÐаÑвки на ÑемонÑ</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="tab-labels__item" v-if="$slots[\'applications\']">\n\t\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': currentTab == \'applications\'}" @click="currentTab = \'applications\'">ÐаÑвки</button>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\x3c!--3--\x3e\n\t\t\t\t\t\t\t<div class="tab-labels__item" v-if="$slots[\'profile\']">\n\t\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': currentTab == \'profile\'}" @click="currentTab = \'profile\'">ÐÑоÑилÑ</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="tab-labels__item" v-if="$slots[\'faq\']">\n\t\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': currentTab == \'faq\'}" @click="currentTab = \'faq\'">ÐопÑоÑÑ Ð¸ оÑвеÑÑ</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\x3c!--4--\x3e\n\t\t\t\t\t\t\t<div class="tab-labels__item" v-if="$slots[\'documents\']">\n\t\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': currentTab == \'documents\'}" @click="currentTab = \'documents\'">ÐокÑменÑÑ</button>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\x3c!--5--\x3e\n\t\t\t\t\t\t\t<div class="tab-labels__item" v-if="$slots[\'profile-sc\']">\n\t\t\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': currentTab == \'profile-sc\'}" @click="currentTab = \'profile-sc\'">ÐÑоÑилÑ</button>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</header>\n\n\t\t\t\x3c!--1--\x3e\n\t\t\t<div class="personal__content" v-if="currentTab == \'order-list\'">\n\t\t\t\t<slot name="order-list"></slot>\n\t\t\t</div>\n\t\t\t<div class="personal__content" v-if="currentTab == \'applications-query-sc\'">\n\t\t\t\t<slot name="applications-query-sc"></slot>\n\t\t\t</div>\n\n\t\t\t\x3c!--2--\x3e\n\t\t\t<div class="personal__content" v-if="currentTab == \'applications-query\'">\n\t\t\t\t<slot name="applications-query"></slot>\n\t\t\t</div>\n\t\t\t<div class="personal__content" v-if="currentTab == \'applications\'">\n\t\t\t\t<slot name="applications"></slot>\n\t\t\t</div>\n\n\t\t\t\x3c!--3--\x3e\n\t\t\t<div class="personal__content" v-if="currentTab == \'profile\'">\n\t\t\t\t<slot name="profile"></slot>\n\t\t\t</div>\n\t\t\t<div class="personal__content" v-if="currentTab == \'faq\'">\n\t\t\t\t<slot name="faq"></slot>\n\t\t\t</div>\n\n\t\t\t\x3c!--4--\x3e\n\t\t\t<div class="personal__content" v-if="currentTab == \'documents\'">\n\t\t\t\t<slot name="documents"></slot>\n\t\t\t</div>\n\n\t\t\t\x3c!--5--\x3e\n\t\t\t<div class="personal__content" v-if="currentTab == \'profile-sc\'">\n\t\t\t\t<slot name="profile-sc"></slot>\n\t\t\t</div>\n\n\t\t</div>\n\t</section>\n',data:function(){return{currentTab:null}},props:{initialTab:{default:null}},created:function(){this.currentTab=this.initialTab||Object.keys(this.$slots)[0]},mounted:function(){var t=this;t.$root.$on("go-to-applications-tab",function(){t.currentTab="applications"}),t.$root.$on("go-to-faq-tab",function(){t.currentTab="faq"})}}),Vue.component("v-photo-input",{template:'\n\t<div class="v-photo-input photo-input flc" :class="{\'photo-input--narrow\': mode ===\'service-center\'}">\n\n\t\t<div class="photo-input__main">\n\t\t\t<transition name="content-fade">\n\t\t\t\t<button type="button" class="photo-input__remove" v-if="image" @click="remove(localFiles[0])">\n\t\t\t\t\t<svg class="svg-icon">\n\t\t\t\t\t\t<use xlink:href="#svg-icon-close"></use>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t</transition>\n\t\t\t\n\t\t\t<template v-if="mode ===\'service-center\'">\n\t\t\t\t<label class="photo-input__box photo-input__box--alt"\n\t\t\t\t\t\t\t :class="{\'photo-input__box--no-border\': image}"\n\t\t\t\t\t\t\t tabindex="0" @keypress.enter="$refs.input.click()">\n\t\t\t\t\t<input ref="input" type="file" class="photo-input__input" @change="fileInput" :key="rerenderKey">\n\t\t\t\t\t<span class="photo-input__btn">\n\t\t\t\t\t\t<transition name="content-fade" mode="out-in">\n\t\t\t\t\t\t\t<span class="photo-input__placeholder" v-if="!image" style="background-image: url(/local/images/markup-images/banners/avatar-empty-sc.jpg)">\n\t\t\t\t\t\t\t\t<span class="photo-input__placeholder-text photo-input__placeholder-text--pushed">{{label || getMessage(\'LOAD_PHOTO_SC\')}}</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span class="photo-input__placeholder photo-input__placeholder--bg-cover" v-else :style="\'background-image: url(\' + image
1+ \')\'"></span>\n\t\t\t\t\t\t</transition>\n\t\t\t\t\t</span>\n\t\t\t\t</label>\n\t\t\t</template>\n\n\t\t\t<template v-else>\n\t\t\t\t<label class="photo-input__box" tabindex="0" @keypress.enter="$refs.input.click()">\n\t\t\t\t\t<input ref="input" type="file" class="photo-input__input" @change="fileInput" :key="rerenderKey">\n\t\t\t\t\t<span class="photo-input__btn">\n\t\t\t\t\t<transition name="content-fade" mode="out-in">\n\t\t\t\t\t\t<span class="photo-input__placeholder" v-if="!image">\n\t\t\t\t\t\t\t<span class="photo-input__placeholder-icon">\n\t\t\t\t\t\t\t\t<svg class="svg-icon">\n\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-photo"></use>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span class="photo-input__placeholder-text">{{label || getMessage(\'LOAD_PHOTO\')}}</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<img :src="image" alt="" v-else>\n\t\t\t\t\t</transition>\n\t\t\t\t</span>\n\t\t\t\t</label>\n\t\t\t</template>\n\n\t\t</div>\n\t\t<div class="photo-input__note flc">{{note}}</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{localValue:null,image:null,localFiles:[],rerenderKey:0}},props:{value:{default:null},multiple:{type:Boolean,default:!1},note:{default:null},mode:{default:"regular"},files:{default:null},label:{default:null}},watch:{value:function(){this.initLocalValueFromValue()}},methods:{getKey:function(){return Date.now().toString()+Math.round(1e5*Math.random())},fileInput:function(n){var a=this,i=this,s=i.getKey();this.localFiles.length&&this.remove(this.localFiles[0],!0),Vue.nextTick(function(){if(n.target.files&&n.target.files.length){console.log("file input",n.target.files,n.target.files[0]);for(var t,e=0;e<n.target.files.length;e++)i.localFiles.push({name:n.target.files[e].name,size:n.target.files[e].size,key:s});FileReader&&((t=new FileReader).onload=function(){i.image=t.result},t.readAsDataURL(n.target.files[0])),n.key=s,a.$emit("fileinput",n)}}),i.rerenderKey=i.getKey(),i.$forceUpdate()},remove:function(t,e){this.image=null,this.localFiles=[],t.nosubmit=!!e,this.$emit("fileremove",t)},slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)},initLocalValueFromValue:function(t){var n=this;t&&n.files&&n.files.length&&(n.image=n.files[0].image||null,n.localFiles=[],_.each(n.files,function(t){var e=n.getKey();n.localFiles.push({name:t.name,size:t.size,key:e}),n.$emit("fileinput",{key:e,target:{files:[t]}})}))}},created:function(){this.initLocalValueFromValue(!0)}}),Vue.component("v-price",{template:'\n\t<div class="v-price price" :class="\'price--\' + size">\n\t\t<span class="price__group" v-for="(priceItem, key) in price"\n\t\t :class="{\'price__group--old\': key === \'old\', \'price__group--retail\': key === \'retail\'}" itemprop="price">\n\t\t\t<span class="price__note" v-if="!priceItem.single">{{getMessage(\'FROM_2\')}} </span>\n\t\t\t<span class="price__value" v-if="typeof priceItem.value === \'number\'">\n\t\t\t\t<span class="price__value-main">{{priceItem.value | priceMain}},</span><span class="price__value-sup">{{priceItem.value | priceSup}}</span>\n\t\t\t</span>\n\t\t\t<span class="price__currency" v-if="priceItem.currency"> {{priceItem.currency}}</span>\n\t\t</span>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],props:{price:{required:!0},size:{default:"md"}}}),Vue.component("v-product-grid",{template:'\n\t<div class="v-product-grid product-grid">\n\t\t<transition-group name="flip-list" tag="div" class="product-grid__grid grid" v-if="items && items.length">\n\t\t\t<div class="product-grid__item col" v-for="item, index in items" :key="item.id || index" itemprop="itemListElement">\n\t\t\t\t<v-product template="grid" :product="item"></v-product>\n\t\t\t\t<meta itemprop="position" :content="index + 1" />\n\t\t\t</div>\n\t\t</transition-group>\n\t</div>\n',props:{items:{default:null}}}),Vue.component("v-product-request-list",{template:'\n\t<div class="v-product-request-list personal-applications">\n\t\t<div class="personal-applications__table repair-table">\n\n\n\t\t\t<div class="personal-applications__row list-status__row list-status__row--center">\n\t\t\t\t<div class="list-status__cell-meta list-status__cell-meta--alt">\n\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t<div class="status-value" v-if="state.pages.count">\n\t\t\t\t\t\t\t{{getMessage(\'SHOWED\')}} \n\t\t\t\t\t\t\t<span class="status-value__value">{{state.pages.limit+ state.pages.offset >= state.pages.count?state.pages.count : state.pages.limit+ state.pages.offset}}</span>\n\t\t\t\t\t\t\t<span v-if="state.pages.count"> {{getMessage(\'OF\')}} {{state.pages.count}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\n\t\t\t\t<template v-if="!state.filter.emptyFilter || catalog.items">\n\t\t\t\t\t<div v-if="catalog.mode === \'admin\'" class="list-status__cell-search">\n\t\t\t\t\t\t<v-field v-model="state.filter.name" type="search" :placeholder="getMessage(\'ENTER_ORDER_FILTER\')" @input
1="stateChangedTimer" ></v-field>\n\t\t\t\t\t\t<button type="button" class="list-status__cell-search-btn">\n\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-search"></use></svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="list-status__cell-aside list-status__cell-aside--alt">\n\t\t\t\t\t\t<div class="list-status__selector list-status__selector--margin list-status__selector--input">\n\t\t\t\t\t\t\t<v-field\n\t\t\t\t\t\t\t\ttype="date"\n\t\t\t\t\t\t\t\tv-model="state.filter.date" \n\t\t\t\t\t\t\t\t@input="stateChanged"\n\t\t\t\t\t\t\t\tsmall>\n\n\t\t\t\t\t\t\t</v-field>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\x3c!--:label="getMessage(\'DATE_FILTER_NAME\')" \n\t\t\t\t\t\t"--\x3e\n\t\t\t\t\t\t<div class="list-status__selector list-status__selector--margin">\n\t\t\t\t\t\t\t<v-field \n\t\t\t\t\t\t\t\tv-if="catalog.statusList" \n\t\t\t\t\t\t\t\ttype="select" \n\t\t\t\t\t\t\t\t:options="catalog.statusList"\n\t\t\t\t\t\t\t\t:placeholder="getMessage(\'STATUS_FILTER_NAME_ALL\')"\n\t\t\t\t\t\t\t\topen-type \n\n\t\t\t\t\t\t\t\tv-model="state.filter.status" \n\t\t\t\t\t\t\t\t@input="stateChanged" \n\t\t\t\t\t\t\t\tsmall>\n\t\t\t\t\t\t\t</v-field>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="list-status__selector list-status__selector--margin">\n\t\t\t\t\t\t\t\x3c!--:label="getMessage(\'STATUS_FILTER_NAME\')" \n\t\t\t\t\t\t\t:placeholder="getMessage(\'STATUS_FILTER_NAME_ALL\')"--\x3e\n\t\t\t\t\t\t\t<v-field \n\t\t\t\t\t\t\t\tv-if="catalog.locationList" \n\t\t\t\t\t\t\t\ttype="select" \n\t\t\t\t\t\t\t\t:options="catalog.locationList" \n\t\t\t\t\t\t\t\topen-type \n\t\t\t\t\t\t\t\tv-model="state.filter.location" \n\t\t\t\t\t\t\t\t@input="stateChanged" \n\t\t\t\t\t\t\t\tsmall>\n\t\t\t\t\t\t\t</v-field>\n\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\x3c!--:placeholder="getMessage(\'LOCATION_FILTER_NAME_ALL\')"\n\t\t\t\t\t\t:label="getMessage(\'LOCATION_FILTER_NAME\')" --\x3e\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t</div>\n\t\t</div>\n\n\n\t\t<table class="repair-table__table flc" v-if="catalog && catalog.items && catalog.items.length">\n\t\t\t<thead class="repair-table__head">\n\t\t\t\t<tr>\n\t\t\t\t\t<td>{{getMessage(\'REPAIR_COL_1\')}}</td>\n\t\t\t\t\t<td>{{getMessage(\'REPAIR_COL_2\')}}</td>\n\t\t\t\t\t<td v-if="catalog.mode === \'service\' || catalog.mode === \'admin\'">{{getMessage(\'REPAIR_COL_3\')}}</td>\n\t\t\t\t\t<td v-else>{{getMessage(\'REPAIR_COL_4\')}}</td>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody class="repair-table__body">\n\t\t\t<template v-for="(item, i) in catalog.items">\n\t\t\t\t<tr :key=\'item.id\' :class="{\'repair-table__row--no-border\': item.review}">\n\t\t\t\t\t<td class="flc">\n\t\t\t\t\t\t<div class="repair-table__product-meta flc" v-if="item.sku || item.series">\n\t\t\t\t\t\t\t{{item.sku}} <template v-if="item.sku && item.series"> / </template> <template v-if="item.series">СеÑÐ¸Ñ {{item.series}}</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="repair-table__name flc">\n\t\t\t\t\t\t\t{{item.name}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="repair-table__captions">\n\t\t\t\t\t\t\t<div class="repair-table__caption" v-for="param in item.data">\n\t\t\t\t\t\t\t\t{{param.name}}: {{param.text}}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class="flc">\n\t\t\t\t\t\t<div class="repair-table__descr flc" v-html="item.descr"></div>\n\n\n\t\t\t\t\t\t<div v-if="item.hintText" class="repair-table__caption repair-table__caption--black flc">\n\t\t\t\t\t\t\t{{item.hintText}}\n\t\t\t\t\t\t</div>\n\n\n\t\t\t\t\t\t<div v-if="item.comment" class="repair-table__history js-message-toggler flc">\n\t\t\t\t\t\t\t<a class="repair-table__history-btn flc" @click.prevent="toggleComment($event, i)">\n\t\t\t\t\t\t\t\t{{getMessage(\'COMMENT\')}}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<div class="repair-table__dropdown js-dropdown-block">\n\t\t\t\t\t\t\t\t<ul v-for="str in item.comment">\n\t\t\t\t\t\t\t\t\t<li>{{str}}</li>\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t<div class="repair-table__dropdown-close js-dropdown-close"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if="item.selfEdit" class="repair-table__action flc">\n\t\t\t\t\t\t\t<button \n\t\t\t\t\t\t\t\ttype="button" \n\t\t\t\t\t\t\t\[email protected]="messagePopupOpen(item)"\n\t\t\t\t\t\t\t\tclass="repair-table__button btn btn--primary btn--short flc">\n\t\t\t\t\t\t\t\t{{getMessage(\'SEND_MESSAGE\')}}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div> \n\n\n\t\t\t\t\t\t<div class="repair-table__files" v-if="item.files">\n\t\t\t\t\t\t\t<a v-for="(file, i) in item.files" :key="i" class="repair-table__file-link flc" :href="file.link" download>\n\t\t\t\t\t\t\t\t{{file.filename}}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class="flc">\n\n\n\t\t\t\t\t\t<div v-if="catalog.mode === \'new\' && item.userLocation" class="repair-table__contacts">\n\t\t\t\t\t\t\t<div class="repair-table__contacts-text flc">\n\t\t\t\t\t\t\t\t{{item.userLocation}}\n\t\t\t\t\t\t\t\t<span class="inline-tooltip-wrap" aria-label="ÐодÑказка">\n\t\t\t\t\t\t\t\t\t<span class="inline-tooltip dropdown-owner js-dropdown">\n\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__btn js-dropdown__btn"></span>\n\t\t\t\t\t\t\t\t\t\t<span class="inline-tooltip__body dropdown js-dropdown__body js-tooltip-position" style="left: -262.266px;">\n\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'FULL_SERVICE_CONTACT_NOTIFY\')}}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\n\t\t\t\t\t\t<div v-if="catalog.mode === \'service\' || catalog.mode === \'admin\' " class="repair-table__contacts">\n\t\t\t\t\t\t\t<span v-if="item.userLocation">{{item.userLocation}}<br></span>\n\t\t\t\t\t\t\t<span v-if="item.userAddress">{{item.userAddress}}<br></span>\n\t\t\t\t\t\t\t<span v-if="item.userFulName">{{item.userFulName}}<br></span>\n\t\t\t\t\t\t\t<span v-if="item.userPhones" v-html="item.userPhones"></span>\n\n\t\t\t\t\t\t</div> \n\n\t\t\t\t\t\t<template>\n\n\t\t\t\t\t\t\t<div class="repair-table__name flc" v-if="item.serviceName">{{item.serviceName}}</div>\n\t\t\t\t\t\t\t<span v-if="item.serviceLocation">{{item.serviceLocation}}<br></span>\n\n\t\t\t\t\t\t\t<span v-if="item.serviceAddress">{{item.serviceAddress}}<br></span>\n\n\t\t\t\t\t\t\t<span v-if="item.servicePhones" v-html="item.servicePhones"></span>\n\n\n\t\t\t\t\t\t\t<div class="repair-table__status flc">\n\t\t\t\t\t\t\t\t<div class="repair-table__status-text" :class="{\'repair-table__status-text--disabled\': item.isCompleted}">\n\t\t\t\t\t\t\t\t\t {{item.statusText}} \x3c!-- to keep height if statusText is empty --\x3e\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>
1\n\n\t\t\t\t\t\t<div class="repair-table__caption flc">\n\t\t\t\t\t\t\t{{item.requestDate}}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if="item.serviceHistory" class="repair-table__history js-message-toggler flc">\n\t\t\t\t\t\t\t<a class="repair-table__history-btn flc" @click.prevent="toggleHistory($event, i)">\n\t\t\t\t\t\t\t\t{{getMessage(\'SERVICE_HISTORY\')}}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<div class="repair-table__dropdown js-dropdown-block">\n\t\t\t\t\t\t\t\t<ul v-for="str in item.serviceHistory">\n\t\t\t\t\t\t\t\t\t<li>{{str}}</li>\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t<div class="repair-table__dropdown-close js-dropdown-close"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if="item.canceSelflForm" class="repair-table__link-action js-message-toggler flc">\n\t\t\t\t\t\t\t<a class="repair-table__cancel arrow-link" @click.prevent="toggleCancelForm($event, i)">\n\t\t\t\t\t\t\t\t{{getMessage(\'CANCEL\')}}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<div class="repair-table__dropdown js-dropdown-block">\n\t\t\t\t\t\t\t\t<span>{{getMessage(\'CANCEL_ORDER_CONFIRM\')}}</span>\n\t\t\t\t\t\t\t\t<div class="repair-table__dropdown-actions flc">\n\t\t\t\t\t\t\t\t\t<div class="repair-table__dropdown-actions-grid">\n\t\t\t\t\t\t\t\t\t\t<button type="submit" class="repair-table__button btn btn--primary" @click="cancelSelfClaim(item)">\n\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'YES\')}}\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t<button type="button" class="repair-table__button repair-table__button--margin btn btn--primary js-dropdown-close">\n\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'NO\')}}\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if="item.serviceEdit && !item.adminEdit" class="repair-table__link-action flc">\n\t\t\t\t\t\t\t<a class="repair-table__cancel arrow-link" @click.prevent="cancelPopupOpen(item)">\n\t\t\t\t\t\t\t\t{{getMessage(\'CANCEL_ORDER\')}}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if="item.serviceEdit" class="repair-table__link-action flc">\n\t\t\t\t\t\t\t<a class="repair-table__cancel arrow-link" @click.prevent="statusPopupOpen(item)">\n\t\t\t\t\t\t\t\t{{getMessage(\'EDIT_STATUS_ORDER\')}}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class="repair-table__link-action flc">\n\t\t\t\t\t\t\t<a class="repair-table__cancel arrow-link" @click.prevent="messagePopupOpen(item)">\n\t\t\t\t\t\t\t\t{{getMessage(\'SEND_MESSAGE\')}}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if="item.adminEdit" class="repair-table__action flc">\n\t\t\t\t\t\t\t<button v-if="item.adminEdit" \n\t\t\t\t\t\t\t\t\ttype="button" \n\t\t\t\t\t\t\t\t\[email protected]="changeServicePopupOpen(item)"\n\t\t\t\t\t\t\t\t\tclass="repair-table__button btn btn--primary btn--short flc">\n\t\t\t\t\t\t\t\t{{!item.serviceName ? getMessage(\'SET_EXECUTOR\'): getMessage(\'CHANGE_EXECUTOR\')}}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\n\n\t\t\t\t\t\t<div v-if="item.getToWork" class="repair-table__action flc">\n\t\t\t\t\t\t\t<button @click.prevent="getToWork(item)" type="button" class="repair-table__button btn btn--primary btn--short flc ">\n\t\t\t\t\t\t\t\t{{getMessage(\'GET_ORDER\')}}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\n\n\t\t\t\t\t\t<div v-if="item.reviewAddLink || item.anketAddLink" class="repair-table__action flc">\n\t\t\t\t\t\t\t<div class="repair-table__action-grid">\n\t\t\t\t\t\t\t\t<div class="repair-table__action-col" v-if="item.anketAddLink">\n\t\t\t\t\t\t\t\t\t<button type="button" class="repair-table__button btn btn--primary btn--short flc js-open-modal"\n\t\t\t\t\t\t\t\t\t\t\t :data-modal-url="item.anketAddLink"\n\t\t\t\t\t\t\t\t\t\t\t data-modal-data=\'{"className": "modal--lg modal--form", "ownHistory": false}\'>\n\t\t\t\t\t\t\t\t\t\t{{getMessage(\'SEND_ANKET\')}}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="repair-table__action-col" v-if="item.reviewAddLink">\n\t\t\t\t\t\t\t\t\t<button type="button" class="repair-table__button btn btn--primary btn--short flc js-open-modal"\n\t\t\t\t\t\t\t\t\t\t\t :data-modal-url="item.reviewAddLink" \n\t\t\t\t\t\t\t\t\t\t\t data-modal-data=\'{"className": "modal
1--lg modal--form", "ownHistory": false}\'>\n\t\t\t\t\t\t\t\t\t\t{{getMessage(\'SEND_REVIEW\')}}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\n\n\t\t\t\t\t\t<a v-if="catalog.mode === \'new\' && 0" href="#claims" class="repair-table__arrow-link arrow-link">\n\t\t\t\t\t\t\tСпиÑок заÑвок\n\t\t\t\t\t\t\t<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t\t\t</a>\n\n\t\t\t\t\t\t\x3c!--- todo --\x3e \n\t\t\t\t\t\t<a v-if="item.isCompleted && item.leaveFeedback" href="#" class="repair-table__arrow-link arrow-link" @click.prevent="leaveFeedback">ÐÑÑавиÑÑ Ð¾ÑзÑв<span class="arrow-link__tail"> <svg\n\t\t\t\t\t\t\t\t\tclass="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\n\t\t\t\t\t\t\x3c!--- todo --\x3e\n\t\t\t\t\t</template>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t<tr v-if="item.reviews">\n\t\t\t\t<td colspan="3" class="repair-table__review-cell">\n\t\t\t\t\t<template v-for="review in item.reviews">\n\t\t\t\t\t\t<v-review-item :review="review" mode="tablerow"></v-review-item>\n\t\t\t\t\t</template>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</template>\n\t\t</tbody>\n\t</table>\n\t<template v-else>\n\t\t<div class="personal-applications__attention attention attention--no-border">\n\t\t\t<svg class="svg-icon attention__ico-attention">\n\t\t\t<use xlink:href="#svg-icon-attention"></use>\n\t\t\t</svg>\n\t\t\t<span class="attention__attention-text" v-html="catalog.attention?catalog.attention:getMessage(\'EMPTY_ORDER_NOTIFICATION\')"></span>\n\t\t</div>\n\t</template> \n\n\t<transition name="content-fade">\n\t\t<v-page-nav class="personal-applications__navigation catalog__navigation" :static-data-source="state.pages" \n\t\t\t\t\tv-if="state.pages && parseInt(state.pages.count) && parseInt(state.pages.count) > parseInt(state.pages.limit)"\n\t\t\t\t\t@navigate="navigateByPage"></v-page-nav>\n\t</transition>\n\n</div>\n</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{updateClaimList:!1,catalog:{filters:null,items:null},state:{filter:{name:null,status:null,location:null,date:null},pages:{offset:null,limit:null}},open:!1,historyState:[],commentState:[],refuseFormState:[],executorFormState:[],cancelFormState:[],loading:!1,loadingMinTimeout:null,filterIsChanged:!1,changedFilters:null,isInitialState:!0,stateTimer:null}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null},noHistory:{type:Boolean,default:!1}},methods:{updateOtherClaimsList:function(){Model.$emit("update-claim-list",this.bxajaxid),this.updateClaimList=!1},changeServicePopupOpen:function(t){t="/personal/repair_form_change_service.php?APPKEY="+t.appkey;window.modalController.close(),window.modalController.openUrl(t,{className:"modal--lg modal--form",ownHistory:!1})},statusPopupOpen:function(t){t="/personal/repair_form_change_status.php?APPKEY="+t.appkey;window.modalController.close(),window.modalController.openUrl(t,{className:"modal--lg modal--form",ownHistory:!1,props:{frame:!0}})},cancelPopupOpen:function(t){t="/personal/repair_form_cancel.php?APPKEY="+t.appkey;window.modalController.close(),window.modalController.openUrl(t,{className:"modal--lg modal--form",ownHistory:!1,props:{frame:!0}})},messagePopupOpen:function(t){t="/personal/repair_form_send_message.php?APPKEY="+t.appkey;window.modalController.close(),window.modalController.openUrl(t,{className:"modal--lg modal--form",ownHistory:!1,props:{frame:!0}})},getToWork:function(t){this.updateClaimList=!0,this.loadCatalog({action:"get_to_work",element_id:t.id})},cancelSelfClaim:function(t){this.updateClaimList=!0,this.loadCatalog({action:"cancel_self_claim",element_id:t.id})},pushState:function(){"localhost"==window.location.hostname||this.noHistory||window.history[this.isInitialState?"replaceState":"pushState"]({component:"v-product-request-list",state:this.state,catalog:this.catalog},"",this.catalog.remote)},stateChangedTimer:function(){clearTimeout(this.stateTimer),this.stateTimer=setTimeout(this.stateChanged,500)},stateChanged:function(){this.loadCatalog()},navigateByPage:function(t){this.state.pages.offset=t.offset,this.state.pages.limit=t.limit,this.loadCatalog()},clickOutside:function(n){var t=document.querySelectorAll(".js-message-toggler");Array.prototype.forEach.call(t,function(t){var e=t.querySelector(".js-dropdown-close");(n.target===e||t&&!t.contains(n.target)&&t.querySelector(".repair-table__dropdown--shown"))&&t.querySelector(".repair-table__dropdown--shown").classList.remove("repair-table__dropdown--shown")})},toggleHistory:function(t,e){t=t.target.parentNode.querySelector(".js-dropdown-block");this.historyState[e]=!this.historyState[e],$(t).toggleClass("repair-table__dropdown--shown")},toggleComment:function(t,e){t=t.target.parentNode.querySelector(".js-dropdown-block");this.commentState[e]=!this.commentState[e],$(t).toggleClass("repair-table__dropdown--shown")},toggleRefuseForm:function(t,e){t=t.target.parentNode.querySelector(".js-dropdown-block");this.refuseFormState[e]=!this.refuseFormState[e],$(t).toggleClass("repair-table__dropdown--shown")},toggleExecutorForm:function(t,e){t=t.target.parentNode.querySelector(".js-dropdown-block");this.executorFormState[e]=!this.executorFormState[e],$(t).toggleClass("repair-table__dropdown--shown")},toggleCancelForm:function(t,e){t=t.target.parentNode.querySelector(".js-dropdown-block");this.cancelFormState[e]=!this.cancelFormState[e],$(t).toggleClass("repair-table__dropdown--shown")},leaveFeedback:function(){modalController.open({component:"v-rich-form",className:"modal--lg modal--article",remoteDataSource:"/local/dist/markup/fixtures/leave-feedback-form.json",ownHistory:!0,props:{frame:!0}})},loadCatalog:function(t){function e(){n.loadingMinTimeout=null,n.loading=!1}var n=this,a=((t=t||{}).bxajaxid=n.bxajaxid,t.state=n.state,!1);n.loading||(n.loading=!0,n.loadingMinTimeout=setTimeout(function(){a&&e(),n.loadingMinTimeout=null},300),$.ajax({url:n.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:t}).done(function(t){console.log("v-product-request-list loaded",t),n.catalog=t.catalog,n.state=t.state,n.updateClaimList&&n.updateOtherClaimsList()}).fail(function(t){console.warn("v-product-request-list load failed",t)}).always(function(){a=!0,n.loadingMinTimeout||e()}))}},created:function(){var e=this;if(Model.$on("update-claim-list",function(t){t!=e.bxajaxid&&e.loadCatalog()}),setInterval(e.updateOtherClaimsList,3e4),e.staticDataSource){if(console.log("v-product-request-list loaded from static data",e.catalog),e.state=e.staticDataSource.state,e.staticDataSource.catalog&&e.staticDataSource.catalog.items&&0<e.staticDataSource.catalog.items.length){e.catalog=e.staticDataSource.catalog;for(var t=0;t<e.staticDataSource.catalog.items.length;t++)e.historyState.push(e.staticDataSource.catalog.items[t].isHistoryShown),e.commentState.push(e.staticDataSource.catalog.items[t].isCommentShown),e.commentState.push(e.staticDataSource.catalog.items[t].isRefuseFormShown),e.commentState.push(e.staticDataSource.catalog.items[t].isExecutorFormShown);$(document).on("click.dropdownblock",this.clickOutside)}e.pushState()}else e.remoteDataSource&&(e.catalog.remote=e.remoteDataSource,e.loadCatalog())},destroyed:function(){this.catalog&&this.catalog.items&&0<this.catalog.items.length&&$(document).off("
1click.dropdownblock",this.clickOutside)}}),Vue.component("v-product-review-item",{template:'\n\t<div class="v-product-review-item product-review-item flc">\n\t\t<div class="product-review-item__header">\n\t\t\t<div class="product-review-item__author">\n\t\t\t\t<div class="product-review-item__avatar">\n\t\t\t\t\t<img v-if="review.avatar" :src="review.avatar" loading="lazy" decoding="async" width="40" height="40" alt="" title="">\n\t\t\t\t\t<svg v-else class="svg-icon">\n\t\t\t\t\t\t<use xlink:href="#svg-icon-avatar"></use>\n\t\t\t\t\t</svg>\n\t\t\t\t</div>\n\t\t\t\t<div class="product-review-item__author-info">\n\t\t\t\t\t<div class="product-review-item__name">\n\t\t\t\t\t\t{{ review.name }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<time v-if="review.date" :datetime="review.date.datetime" class="product-review-item__date">{{ review.date.text }}</time>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if="review.rating" class="product-review-item__meta">\n\t\t\t\t<div class="product-review-item__rating">\n\t\t\t\t\t{{ review.rating.value }}\n\t\t\t\t\t<v-rating v-if="Number.isInteger(review.rating.value)" v-model="review.rating.value" :field="ratingField"></v-rating>\n\t\t\t\t</div>\n\t\t\t\t<a v-if="review.rating.source" class="product-review-item__source" :href="review.rating.source.link">\n\t\t\t\t\t<img v-if="review.rating.source.logo" :src="review.rating.source.logo" loading="lazy" decoding="async" width="" height="" alt="" title="">\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-if="review.images && review.images.length" class="product-review-item__images">\n\t\t\t<template v-for="(item, index) in review.images">\n\t\t\t\t<div v-if="index <= 3" class="product-review-item__images-item">\n\t\t\t\t\t<button class="product-review-item__img" type="button" aria-label="" title="" @click="openGallery({mode: \'image\', initialIndex: index})">\n\t\t\t\t\t\t<img v-if="item.src" :src="item.src" loading="lazy" decoding="async" width="" height="" alt="" title="">\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<div v-else class="product-review-item__images-item hidden-lg hidden-md visible-sm visible-xs">\n\t\t\t\t\t<button class="product-review-item__img" type="button" aria-label="" title="" @click="openGallery({mode: \'image\', initialIndex: index})">\n\t\t\t\t\t\t<img v-if="item.src" :src="item.src" loading="lazy" decoding="async" width="" height="" alt="" title="">\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<div v-if="index === 4" class="product-review-item__images-item hidden-sm hidden-xs">\n\t\t\t\t\t<button class="product-review-item__img" type="button" aria-label="" title="" @click="openGallery({mode: \'image\', initialIndex: 0})">\n\t\t\t\t\t\t<img v-if="item.src" :src="item.src" loading="lazy" decoding="async" width="" height="" alt="" title="">\n\t\t\t\t\t\t<span class="product-review-item__all-images">+{{ review.images.length - 4 }}</span>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</div>\n\t\t<div class="product-review-item__review">\n\t\t\t<p>{{ review.text }}</p>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{ratingField:{value:0}}},props:{review:{default:null}},created:function(){this.ratingField.value=this.review&&this.review.rating&&this.review.rating.value||0},methods:{openGallery:function(t){modalController.open({component:"v-big-gallery",className:"modal--lg modal--gallery",staticDataSource:{images:this.review.images,initialIndex:t.initialIndex}})}}}),Vue.component("v-product-reviews",{template:'\n\t<div v-if="(catalog.items && catalog.items.length) || catalog.remoteForm" class="v-product-reviews product-reviews">\n\t\t<h2 class="product-reviews__headline">{{ getMessage(\'REVIEWS\') }}</h2>\n\t\t<div class="product-reviews__wrapper">\n\t\t\t<div class="product-reviews__main">\n\t\t\t\t<div class="product-reviews__header">\n\t\t\t\t\t<div class="product-reviews__action">\n\t\t\t\t\t\t<div class="switch-btn">\n\t\t\t\t\t\t\t<label class="switch-btn__item">\n\t\t\t\t\t\t\t\t<input class="switch-btn__input" type="radio" name="order" value="date" @change="changeSort">\n\t\t\t\t\t\t\t\t<span class="switch-btn__name">Ðо даÑе</span>\n\t\t\t\t\t\t\t</label>\n <label class="switch-btn__item">\n <input class="switch-btn__input" type="radio" name="order" value="rating" @change="changeSort">
1\n <span class="switch-btn__name">Ðо ÑейÑингÑ</span>\n </label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div v-if="catalog.items.length" class="product-reviews__items">\n\t\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t\t\t\t</transition>\n\t\t\t\t\t<v-product-review-item v-for="review in catalog.items" :review="review" :key="review.id" class="product-reviews__item"></v-product-review-item>\n\t\t\t\t</div>\n\n\t\t\t\t<div v-else class="product-reviews__empty">\n\t\t\t\t\tÐа ÑÑÐ¾Ñ ÑÐ¾Ð²Ð°Ñ Ð¿Ð¾ÐºÐ° Ð½ÐµÑ Ð¾ÑзÑвов. ÐÑ Ð¼Ð¾Ð¶ÐµÑе поделиÑÑÑÑ Ð²Ð°Ñим мнением пеÑвÑм\n\t\t\t\t</div>\n\n\t\t\t\t<div class="product-reviews__nav">\n\t\t\t\t\t<a v-if="catalog.items && catalog.pages && state.pages.offset + catalog.pages.limit <= catalog.pages.count" class="product-reviews__btn-more btn" @click="showMore">\n\t\t\t\t\t\t{{ getMessage(\'SHOW_MORE\') }}\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="product-reviews__aside">\n\t\t\t\t<div class="product-reviews__total-rating">\n\t\t\t\t\t{{ catalog.total.rating | price }}\n\t\t\t\t\t<svg class="svg-icon">\n\t\t\t\t\t\t<use xlink:href="#svg-icon-rating-star"></use>\n\t\t\t\t\t</svg>\n\t\t\t\t</div>\n\t\t\t\t<div class="product-reviews__total-count">\n\t\t\t\t\t<template v-if="catalog.pages.count">{{ catalog.pages.count }} оÑзÑвов</template>\n\t\t\t\t\t<template v-else>ÐÐµÑ Ð¾ÑзÑвов</template>\n\t\t\t\t</div>\n\t\t\t\t<button v-if="catalog.remoteForm"\n\t\t\t\t @click="openFormByAjaxID"\n\t\t\t\t class="btn btn--primary">{{ getMessage(\'SEND_REVIEW\') }}\n\t\t\t\t\t<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{catalog:{remote:null,pages:{offset:null,limit:null,count:null},items:null,remoteForm:null},state:{pages:{offset:0,limit:2,count:0}},loading:!1,loadingMinTimeout:null}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null}},methods:{openFormByAjaxID:function(){var t=new Url(this.catalog.remoteForm).query.bxajaxid;modalController.open({component:"v-rich-form",className:"modal--lg modal--form",remoteDataSource:this.catalog.remoteForm,ownHistory:!1,bxajaxid:t,props:{frame:!0}})},loadCatalog:function(t,e){function n(){if(s){var t=i.catalog.items;i.catalog=s.catalog,e&&(i.catalog.items=t.concat(i.catalog.items));try{i.state.pages=s.catalog.pages}catch(t){console.warn("v-reviews: something wrong with state\n",t)}}i.loadingMinTimeout=null,i.loading=!1,i.$forceUpdate()}var a,i=this,s=null,l=!1;i.loading||(i.loading=!0,t||(i.loadingMinTimeout=setTimeout(function(){l&&n(),i.loadingMinTimeout=null},300)),a=_.clone(i.state),$.ajax({url:i.catalog.remote,method:"post",dataType:"json",data:{state:a,bxajaxid:i.bxajaxid}}).done(function(t){console.log("v-reviews loaded",t),console.log("v-rich-form loaded",t);var e=new URLSearchParams(i.catalog.remote).has("api-mode");s=e?t.data:t}).fail(function(t){console.warn("v-reviews load failed",t)}).always(function(){l=!0,i.loadingMinTimeout&&!t||n()}))},showMore:function(){this.state.pages.offset=parseInt(this.state.pages.offset)+parseInt(this.catalog.pages.limit),this.state.offset=this.state.pages.offset,this.state.limit=this.state.pages.limit,this.loadCatalog(!1,!0)},changeSort:function(t){this.state.pages.offset=0,this.state.sort=t.target.value,this.loadCatalog(!1,!1)}},created:function(){var t=this;t.staticDataSource?(t.catalog=t.staticDataSource.catalog,t.$emit("loaded"),console.log("v-reviews loaded from static data",t.catalog)):t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0)),t.staticDataSource&&t.pushState()}}),Vue.component("v-product-slider",{template:'\n\t<div class="v-product-slider product-slider" :class="{\'product-slider--viewed\': viewed, \'product-slider--not-viewed\': !viewed}">\n\t\t<v-slick class="product-slider__slider slick-default-arrows slick-default-dots" ref="slider" :options="sliderOptions">\n\t\t\t<div class="product-slider__item" v-for="item, index in localItems" :key="item.id || index">\n\t\t\t\t<v-product :template="viewed ? \'viewed\' : \'slide\'" :product="item" :bxajaxid="bxajaxid" @remove="$emit(\'remove\', $event)"></v-product>\n\t\t\t</div>\n\t\t</v-slick>\n\t</div>\n',data:function(){return{localItems:null,sliderOptions:{slidesToShow:7,slidesToScroll:4,arrows:!0,dots:!0,infinite:!1,responsive:[{breakpoint:View.breakpoints["lg-max"],settings:{slidesToShow:6}},{breakpoint:View.breakpoints["md-max"],settings:{slidesToShow:5}},{breakpoint:View.breakpoints["sm-max"],settings:{slidesToShow:4,arrows:!1}
1},{breakpoint:View.breakpoints["xs-max"],settings:{slidesToShow:4,arrows:!1}},{breakpoint:View.breakpoints["2xs-max"],settings:{slidesToShow:3,arrows:!1}},{breakpoint:View.breakpoints["3xs-max"],settings:{slidesToShow:2,arrows:!1}}]}}},props:{items:{default:null},bxajaxid:{default:null},viewed:{type:Boolean,default:!1}},watch:{items:function(){this.localItems=this.items,this.$refs.slider.reSlick()}},created:function(){this.localItems=this.items}}),Vue.component("v-product",{template:'\n\t<div class="v-product product" :class="\'product--\' + template" v-if="product">\n\t\t\n\t\t<template v-if="template === \'basket-item-success\'">\n\t\t\t<div class="product__basket-item">\n\t\t\t\t<a :href="product.link" class="product__link"></a>\n\t\t\t\t<div class="product__basket-item-main">\n\t\t\t\t\t<div v-if="product.name" class="product__basket-item-title">\n\t\t\t\t\t\t{{product.name}}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="product.sku" class="product__basket-item-sku">\n\t\t\t\t\t\t{{product.sku}}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="product.count" class="product__basket-item-count">\n\t\t\t\t\t\tÐолиÑеÑÑво в заказе: {{product.count}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="product__basket-item-counter"></div>\n\t\t\t\t<div class="product__basket-item-total">\n\t\t\t\t\t<v-price :price="product.price" class="price--right"></v-price>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t\t\n\t\t<template v-else-if="template === \'basket-item\'">\n\t\t\t<div class="product__basket-item">\n\t\t\t\t<a :href="product.link" class="product__link"></a>\n\t\t\t\t<div class="product__basket-item-main">\n\t\t\t\t\t<div v-if="product.name" class="product__basket-item-title">{{product.name}}</div>\n\t\t\t\t\t<div v-if="product.sku" class="product__basket-item-sku">{{product.sku}}</div>\n\t\t\t\t\t<button @click="$emit(\'remove\', product.id)" \n\t\t\t\t\t class="product__btn-close" \n\t\t\t\t\t type="button">\n\t\t\t\t\t\t<svg class="product__btn-close-icon svg-icon">\n\t\t\t\t\t\t\t<use xlink:href="#svg-icon-lite-close"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t{{getMessage(\'DELETE\')}}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<div class="product__basket-item-counter">\n\t\t\t\t\t<v-field\n\t\t\t\t\t\ttype="counter"\n\t\t\t\t\t\tv-model="counterValue"\n\t\t\t\t\t\t@input="changeCounter"\n\t\t\t\t\t\t@basketadd="addOneProductToBasket(product.id)">\n\t\t\t\t\t</v-field>\n\t\t\t\t</div>\n\t\t\t\t<div class="product__basket-item-total">\n\t\t\t\t\t<v-price :price="product.price" class="price--right"></v-price>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t\t\n\t\t<template v-else-if="template === \'search-model\'">\n\t\t\t<div class="product__search-model">\n\t\t\t\t<a :href="product.link" class="product__link"></a>\n\t\t\t\t<div class="product__model">\n\t\t\t\t\t<div class="product__image-wrap">\n\t\t\t\t\t\t<img class="product__small-image" :src="product.image" alt="">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="product__model-sku" v-html="highlightQueryInText(product.sku)"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t\t\n\t\t<template v-else-if="template === \'search-detail\'">\n\t\t\t<div class="product__detail-list-item">\n\t\t\t\t<div class="product__detail-info product__detail-info--static">\n\t\t\t\t\t<a :href="product.link" class="product__detail-product-link"></a>\n\t\t\t\t\t<div v-if="product.sku" \n\t\t\t\t\t\t\t class="product__detail-name" \n\t\t\t\t\t\t\t v-html="highlightQueryInText(product.sku)">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="product.name" \n\t\t\t\t\t\t\t class="product__detail-sku" \n\t\t\t\t\t\t\t v-html="highlightQueryInText(product.name)">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="product__detail-text">\n\t\t\t\t\t\t{{product.descr}}\n\t\t\t\t\t</div>\n\t\t\t\t\t<a :href="product.linkMore" v-if="product.linkMore" \n\t\t\t\t\t\t class="product__detail-link-more">\n\t\t\t\t\t\t{{product.linkMoreText}}\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t\t<div class="product__detail-price">\n\t\t\t\t\t<v-price :price="product.price" size="small"></v-price>\n\t\t\t\t</div>\n\t\t\t\t<div class="product__detail-counter">\n\t\t\t\t\t<v-field\n\t\t\t\t\t\ttype="basket-counter"\n\t\t\t\t\t\tv-model="counterValue"\n\t\t\t\t\t\t@input="changeCounter"\n\t\t\t\t\t\t@basketadd="addOneProductToBasket(product.id)">\n\t\t\t\t\t</v-field>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t\t\n\t\t<template v-else-if="template === \'detail\'">\n\t\t\t<div class="product__detail-list-item">\n\t\t\t\t<button v-if="product.description" \n\t\t\t\t\t\t\t\tclass="product__detail-list-btn" \n\t\t\t\t\t\t\t\t@click="showDescription = !showDescription" \n\t\t\t\t\t\t\t\ttype="button" \n\t\t\t\t\t\t\t\taria-label="РазвеÑнÑÑÑ">\n\t\t\t\t</button>\n\t\t\t\t<div v-if="product.num" class="product__detail-num">\n\t\t\t\t\t{{product.num}}\n\t\t\t\t</div>\n\t\t\t\t<div class="product__detail-info">\n\t\t\t\t\t<div v-if="product.name" class="product__detail-name" \n\t\t\t\t\t\t\t v-html="view === \'search-name\' ? highlightQueryInText(product.name) : product.name">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="product.sku" class="product__detail-sku" \n\t\t\t\t\t\t\t v-html="view === \'search-sku\' ? highlightQueryInText(product.
1sku) : product.sku">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="product__detail-price">\n\t\t\t\t\t<v-price :price="product.price" size="small"></v-price>\n\t\t\t\t</div>\n\t\t\t\t<div class="product__detail-counter">\n\t\t\t\t\t<v-field\n\t\t\t\t\t\ttype="basket-counter"\n\t\t\t\t\t\tv-model="counterValue"\n\t\t\t\t\t\t@input="changeCounter"\n\t\t\t\t\t\t@basketadd="addOneProductToBasket(product.id)">\n\t\t\t\t\t</v-field>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t\t<div v-if="product.description && showDescription" class="product__detail-descr">\n\t\t\t\t\t<div class="product__detail-descr-main">\n\t\t\t\t\t\t<div class="product__detail-descr-left">\n\t\t\t\t\t\t\t<div v-if="product.description.required" \n\t\t\t\t\t\t\t\t\t class="product__detail-descr-item flc">\n\t\t\t\t\t\t\t\t<div class="product__detail-descr-title">\n\t\t\t\t\t\t\t\t\t{{getMessage(\'REQUIRED_TO_ASSEMBLE_AN_ASSEMBLY_UNIT\')}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="product__detail-descr-caption">\n\t\t\t\t\t\t\t\t\t{{product.description.required}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-if="product.description.period" \n\t\t\t\t\t\t\t\t\t class="product__detail-descr-item flc">\n\t\t\t\t\t\t\t\t<div class="product__detail-descr-title">\n\t\t\t\t\t\t\t\t\t{{getMessage(\'PART_APPLICATION_PERIOD\')}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="product__detail-descr-caption">\n\t\t\t\t\t\t\t\t\t{{product.description.period}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-if="product.description.note" \n\t\t\t\t\t\t\t\t\t class="product__detail-descr-item flc">\n\t\t\t\t\t\t\t\t<div class="product__detail-descr-title">\n\t\t\t\t\t\t\t\t\t{{getMessage(\'NOTE\')}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="product__detail-descr-caption">\n\t\t\t\t\t\t\t\t\t{{product.description.note}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-if="product.link" class="product__detail-link">\n\t\t\t\t\t\t\t\t<a :href="product.link" class="arrow-link">\n\t\t\t\t\t\t\t\t\t{{getMessage(\'GO_TO_DETAIL_CART\')}} <span class="arrow-link__tail"><svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if="product.description.replacement && product.description.replacement.length > 0" \n\t\t\t\t\t\t\t\t class="product__detail-descr-right">\n\t\t\t\t\t\t\t<div class="product__detail-descr-item flc">\n\t\t\t\t\t\t\t\t<div class="product__detail-descr-title">\n\t\t\t\t\t\t\t\t\t{{getMessage(\'REPLACEMENT_DETAILS\')}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-for="item in product.description.replacement" \n\t\t\t\t\t\t\t\t\t class="product__detail-descr-item product__detail-descr-item--lg flc">\n\t\t\t\t\t\t\t\t<div v-if="item.sku" \n\t\t\t\t\t\t\t\t\t\t class="product__detail-descr-title product__detail-descr-title--lg">\n\t\t\t\t\t\t\t\t\t{{item.sku}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div v-if="item.name" \n\t\t\t\t\t\t\t\t\t\t class="product__detail-descr-caption">\n\t\t\t\t\t\t\t\t\t{{item.name}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</template>\n\n\t\t<template v-else-if="template === \'units-list\'">\n\t\t\t<div class="product__units-list-item">\n\t\t\t\t<a :href="product.link" class="product__link"></a>\n\t\t\t\t<div v-if="product.name" class="product__unit-name">\n\t\t\t\t\t{{product.name}}\n\t\t\t\t</div>\n\t\t\t\t<div v-if="product.caption" class="product__unit-caption">\n\t\t\t\t\t{{product.caption}}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="template === \'units-grid\'">\n\t\t\t<div class="product__u-grid">\n\t\t\t\t<a :href="product.link" class="product__link"></a>\n\t\t\t\t<img class="product__unit-image" :src="product.image" alt="">\n\t\t\t\t<div class="product__unit-info">\n\t\t\t\t\t<div v-if="product.name" class="product__unit-name">\n\t\t\t\t\t\t{{product.name}}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="product.caption" class="product__unit-caption">\n\t\t\t\t\t\t{{product.caption}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t\t\n\t\t<template v-else-if="template === \'model\'">\n\t\t\t<div class="product__m-grid">\n\t\t\t\t<a :href="product.link" class="product__link"></a>\n\t\t\t\t<div class="product__model">\n\t\t\t\t\t<div class="product__image-wrap">\n\t\t\t\t\t\t<img class="product__small-image" :src="product.image" alt="">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="product__model-sku" v-html="highlightQueryInText(product.
1sku)"></div>\n\t\t\t\t</div>\n\t\t\t\t<svg class="product__m-grid-icon svg-icon">\n\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</template>\n\t\t\n\t\t<template v-else-if="template === \'list\'">\n\t\t\t<div class="product__t-list">\n\t\t\t\t<a :href="product.link" v-if="product.link" class="product__link"></a>\n\t\t\t\t<div class="product__t-list-cell-image">\n\t\t\t\t\t<div class="product__image">\n\t\t\t\t\t\t<img v-if="product.image" :src="product.image" alt="">\n\t\t\t\t\t\t<div class="product__image-box-no-photo" v-else>\n\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-no-photo"></use></svg>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="product__t-list-cell-main">\n\t\t\t\t\t<div class="product__t-list-cell-main-info">\n\t\t\t\t\t\t<div class="product__meta flc" v-if="product.sku || product.series">\n\t\t\t\t\t\t\t{{product.sku}} <template v-if="product.sku && product.series"> / </template> <template v-if="product.series">{{getMessage(\'SERIES\')}} {{product.series}}</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="product__title flc" v-if="product.name">{{product.name}}</div>\n\t\t\t\t\t\t<div class="product__dimensions flc" v-if="product.dimensions && product.dimensions.length">\n\t\t\t\t\t\t\t<div class="dimensions dimensions--product-list flc">\n\t\t\t\t\t\t\t\t<div class="dimensions__grid">\n\t\t\t\t\t\t\t\t\t<div class="dimensions__item" v-for="dimension in product.dimensions">\n\t\t\t\t\t\t\t\t\t\t<div class="dimension dimension--product">\n\t\t\t\t\t\t\t\t\t\t\t<div class="dimension__icon" v-if="dimension.icon">\n\t\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use :xlink:href="dimension.icon"></use></svg>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="dimension__value">{{dimension.value}}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="product__t-list-cell-main-prices">\n\t\t\t\t\t\t<div class="product__price flc">\n\t\t\t\t\t\t\t<v-price :price="product.price"></v-price>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="catalog-item-top__price-info flc">\n\t\t\t\t\t\t\t{{getMessage(\'CHECK_STORE_PRICE\')}}<span class="inline-tooltip-wrap" aria-label="ÐодÑказка"> <span class="inline-tooltip dropdown-owner js-dropdown" v-if="product.priceTip"><span class="inline-tooltip__btn js-dropdown__btn"></span>\n\t\t\t\t\t\t\t\t<span class="inline-tooltip__body dropdown js-dropdown__body js-tooltip-position" v-html="product.priceTip"></span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-if="template == \'grid\' || template == \'grid-compare\'">\n\t\t\t<div class="product__t-grid" :class="{\'product__t-grid--compare\': template == \'grid-compare\'}"\n\t\t\t\t itemscope itemtype="https://schema.org/Product">\n\t\t\t\t<a :href="product.link" class="product__link" itemprop="url"></a>\n\t\t\t\t<div class="product__t-grid-top">\n\t\t\t\t\t<div class="product__action-compare-alt" v-if="template == \'grid-compare\'">\n\t\t\t\t\t\t<v-compare-btn :product-id="product.id" template="icon"></v-compare-btn>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="product__image">\n\t\t\t\t\t\t<div class="product__status" v-if="product.status && product.status.length || product.colors && product.colors.length > 1">\n\t\t\t\t\t\t\t<div class="status-list status-list--product">\n\t\t\t\t\t\t\t\t<div class="status-list__item" v-for="item in product.status">\n\t\t\t\t\t\t\t\t\t<div class="status status--product" :style="{\'color\': item.color, \'background\': item.background}" :class="{\'status--image\': item.image && !item.text}">\n\t\t\t\t\t\t\t\t\t\t<img v-if="item.image" :src="item.image" alt="" itemprop="image">\n\t\t\t\t\t\t\t\t\t\t<span class="status__text" v-if="item.text">{{item.text}}</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="status-list__item" v-if="product.colors && product.colors.length > 1">\n\t\t\t\t\t\t\t\t\t<div class="status status--product status--colors">\n\t\t\t\t\t\t\t\t\t\t<div class="status__pallette">\n\t\t\t\t\t\t\t\t\t\t\t<div class="status__pallette-part" v-for="color in product.colors" :style="{\'background\': color.color}"></div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{{product.colors.length}} {{pluralize(product.colors.length, \'\', [getMessage(\'ONE_COLOR\'), getMessage(\'TWO_COLOR\'), getMessage(\'MORE_COLOR\')])}}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<template v-if="!product.images || !product.images.length">\n\t\t\t\t\t\t\t<div class="product__image-box">\n\t\t\t\t\t\t\t\t<div class="product__image-box-no-photo">\n\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-no-photo"></use></svg>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else-if="!touchMode">\n\t\t\t\t\t\t\t<div class="product__image-box" \n\t\t\t\t\t\t\t\t\t@mouseleave="activeImageIndex = 0">\n\t\t\t\t\t\t\t\t<div class="product__image-box-inner" v-for="image, index in product.images" v-if="index < 5"\n\t\t\t\t\t\t\t\t\t\t:style="{\'background-image\': image.cover ? \'url(\' + image.src + \')\' : null}"\n\t\t\t\t\t\t\t\t\t\t:class="{\'active\': index == activeImageIndex}">\n\t\t\t\t\t\t\t\t\t<img v-if="!image.cover" :src="image.src" alt="" loading="lazy" itemprop="image">\n\t\t\t\t\t\t\t\t\t<div class="product__image-box-note" v-if="index == 4 && product.images.length > 5">{{ getMessage(\'MORE\') }} {{product.images.length - 5}} {{ getMessage(\'PHOTO\') }}</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<a :href="product.link" class="product__image-box-controls" v-if="product.images.length > 1">\n\t\t\t\t\t\t\t\t\t<div class="product__image-box-control" v-for="image, index in product.images" v-if="index < 5"\n\t\t\t\t\t\t\t\t\t\t\t@mouseenter="activeImageIndex = index"></div>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<div class="product__image-box-bullets" v-if="product.images.length > 1">\n\t\t\t\t\t\t\t\t\t<div class="product__image-box-bullet" v-for="image, index in product.images" v-if="index < 5" \n\t\t\t\t\t\t\t\t\t\t\t:class="{\'active\': index == activeImageIndex}"></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t<div class="product__image-box">\n\t\t\t\t\t\t\t\t<div class="product__image-box-inner active" v-for="image, index in product.images" v-if="index == 0"\n\t\t\t\t\t\t\t\t\t\t:style="{\'background-image\': image.cover ? \'url(\' + image.src + \')\' : null}">\n\t\t\t\t\t\t\t\t\t<img v-if="!image.cover" :src="image.src" alt="" loading="lazy" itemprop="image">\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="product__meta flc" v-if="product.sku || product.series">\n\t\t\t\t\t\t{{product.sku}} <template v-if="product.sku && product.series"> / </template> <template v-if="product.series">{{getMessage(\'SERIES\')}} {{product.series}}</template>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="product__title flc" v-if="product.name" itemprop="name">{{product.name}}</div>\n\t\t\t\t\t<meta itemprop="name" :content="product.name" />\n\t\t\t\t</div>\n\t\t\t\t<div class="product__t-grid-bottom">\n\t\t\t\t\t<div class="product__dimensions flc" v-if="product.dimensions && product.dimensions.length">\n\t\t\t\t\t\t<div class="dimensions dimensions--product flc">\n\t\t\t\t\t\t\t<div class="dimensions__grid">\n\t\t\t\t\t\t\t\t<div class="dimensions__item" v-for="dimension in product.dimensions">\n\t\t\t\t\t\t\t\t\t<div class="dimension dimension--product">\n\t\t\t\t\t\t\t\t\t\t<div class="dimension__icon" v-if="dimension.icon">\n\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use :xlink:href="dimension.icon"></use></svg>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="dimension__value">{{dimension.value}}</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<hr class="product__separator flc">\n\t\t\t\t\t<div itemprop="aggregateRating" itemtype="https://schema.org/AggregateRating" itemscope>\n\t\t\t\t\t\t<meta itemprop="reviewCount" content="89" />
1\n\t\t\t\t\t\t<meta itemprop="ratingValue" content="5" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="product__price flc">\n\t\t\t\t\t\t<v-price :price="product.price" :size="template == \'grid-compare\' ? \'smaller\' : \'md\'"></v-price>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="product__action flc">\n\t\t\t\t\t\t<div class="product__action-grid">\n\t\t\t\t\t\t\t<div class="product__action-button">\n\t\t\t\t\t\t\t\t<a :href="product.link" class="btn btn--primary" v-if="template == \'grid\'">\n\t\t\t\t\t\t\t\t\t{{getMessage(\'MORE_DETAIL\')}}\n\t\t\t\t\t\t\t\t\t<svg class="btn__arrow-right btn__arrow-right--right svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t<a :href="product.buyLink" class="btn btn--primary" v-else-if="template == \'grid-compare\'">\n\t\t\t\t\t\t\t\t\t{{getMessage(\'WHERE_BUY\')}}\n\t\t\t\t\t\t\t\t\t<svg class="btn__arrow-right btn__arrow-right--right svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="product__action-compare" v-if="template == \'grid\'">\n\t\t\t\t\t\t\t\t<v-compare-btn :product-id="product.id"></v-compare-btn>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\n\t\t<template v-if="template == \'viewed\' || template == \'slide\'">\n\t\t\t<div class="product__t-slide" :class="{\'product__t-slide--viewed\': template == \'viewed\'}">\n\t\t\t\t<button type="button" class="product__remove" :class="{\'product__remove--loading\': removeLoading}" \n\t\t\t\t\t\t:title="getMessage(\'REMOVE_FROM_HISTORY\')" @click="removeLoading ? null : removeFromViewed()" v-if="template == \'viewed\'">\n\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-close"></use></svg>\n\t\t\t\t</button>\n\t\t\t\t<a :href="product.link" class="product__link"></a>\n\t\t\t\t<div class="product__image">\n\t\t\t\t\t<div class="product__image-box" :style="{\'background-image\': product.image && product.imageCover ? \'url(\' + product.image + \')\' : null}">\n\t\t\t\t\t\t<div class="product__image-box-no-photo" v-if="!product.image">\n\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-no-photo"></use></svg>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<img v-else-if="!product.imageCover" :src="product.image" alt="">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="product__meta flc" v-if="product.sku || product.series">\n\t\t\t\t\t{{product.sku}} <template v-if="product.sku && product.series"> / </template> <template v-if="product.series">{{getMessage(\'SERIES\')}} {{product.series}}</template>\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t<div class="product__price flc" v-if="product.price">\n\t\t\t\t\t<v-price :price="product.price" size="smaller"></v-price>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-if="template == \'simple-list\'">\n\t\t\t<div class="product__t-simple-list">\n\t\t\t\t<a :href="product.link" class="product__link"></a>\n\t\t\t\t<div class="product__t-simple-list-image">\n\t\t\t\t\t<div class="product__image">\n\t\t\t\t\t\t<div class="product__image-box" :style="{\'background-image\': product.imageCover ? \'url(\' + product.image + \')\' : null}">\n\t\t\t\t\t\t\t<img v-if="!product.imageCover" :src="product.image" alt="" loading="lazy">\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="product__t-simple-list-main">\n\t\t\t\t\t<div class="product__meta flc" v-if="product.sku || product.series">\n\t\t\t\t\t\t{{product.sku}} <template v-if="product.sku && product.series"> / </template> <template v-if="product.series">{{getMessage(\'SERIES\')}} {{product.series}}</template>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="product__title flc" v-if="product.name">{{product.name}}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{activeImageIndex:0,touchMode:View.mobileAndTabletCheck,removeLoading:!1,showDescription:!1,counterValue:1,counterPorductCartValue:1}},props:{product:{default:null},template:{default:"grid"},view:{default:"regular"},localQuery:{default:null}},methods:{highlightQueryInText:function(e){try{return e.replace(new RegExp(this.localQuery,"i"),'<span class="in-text-highlight-alt">$&</span>')}catch(t){return e}},checkValue:function(t){var e=t;return t<1||isNaN(t)?e=1:99<t&&(e=99),e},changeCounter:function(){this.counterValue=this.checkValue(this.counterValue),this.$emit("changeCounter",{value:[this.counterValue],id:this.product.id})},update:function(){var t=this.product?this.product.productId:null,t=(this.active=!!Model.basket&&!!_.find(Model.basket.items,{id:t}),_.find(Model.basket.items,{id:t}));Model.basket&&t&&(this.counterValue=t.count)},addOneProductToBasket:function(t){Model.basketAdd({items:t,count:this.counterValue,setValue:1})},slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)}
1,removeFromViewed:function(){this.removeLoading=!0,this.$emit("remove",this.product.id)}},created:function(){var t,e=this;Model.basket&&(this.update(),this.basketData=Model.basket.items),Model.$on("basket-changed",function(){var t;e.update(),e.loading=!1,Model.basket&&(e.basketData=Model.basket.items,e.product)&&((t=_.find(Model.basket.items,{id:e.product.id}))&&(e.counterPorductCartValue=t.count||1))}),this.product&&((t=_.find(Model.basket.items,{id:this.product.id}))?(this.counterPorductCartValue=t.count||1,this.counterValue=isNaN(parseInt(t.count))?1:parseInt(t.count)):(this.counterPorductCartValue=this.product.count||1,this.counterValue=isNaN(parseInt(this.product.count))?1:parseInt(this.product.count)))}}),Vue.component("v-rate",{template:'\n\t<div class="v-rate rate">\n\t\t<form class="rate__form" :class="{\'rate__form--disabled\': loading}">\n\t\t\t<div class="rate__title">{{getMessage(\'USEFUL_INFORMATION\')}}</div>\n\t\t\t<div class="rate__labels">\n\t\t\t\t<div class="rate__label" :class="{\'rate__label--selected\': localValue === 1 }" @click="setValue(\'plus\')">\n\t\t\t\t\t<div class="rate__icon">\n\t\t\t\t\t\t<svg class="svg-icon">\n\t\t\t\t\t\t\t<use xlink:href="#svg-icon-dimension-warranty"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="rate__label-text">{{getMessage(\'YES\')}}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="rate__label" :class="{\'rate__label--selected\': localValue === -1 }" @click="setValue(\'minus\')">\n\t\t\t\t\t<div class="rate__icon rate__icon--inverted">\n\t\t\t\t\t\t<svg class="svg-icon">\n\t\t\t\t\t\t\t<use xlink:href="#svg-icon-dimension-warranty"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="rate__label-text">{{getMessage(\'NO\')}}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</form>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{picked:!1,loading:!1,localValue:null}},props:{id:{default:null},remote:{default:null},value:{default:null}},watch:{value:function(){this.localValue=this.value}},methods:{setValue:function(t){this.loading||(this.localValue="plus"==t?0==this.localValue?1:0:0==this.localValue?-1:0,this.sendInput())},sendInput:function(){var e=this;e.loading=!0,$.ajax({url:e.remote,method:"post",dataType:"json",data:{value:e.localValue,id:e.id}}).done(function(t){e.localValue=t.value}).fail(function(t){console.warn("v-rate: load error",t)}).always(function(){e.loading=!1})}},created:function(){this.localValue=this.value}}),Vue.component("v-rating-input",{template:'\n\t<div class="v-rating-input rating-input flc" :class="{\'rating-input--short\': max === 5, \'rating-input--simple\': simple}">\n\t\t<template v-if="!simple">\n\t\t\t<div class="rating-input__row rating-input__row--head flc">\n\t\t\t\t<div class="rating-input__row-label">\n\t\t\t\t\t<div class="rating-input__row-label-text h4" v-if="label">{{label}}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="rating-input__row-main">\n\t\t\t\t\t<div class="price-badge price-badge--lg">\n\t\t\t\t\t\t<svg class="svg-icon price-badge__icon"><use xlink:href="#svg-icon-rating-star"></use></svg>\n\t\t\t\t\t\t<span class="price-badge__value">{{medianValue}}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t\t<div class="rating-input__row flc" v-if="options" v-for="option in options" :key="option.key">\n\t\t\t<div class="rating-input__row-label">\n\t\t\t\t<div class="rating-input__row-label-icon" v-if="option.icon">\n\t\t\t\t\t<svg class="svg-icon">\n\t\t\t\t\t\t<use :xlink:href="option.icon"></use>\n\t\t\t\t\t</svg>\n\t\t\t\t</div>\n\t\t\t\t<div class="rating-input__row-label-text">{{option.text}}</div> \n\t\t\t</div>\n\t\t\t<div class="rating-input__row-main">\n\t\t\t\t<div class="rating-stars rating-stars--input" @mouseleave="touchMode ? null : resetLocalValueOptionTmp(option.key)">\n\t\t\t\t\t<div class="rating-stars__stars">\n\t\t\t\t\t\t<div class="rating-stars__item" v-for="i in max" :class="{\'active\': i <= getLocalValueOption(option.key)}"\n\t\t\t\t\t\t\t @mouseenter="setLocalValueOptionTmp(option.key, i)" @click="set
1LocalValueOption(option.key, i)">\n\t\t\t\t\t\t\t <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="rating-stars__icon">\n\t\t\t\t\t\t\t\t<path class="rating-stars__path" fill-rule="evenodd" clip-rule="evenodd" d="M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z"/>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="rating-stars__value">{{getLocalValueOption(option.key)}}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<template v-if="!simple">\n\t\t\t<div class="rating-input__row rating-input__row--head flc">\n\t\t\t\t<div class="rating-input__row-label">\n\t\t\t\t\t<div class="rating-input__row-label-text h4">{{getMessage("MATTERS_RATINGS")}}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="check-list flc" v-if="options">\n\t\t\t\t<div class="check-list__item" v-for="option in options" :key="option.key">\n\t\t\t\t\t<v-field type="checkbox" :label="option.text" :value="getLocalValueOptionMatters(option.key)" \n\t\t\t\t\t\t\t@input="setLocalValueOptionMatters(option.key, $event)"></v-field>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{localValue:[],touchMode:View.mobileAndTabletCheck}},props:{value:{default:null},max:{type:Number,default:10},options:{default:null},label:{default:null},simple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},computed:{medianValue:function(){var a=this;return this.localValue&&this.localValue.length?(Math.round(100*_.reduce(this.localValue,function(t,e){var n=_.find(a.options,{key:e.key}),n=n&&"number"==typeof n.weight?n.weight:1/a.options.length;return t+("number"==typeof e.tmpValue?e.tmpValue:e.value)*n},0))/100).toString().replace(".",","):0}},watch:{value:function(){this.initLocalValueFromValue()}},methods:{emitInput:function(){var t=JSON.parse(JSON.stringify(this.localValue));_.each(t,function(t){delete t.tmpValue}),this.$emit("input",JSON.stringify(t))},setLocalValueOption:function(t,e){var n=_.find(this.localValue,{key:t});n?n.value=e:this.localValue.push({key:t,value:e,matters:!1}),this.emitInput()},setLocalValueOptionTmp:function(t,e){var n=_.find(this.localValue,{key:t});n?n.tmpValue=e:this.localValue.push({key:t,value:0,tmpValue:e,matters:!1})},resetLocalValueOptionTmp:function(t,e){var n=_.find(this.localValue,{key:t});n?n.tmpValue=null:this.localValue.push({key:t,value:0,tmpValue:e,matters:!1})},getLocalValueOption:function(t){t=_.find(this.localValue,{key:t});return t?"number"==typeof t.tmpValue?t.tmpValue:t.value:0},setLocalValueOptionMatters:function(t,e){var n=_.find(this.localValue,{key:t});n?n.matters=e:this.localValue.push({key:t,value:0,matters:e}),this.emitInput()},getLocalValueOptionMatters:function(t){t=_.find(this.localValue,{key:t});return!!t&&t.matters},initLocalValueFromValue:function(){if(this.localValue=[],this.value)if("string"==typeof this.value)try{this.localValue=JSON.parse(this.value)}catch(t){}else this.localValue=this.value;this.emitInput()}},created:function(){this.initLocalValueFromValue()}}),Vue.component("v-rating",{template:'\n\t<div class="v-rating rating" :class="{\'rating--input\': input}">\n\t\t<div class="rating__layout">\n\t\t\t<div class="rating__row">\n\t\t\t\t<div class="rating__layer rating__layer--unchecked" v-if="!input">\n\t\t\t\t\t<div class="rating__grid">\n\t\t\t\t\t\t<template v-for="val in 5">\n\t\t\t\t\t\t\t<label class="rating__item">\n\t\t\t\t\t\t\t\t<svg class="svg-icon rating__icon">\n\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-rating-star-empty"></use>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<template v-if="!input">\n\t\t\t\t\t<div class="rating__layer rating__layer--checked" :style="{\'width\': Math.round(field.value) * 20 + \'%\'}">\n\t\t\t\t\t\t<div class="rating__grid">\n\t\t\t\t\t\t\t<template v-for="val in 5">\n\t\t\t\t\t\t\t\t<label class="rating__item rating__item--checked">\n\t\t\t\t\t\t\t\t\t<svg class="svg-icon rating__icon">\n\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-rating-star"></use>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-if="input">\n\t\t\t\t\t<div class="rating__layer rating__layer--input">\n\t\t\t\t\t\t<label class="field-label" v-if="field">{{ field.label }}</label>\n\t\t\t\t\t\t<div class="rating__grid">\n\t\t\t\t\t\t\t<template v-for="val in 5">\n\t\t\t\t\t\t\t\t<label class="rating__item" :class="{\'rating__item--checked\': val <= localValue, \'rating__item--disabled\': field.disabled}">\n\t\t\t\t\t\t\t\t\t<input class="rating__input" type="radio" :value="val + 1" @change="handleInput(val)" :disabled="field.disabled"/>\n\t\t\t\t\t\t\t\t\t<svg class="svg-icon rating__icon">\n\t\t\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-rating-star"></use>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],props:{input:{type:Boolean,default:!1},value:{type:[Object,String,Number,Boolean],default:null},field:{type:Object,default:null}},emits:["input"],data:function(){return{localValue:null}},created:function(){this.updateLocalValue()},methods:{updateLocalValue:function(){this.field&&(this.localValue=this.field.value)},handleInput:function(t){this.localValue=t,this.$emit("input",this.localValue)}}}),Vue.component("v-review-item",{template:'\n\t\n\t<div class="v-review-item reviews__item flc" :class="{\'reviews__item--flex\': mode == \'alt\', \'reviews__item--tablerow\': mode == \'tablerow\'}">\n\t\t\n\t\t<template v-if="mode === \'tablerow\'" >\n\t\t\t<div class="reviews__item-review">\n\t\t\t\t<p>\n\t\t\t\t\t{{review.text}}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else>\n\t\t\t<div class="reviews__item-main">\n\t\t\t\t<div class="reviews__item-header">\n\t\t\t\t\t<span class="reviews__name h4">\n\t\t\t\t\t\t{{review.name}}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div class="reviews__meta">\n\t\t\t\t\t\t<div v-if="review.labels" class="reviews__meta-labels">\n\t\t\t\t\t\t\t<a v-for="(label, i) in review.labels" :href="label.link" class="badge badge--reflex" :key="i">{{label.text}}</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<time :datetime="review.date.datetime" class="reviews__meta-date">{{review.date.text}}</time>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="reviews__item-review">\n\t\t\t\t\t<p>{{review.text}}</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{}},props:{review:{default:null},mode:{type:String,default:"regular"}}}),Vue.component("v-reviews",{template:'\n <div v-if="(catalog.items && catalog.items.length) || c
1atalog.remoteForm" class="v-reviews reviews" :class="{\'reviews--alt\': mode == \'alt\'}">\n <div class="reviews__header">\n <h3 class="reviews__headline">{{getMessage(\'REVIEWS_CLIENTS\')}}</h3>\n <div class="reviews__action" v-if="catalog.remoteForm">\n <button\n @click="openFormByAjaxID"\n class="btn btn--primary">{{getMessage(\'SEND_REVIEW\')}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n </button>\n </div>\n <div class="reviews__action" v-if="catalog.remoteAnketForm">\n <a :href="catalog.remoteAnketForm"\n class="btn btn--primary">{{getMessage(\'SEND_ANKET\')}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n </a>\n </div>\n </div>\n\n <div v-if="!catalog.items" class="reviews__attention-wrap">\n <div class="attention attention--no-border">\n <svg class="svg-icon attention__ico-attention-like"><use xlink:href="#svg-icon-attention-like"></use></svg> <span class="attention__attention-text">\n\t\t\t\t\t{{getMessage(\'FIRST_REVIEW_NOTIFY\')}}\n\t\t\t\t</span>\n </div>\n </div>\n\n <div v-if="catalog.items" class="reviews__items">\n <transition name="content-fade">\n <div class="loader-cover" v-if="loading"></div>\n </transition>\n <v-review-item v-for="review in catalog.items" :review="review" :mode="mode"></v-review-item>\n </div>\n\n <a v-if="catalog.items && catalog.pages && state.pages.offset + catalog.pages.limit <= catalog.pages.count" class="reviews__btn-more btn" @click="showMore">\n {{getMessage(\'SHOW_MORE\')}}\n </a>\n\n </div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{catalog:{remote:null,pages:{offset:null,limit:null,count:null},items:null,remoteForm:null},state:{pages:{offset:0,limit:10,count:0}},loading:!1,loadingMinTimeout:null}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},mode:{type:String,default:"regular"},bxajaxid:{default:null}},methods:{openFormByAjaxID:function(){var t=new Url(this.catalog.remoteForm).query.bxajaxid;modalController.open({component:"v-rich-form",className:"modal--lg modal--form",remoteDataSource:this.catalog.remoteForm,ownHistory:!1,bxajaxid:t,props:{frame:!0}})},loadCatalog:function(t,e){function n(){if(s){var t=i.catalog.items;i.catalog=s.catalog,e&&(i.catalog.items=t.concat(i.catalog.items));try{i.state.pages=s.catalog.pages}catch(t){console.warn("v-reviews: something wrong with state\n",t)}}i.loadingMinTimeout=null,i.loading=!1,i.$forceUpdate()}var a,i=this,s=null,l=!1;i.loading||(i.loading=!0,t||(i.loadingMinTimeout=setTimeout(function(){l&&n(),i.loadingMinTimeout=null},300)),a=_.clone(i.state),$.ajax({url:i.catalog.remote,method:"post",dataType:"json",data:{state:a,bxajaxid:i.bxajaxid}}).done(function(t){console.log("v-reviews loaded",t);var e=new URLSearchParams(i.catalog.remote).has("api-mode");s=e?t.data:t}).fail(function(t){console.warn("v-reviews load failed",t)}).always(function(){l=!0,i.loadingMinTimeout&&!t||n()}))},showMore:function(){this.state.pages.offset=parseInt(this.state.pages.offset)+parseInt(this.catalog.pages.limit),this.state.offset=this.state.pages.offset,this.state.limit=this.state.pages.limit,this.loadCatalog(!1,!0)}},created:function(){var t=this;t.staticDataSource?(t.catalog=t.staticDataSource.catalog,t.$emit("loaded"),console.log("v-reviews loaded from static data",t.catalog)):t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0)),t.staticDataSource&&t.pushState()}}),Vue.component("v-rich-form",{template:' \n\t<div class="v-rich-form rich-form flc" :class="{\'rich-form--frame\': frame, \'rich-form--lg\': large, \'rich-form--standalone\': standalone}">\n\n\t\t<transition name="content-fade" @enter="slideDown" @leave="slideUp">\n\t\t\t<div class="rich-form__title flc" v-if="form && form.title && !(form.success && form.hideFormOnSuccess)">\n\t\t\t\t<h2 class="rich-form__title-main" :class="{\'h1\': frame}" v-if="form.title">
1{{form.title}}</h2>\n\t\t\t\t<span class="rich-form__title-sub" v-if="form.titleSub || form.titleSubLinkText">\n\t\t\t\t\t<span class="rich-form__title-sub-text">{{form.titleSub}}</span>\n\t\t\t\t\t<a class="rich-form__title-sub-link arrow-link" v-if="form.titleSubLinkText" @click="replaceForm(form.titleSubLink)">{{form.titleSubLinkText}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\t\t\t\t</span>\n\t\t\t\t<span class="rich-form__title-sub" v-if="$slots[\'subtitle\']">\n\t\t\t\t\t<slot name="subtitle"></slot>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</transition>\n\n\t\t<div v-if="form.subTitle" class="rich-form__subtitle">{{form.subTitle}}</div>\n\n <div class="rich-form__wrap">\n <div class="rich-form__main">\n <div class="rich-form__container">\n\n <transition name="content-fade" mode="out-in">\n <div class="loader-cover" v-if="loading" key="cover"></div>\n </transition>\n\n <div v-if="form && form.message" class="strong-form-note flc fcc" v-html="form.message" key="message"></div>\n\n <div v-if="form && form.success && form.successMessage" class="rich-form__success-message" v-html="form.successMessage" key="successMessage"></div>\n\n <form class="rich-form__form form flc" @submit.prevent="loadForm(\'submit\')" novalidate autocomplete="off" v-if="form && !(form.success && form.hideFormOnSuccess)" key="form">\n\n\n <transition name="content-fade" @enter="slideDown" @leave="slideUp">\n <div class="strong-form-note strong-form-note--error flc fcc" v-if="form.errors && form.errors.form" v-html="form.errors.form"></div>\n </transition>\n\n\n <div class="form__tab-labels tab-labels tab-labels--bg-gray flc" v-if="computedForm.tabs.length > 1 && tabsHaveTitles()">\n <div class="tab-labels__row">\n <div class="tab-labels__item" v-for="tab in computedForm.tabs" :key="tab.id">\n <button type="button" class="tab-labels__btn"\n :class="{\'open\': tab.id == activeTabId}"\n @click="activeTabId = tab.id;">{{tab.title}}</button>\n </div>\n </div>\n </div>\n\n <transition-group name="content-fade" @enter="slideDown" @leave="slideUp" tag="div" class="form__groups flc" :class="{\'form__groups--strange\': strangeAction}"\n v-for="tab in computedForm.tabs" v-if="tab.id == activeTabId" :key="tab.id">\n <div class="form__group flc" v-for="group, index in tab.groups" :key="\'key-\' + index" v-if="isGroupExtActive(group)">\n <h4 class="form__group-title flc" :class="{\'h3\': large}" v-if="group.title">{{group.title}}</h4>\n <div class="form__group-body">\n <div class="form__group-body-layout">\n \x3c!-- main column --\x3e\n <div class="form__group-body-main">\n <div class="form__row flc" :class="\'form__row--\' + field.type" :style="{width: field.width || \'\'}"\n v-if="field.type != \'hidden\' && !(isAsideRequired(group, index) && field.type == \'photo\') && (strangeAction ? (strangeAction && field.type != \'file\') : true)"\n v-for="field, fieldIndex in group.fields" :key="field.name || \'key-\' + fieldIndex">\n <div class="form__col">\n <v-field\n :extendable="field.extendable || false"\n :extend-limit="field.extendLimit || 5"\n :extend-text="field.extendText || \'ÐобавиÑÑ\'"\n :type="field.type"\n :options="field.options"\n :disabled="field.disabled"\n :disabled-dates="field.disabledDates"\n :label="field.label"\n :integrated-label="true"\n :error="getFieldError(group, field)"\n :note="field.note"\n :description="field.description"\n :mask="field.mask"\n :files="field.files"\n :simple="field.simple"\n v-model="field.value"\n :required="field.required"\n :maxRate="field.maxRate"\n :placeholder="field.placeholder"\n :drop="field.drop"\n :multipleFiles="field.multipleFiles"\n @fileinput="fileInput(field, $event)"\n @fileremove="fileRemove(field, $event)"\n @remove="valueRemove(field, $event)"\n @input
1="fieldChanged(field, $event)"\n ></v-field>\n <button v-if="altBtn" type="submit" class="rich-form__alt-btn arrow-link">\n {{form.altSubmitBtnText}}\n </button>\n </div>\n </div>\n </div>\n \x3c!-- aside column is for photo --\x3e\n <div class="form__group-body-aside" v-if="isAsideRequired(group, index)"\n :class="{\'form__group-body-aside--empty\': isAsideEmpty(group, index)}">\n <div v-for="field, fieldIndex in group.fields"\n v-if="field.type == \'photo\'"\n :key="field.name || \'key-\' + fieldIndex"\n class="form__row flc"\n :class="\'form__row--\' + field.type">\n <div class="form__col">\n <v-field\n :extendable="field.extendable || false"\n :extend-limit="field.extendLimit || 5"\n :extend-text="field.extendText || getMessage(\'ADD\')"\n :type="field.type"\n :options="field.options"\n :disabled="field.disabled"\n :disabled-dates="field.disabledDates"\n :label="field.label"\n :integrated-label="true"\n :error="getFieldError(group, field)"\n :note="field.note"\n :description="field.description"\n :mask="field.mask"\n :files="field.files"\n :simple="field.simple"\n v-model="field.value"\n :required="field.required"\n :maxRate="field.maxRate"\n :placeholder="field.placeholder"\n :drop="field.drop"\n :multipleFiles="field.multipleFiles"\n @fileinput="fileInput(field, $event)"\n @fileremove="fileRemove(field, $event)"\n @remove="valueRemove(field, $event)"\n @input="fieldChanged(field, $event)"\n ></v-field>\n </div>\n </div>\n </div>\n </div>\n <transition name="content-fade" @enter="slideDown" @leave="slideUp">\n <div class="form__group-add" v-if="group.extendGroupId">\n <span class="link" @click="removeFieldGroup(group)" tabindex="0">{{getMessage(\'DELETE\')}}</span>\n </div>\n </transition>\n </div>\n <div class="form__group-add-wrap" key="add">\n <transition name="content-fade" @enter="slideDown" @leave="slideUp">\n <div class="form__group-add" v-if="groupCanBeExtended(group)">\n <span class="link" @click="extendFieldGroup(group)" tabindex="0">+ {{getGroupToExtend(group).extendText || getMessage(\'ADD\')}}</span>\n </div>\n </transition>\n </div>\n </div>\n </transition-group>\n\n <div class="form__confirm flc" v-if="form.requireConfirm">\n <v-field type="checkbox" v-model="confirmed" :label="form.confirmText"></v-field>\n </div>\n\n <div class="form__note flc" v-if="$slots[\'before-action-note\']">\n <slot name="before-action-note"></slot>\n </div>\n\n <div class="form__action flc" v-if="$slots.action" ref="action-slot">\n <slot name="action"></slot>\n </div>\n <div class="form__action flc" :class="{\'form__action--strange\': strangeAction}" v-else-if="form.submitBtnText">\n <div class="form__action-grid">\n <div class="form__action-item"\n :class="{\'form__action-item--flex\': strangeAction}">\n\n <div v-if="strangeAction" class="form__action-strange-input">\n <div v-for="tab in computedForm.tabs" v-if="tab.id == activeTabId" :key="tab.id">\n <div v-for="(group, index) in tab.groups" :key="\'key-\' + index">\n <div v-for="(field, fieldIndex) in group.fields" :key="field.name || \'key-\' + fieldIndex">\n <div v-if="field.type === \'file\'">\n <v-field\n :extendable="field.extendable || false"\n :extend-limit="field.extendLimit || 5"\n :extend-text="field.extendText || getMessage(\'ADD\')"\n :type="field.type"\n :options="field.options"\n :disabled="field.disabled"\
1n :label="field.label"\n :integrated-label="true"\n :error="getFieldError(group, field)"\n :note="field.note"\n :files="field.files"\n :simple="field.simple"\n v-model="field.value"\n :required="field.required"\n :maxRate="field.maxRate"\n :placeholder="field.placeholder"\n :drop="field.drop"\n :multipleFiles="field.multipleFiles"\n @fileinput="fileInput(field, $event)"\n @fileremove="fileRemove(field, $event)"\n @remove="valueRemove(field, $event)"\n @input="fieldChanged(field, $event)"\n :reverse-order="true">\n </v-field>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <button type="submit" class="btn btn--primary" :disabled="form.requireConfirm && !confirmed">\n {{form.submitBtnText}}\n <svg class="btn__arrow-right btn__arrow-right--right svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n </button>\n </div>\n <div class="form__action-item" v-if="form.submitLinkText">\n <a class="arrow-link" @click="replaceForm(form.submitLink)">{{form.submitLinkText}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n </div>\n \x3c!-- hey name slots with dash! --\x3e\n <div class="form__action-item" v-if="$slots[\'actionButtons\']">\n <slot name="actionButtons"></slot>\n </div>\n <div class="form__action-item form__action-item--note" v-if="form.actionNote">\n <div class="form__action-note" v-html="form.actionNote"></div>\n </div>\n <div class="form__action-item form__action-item--note" v-if="$slots[\'action-note\']">\n <div class="form__action-note">\n <slot name="action-note"></slot>\n </div>\n </div>\n </div>\n </div>\n\n <div class="form__note flc" v-if="$slots[\'after-action-note\']">\n <slot name="after-action-note"></slot>\n </div>\n </form>\n\n </div>\n </div>\n <picture>\n <source v-if="form.img?.mobile" class="rich-form__image" :srcset="form.img.mobile" media="(max-width: 767px)">\n <img v-if="form.img?.desktop" class="rich-form__image" :src="form.img.desktop" alt=""/>\n </picture>\n </div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{loading:!1,loadingMinTimeout:null,activeTabId:null,activeExtGroupIds:[],form:{title:null,remote:null,groups:null,tabs:null,fields:null,success:null,errors:null,message:null,successMessage:null},localFormData:null,autosubmitTimeout:null,confirmed:void 0}},props:{staticDataSource:{default:null},remoteDataSource:{default:null},bxajaxid:{default:null},frame:{type:Boolean,default:!1},large:{type:Boolean,default:!1},standalone:{type:Boolean,default:!1},altBtn:{type:Boolean,default:!1},strangeAction:{type:Boolean,default:!1}},computed:{computedForm:function(){var i=this,e={tabs:[]};return _.each(this.form.tabs||[{id:null,title:null}],function(t){var a=_.clone(t);a.groups=[],_.each(i.form.groups||[{id:null,title:null}],function(e){var n;t.id&&e.tabId!==t.id||((n=_.clone(e)).fields=[],_.each(i.form.fields,function(t){e.id&&t.groupId!==e.id||n.fields.push(t)}),a.groups.push(n))}),e.tabs.push(a)}),e}},watch:{confirmed:function(){this.checkConfirm()}},methods:{slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)},checkConfirm:function(){this.$refs["action-slot"]&&$(this.$refs["action-slot"]).find("button").prop("disabled",!this.confirmed)},tabsHaveTitles:function(){for(var t=0;t<this.form.tabs.length;t++)if(this.form.tabs[t].title)return!0;return!1},getFieldError:function(t,e){return this.form.errors&&this.form.errors.fields&&(e=_.filter(this.form.errors.fields,{name:e.name})).length?e:null},fieldChanged:function(t){var e=this;t.autosubmit&&(clearTimeout(this.autosubmitTimeout),"text"===t.type||"email"===t.type||"tel"===t.type||"password"===t.type||"number"===t.type?this.autosubmitTimeout=setTimeout(function(){e.loadForm("autosubmit")},2e3):this.loadForm("autosubmit"))},fileInput:function(t,e){for(var n=0;n<e.target.files.length;n++)this.localFormData.append(this.proxyFieldName(t.name)+"["+e.key+"]",e.target.files[n].path||e.target.files[n]);var a=!0,i=!1,s=void 0;try{for(var l,o=this.localFormData.entries()[Symbol.iterator]();!(a=(l=o.next()).done);a=!0){var c=l.value,r=_slicedToArray(c,2);r[0],r[1]}}catch(t){i=!0,s=t}finally{try{!a&&o.return&&o.return()}finally{if(i)throw s}}t.autosubmit&&!e.nosubmit&&this.loadForm("autosubmit")},fileRemove:function(t,e){this.localFormData.set(this.proxyFieldName(t.name)+"["+e.key+"]",null);var n=!0,a=!1,i=void 0;try{for(var s,l=this.localFormData.entries()[Symbol.iterator]();!(n=(s=l.next()).done);
1n=!0){var o=s.value,c=_slicedToArray(o,2);c[0],c[1]}}catch(t){a=!0,i=t}finally{try{!n&&l.return&&l.return()}finally{if(a)throw i}}t.autosubmit&&!e.nosubmit&&this.loadForm("autosubmit")},valueRemove:function(t,e){this.form.errors&&this.form.errors.fields&&0<=(t=_.findIndex(this.form.errors.fields,{name:t.name,index:e}))&&this.form.errors.fields.splice(t,1)},formSwitched:function(){this.loadForm("load")},replaceForm:function(t){t&&(this.form.remote=t,this.loadForm("load"))},isAsideRequired:function(t,n){return!!_.find((_.find(this.computedForm.tabs,{id:this.activeTabId})||{}).groups,function(t,e){return!(n<e)&&!!_.find(t.fields,{type:"photo"})&&1<t.fields.length})},isAsideEmpty:function(t){return!_.find(t.fields,{type:"photo"})},isGroupExtActive:function(t){return!!t&&(!t.extendGroupId||0<=this.activeExtGroupIds.indexOf(t.id))},getGroupToExtend:function(t){return _.find(this.form.groups,{extendGroupId:t.id})},groupCanBeExtended:function(t){var e=this,t=_.filter(this.form.groups,{extendGroupId:t.id});return _.any(t,function(t){return!e.isGroupExtActive(t)})},extendFieldGroup:function(t){t=_.find(this.form.groups,{extendGroupId:t.id});t&&this.activeExtGroupIds.push(t.id),this.$forceUpdate()},removeFieldGroup:function(e){this.activeExtGroupIds.splice(this.activeExtGroupIds.indexOf(e.id),1),_.each(this.form.fields,function(t){t.groupId==e.id&&t.value&&(t.value=null)})},proxyFieldName:function(t){return"state[form]["+t+"]"},loadForm:function(t,e){function n(){if(l){if(s.form=l.form,s.form.success&&s.form.redirect)return window.location.href=s.form.redirect;if(s.form.success&&s.form.reload)return window.location.reload();s.form.success&&s.form.emit_event&&Model.$emit(s.form.emit_event,l),!s.form.tabs||s.activeTabId&&_.find(s.form.tabs,{id:s.activeTabId})||(s.activeTabId=s.form.tabs?s.form.tabs[0].id:null),Vue.nextTick(function(){var t,e,n=$(window).scrollTop(),a=$(s.$el.parentNode);s.form.errors&&s.form.errors.fields&&s.form.errors.fields.length?(e=a.find(".form-error")).length&&(a.closest(".modal").length?(t=e.position().top,$(".modal__surface").animate({scrollTop:t-30},400)):((t=e.offset().top)+30<n||t+30>n+window.innerHeight)&&$("html, body").animate({scrollTop:t-30},400)):a.offset().top<n&&(e=a.closest(".modal").length?90:30,$("html, body").animate({scrollTop:a.offset().top-e},400)),s.$emit("submit",l)})}s.loadingMinTimeout=null,s.loading=!1,s.$emit("loaded"),s.checkConfirm()}var a,i=this,s=this,l=null,o=!1,t=t||"submit";s.loading||("submit"==t&&s.form.requireConfirm&&!s.confirmed?console.log("v-rich-form: attempt to submit not confirmed form prevented"):(s.loading=!0,e||(s.loadingMinTimeout=setTimeout(function(){o&&n(),s.loadingMinTimeout=null},300)),clearTimeout(s.autosubmitTimeout),a=[],s.form&&s.form.fields&&_.each(s.form.fields,function(t){var e=i.proxyFieldName(t.name);t.extendable&&(e=i.proxyFieldName(t.name.replace("[]",""))+"[]"),a.indexOf(e)<0&&(s.localFormData.delete(e),a.push(e)),t.value||(t.value=""),s.isGroupExtActive(_.find(s.form.groups,{id:t.groupId}))&&"file"!==t.type&&"photo"!==t.type&&"photo-alt"!==t.type&&_.each(t.extendable?t.value:[t.value],function(t){s.localFormData.append(e,t)})}),s.localFormData.set("state[action]",t||"submit"),s.localFormData.set("bxajaxid",s.bxajaxid),$.ajax({url:s.form.remote,method:"post",dataType:"json",data:s.localFormData,processData:!1,contentType:!1}).done(function(t){console.log("v-rich-form loaded",t);var e=new URLSearchParams(s.form.remote).has("api-mode");l=e?t.data:t}).fail(function(t){console.warn("v-rich-form load failed",t)}).always(function(){o=!0,s.loadingMinTimeout&&!e||n()})))}},created:function(){var t=this;t.localFormData=new FormData,t.staticDataSource?(t.form=t.staticDataSource.form,t.form.activeTabId&&(t.activeTabId=t.form.activeTabId),!t.form.tabs||t.activeTabId&&_.find(t.form.tabs,{id:t.activeTabId})||(t.activeTabId=t.form.tabs?t.form.tabs[0].id:null),t.$emit("loaded")):t.remoteDataSource&&(t.form.remote=t.remoteDataSource,t.loadForm("load",!0)),this.checkConfirm()}}),function(){var u=Math.max;Vue.component("v-schedule-input",{template:'\n\t<div class="v-schedule-input schedule-input flc">\n\n\t\t<div class="schedule-input__row flc" v-if="localValue" v-for="group, index in localValue" :key="index">\n\t\t\t<div class="schedule-input__grid">\n\t\t\t\t<div class="schedule-input__col schedule-input__col--check">\n\t\t\t\t\t<v-field type="checkbox" :label="group.title" :disabled="disabled" v-model="group.active" \n\t\t\t\t\t\t\t@input="emitInput"></v-field>\n\t\t\t\t</div>\n\t\t\t\t<div class="schedule-input__col schedule-input__col--time">\n\t\t\t\t\t<v-field type="text" label="Ñ" integrated-label :mask="timeMask" :disabled="disabled || !group.active" v-model="group.start" \n\t\t\t\t\t\t\t@input="emitInput" @focus="$emit(\'focus\')" @blur="formatValues(); $emit(\'blur\')"></v-field>\n\t\t\t\t</div>\n\t\t\t\t<div class="schedule-input__col schedule-input__col--time">\n\t\t\t\t\t<v-field type="text" label="по" integrated-label :mask="timeMask" :disabled="disabled || !group.active" v-model="group.end" \n\t\t\t\t\t\t\t@input="emitInput" @focus="$emit(\'focus\')" @blur="formatValues(); $emit(\'blur\')"></v-field>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',data:function(){return{localValue:null,timeMask:{clearMaskOnLostFocus:!0,mask:"99:99",placeholder:"__:__",showMaskOnHover:!1}}},props:{value:{default:null},disabled:{type:Boolean,default:!1}},watch:{value:function(){this.initLocalValueFromValue()}},methods:{slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)},emitInput:function(){this.$emit("input",JSON.stringify(this.localValue))},formatValues:function(){_.each(this.localValue,function(t){function e(t){t=t.toString();return t=t.length<2?"0"+t:t}var n,a,i,s,l,o,c=Math.min,r=(t.start&&t.start.replace("_","0"),t.end&&t.end.replace("_","0"),t.start?t.start.split(":"):[]),d=t.end?t.end.split(":"):[];2==r.length&&(n=u(0,c(23,parseInt(r[0]))),a=u(0,c(59,parseInt(r[1]))),i=e(n)+":"+e(a),t.start=i),2==d.length&&(s=u(0,c(23,parseInt(d[0]))),l=u(0,c(59,parseInt(d[1]))),o=e(s)+":"+e(l),t.end=o),2==r.length&&2==d.length&&(s<n||n==s&&l<a)&&(t.start=o,t.end=i)})},initLocalValueFromValue:function(){var n=this;if(this.localValue=[{day:"1",title:"ÐонеделÑник",start:null,end:null,active:!1},{day:"2",title:"ÐÑоÑник",start:null,end:null,active:!1},{day:"3",title:"СÑеда",start:null,end:null,active:!1},{day:"4",title:"ЧеÑвеÑг",start:null,end:null,active:!1},{day:"5",title:"ÐÑÑниÑа",start:null,end:null,active:!1},{day:"6",title:"СÑббоÑа",start:null,end:null,active:!1},{day:"7",title:"ÐоÑкÑеÑенÑе",start:null,end:null,active:!1}],this.value){if("string"==typeof this.value)try{this.localValue=JSON.parse(this.value)}catch(t){return}_.each(this.localValue,function(t){var e=_.find(n.value,{day:t.day}
1);e&&(t.start=e.start,t.end=e.end,t.active=e.active)})}}},created:function(){this.initLocalValueFromValue()}})}(),Vue.component("v-search-menu",{template:'\n\t<div class="v-search-menu search-menu">\n\t\t<div class="search-menu-form flc js-search-menu-form" :class="{\'search-menu-form--empty\': !localQuery}">\n\t\t\t<div class="search-menu-form__row" itemscope itemtype="https://schema.org/WebSite">\n\t\t\t\t<meta itemprop="url" content="https://atlant.by/"/>\n\t\t\t\t<div class="search-menu-form__cell-input" itemprop="potentialAction" itemscope itemtype="https://schema.org/SearchAction">\n\t\t\t\t\t<meta itemprop="target" :content="staticDataSource.search.remote + \'?query={search}\'"/>\n\t\t\t\t\t<v-field type="search" v-model="localQuery" :placeholder="getMessage(\'ENTER_SEARCH_QUERY\')" name="search"\n\t\t\t\t\t\t\t @input="searchInput" white></v-field>\n\t\t\t\t</div>\n\t\t\t\t<div class="search-menu-form__cell-close">\n\t\t\t\t\t<button class="search-menu-form__close js-ph-menu__close" @click="close" aria-label="ÐакÑÑÑÑ">\n\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-close"></use></svg>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="search-menu__result search-dd" v-if="search && localQuery">\n\t\t\t<div class="container">\n\t\t\t\t<div class="search-dd__layout">\n\t\t\t\t\t<div class="search-dd__aside" v-if="loading || lastQuery != localQuery">\n\t\t\t\t\t\t<div class="search-dd__note flc">{{getMessage(\'LOADING\')}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<div class="search-dd__aside">\n\t\t\t\t\t\t\t<div class="search-dd__note flc" v-if="!search.suggestions || !search.suggestions.length">{{getMessage(\'EMPTY_SEARCH_RESULT_VARIANT\')}}</div>\n\t\t\t\t\t\t\t<div class="search-dd__suggestions flc" v-if="search.suggestions && search.suggestions.length">\n\t\t\t\t\t\t\t\t<a :href="suggestion.link" class="search-dd__suggestion"\n\t\t\t\t\t\t\t\t\t\tv-for="suggestion in search.suggestions" :key="suggestion.text"\n\t\t\t\t\t\t\t\t\t\tv-html="highlightQueryInText(suggestion.text)"></a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="search-dd__categories flc" v-if="categoriesPresent()">\n\t\t\t\t\t\t\t\t<div class="search-dd__category" v-for="category in search.categories" :class="{\'disabled\': !category.count}" v-if="category.type != \'products\'">\n\t\t\t\t\t\t\t\t\t<a :href="category.count ? category.link : null" class="arrow-link">{{category.text}}<template v-if="category.count"> ({{category.count}})</template><span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="search-dd__main" v-if="search.items && search.items.length || search.suggestions && search.suggestions.length">\n\t\t\t\t\t\t\t<template v-if="search.items && search.items.length">\n\t\t\t\t\t\t\t\t<div class="search-dd__list flc">\n\t\t\t\t\t\t\t\t\t<div class="search-dd__li" v-for="product in search.items">\n\t\t\t\t\t\t\t\t\t\t<v-product template="simple-list" :product="product"></v-product>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="search-dd__action flc">\n\t\t\t\t\t\t\t\t\t<div class="search-dd__action-btn" v-if="productsLink">\n\t\t\t\t\t\t\t\t\t\t<a :href="productsLink" class="btn btn--primary">\n\t\t\t\t\t\t\t\t\t\t\t{{getMessage(\'LOOK_ALL\')}}\n\t\t\t\t\t\t\t\t\t\t\t<svg class="btn__arrow-right btn__arrow-right--right svg-icon"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="search-dd__action-note">{{getMessage(\'FOUNDED\')}} {{productsCount}}</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t<div class="search-dd__note flc">{{getMessage(\'EMPTY_SEARCH_RESULT_PRODUCT\')}}</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{loading:!1,loadingMinTimeout:null,localQuery:null,lastQuery:null,
1searchTimeout:null,touchMode:View.mobileAndTabletCheck,search:{query:null,sugestions:null,categories:null}}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null}},computed:{productsCount:function(){var t;return this.search&&this.search.categories&&(t=_.find(this.search.categories,{type:"products"}))?t.count:0},productsLink:function(){var t;return this.search&&this.search.categories&&(t=_.find(this.search.categories,{type:"products"}))?t.link:null}},methods:{categoriesPresent:function(){return!(!this.search.categories||!this.search.categories.length||!_.find(this.search.categories,{type:"articles"}))},load:function(){var t=this,e=null;t.loading||(t.loading=!0,t.lastQuery=t.localQuery,$.ajax({url:t.search.remote,dataType:"json",method:"post",data:{bxajaxid:t.bxajaxid,query:t.localQuery}}).done(function(t){console.log("v-search-menu loaded",t),e=t}).fail(function(t){console.warn("v-search-menu load failed",t)}).always(function(){!e||e.search.query!=t.lastQuery&&0!=location.pathname.indexOf("/local/dist/markup/")||(t.search=e.search),t.loadingMinTimeout=null,t.loading=!1}))},close:function(){this.localQuery=null,View.control.closeHeaderMenu(),View.control.toggleMobileMenu("search"),this.search.suggestions=null,this.search.categories=null,this.lastQuery=null},searchInput:function(){clearTimeout(this.searchTimeout),this.localQuery?this.searchTimeout=setTimeout(this.load,1500):(this.search.products=0,this.search.suggestions=null,this.search.categories=null,this.lastQuery=null)},highlightQueryInText:function(e){try{return e.replace(new RegExp(this.localQuery,"i"),'<b class="in-text-highlight">$&</b>')}catch(t){return e}}},created:function(){this.remoteDataSource&&(this.search.remote=this.remoteDataSource)}}),Vue.component("v-search-product",{template:'\n\t<div class="v-search-product search-product">\n\t\t<div class="search-box">\n\t\t\t<div class="search-box__input">\n\t\t\t\t<v-field type="select" :options="options" searchable options-as-links :placeholder="placeholder" white></v-field>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',data:function(){return{catalog:{remote:null,items:null,loading:!1,loadingMinTimeout:null}}},props:{options:{default:null},placeholder:{default:null}},methods:{loadCatalog:function(t,e){function n(){var t;i&&(t=a.catalog.items,a.catalog=i.catalog,e)&&(a.catalog.items=t.concat(a.catalog.items)),a.loadingMinTimeout=null,a.loading=!1}var a=this,i=null,s=!1;a.loading||(a.loading=!0,t||(a.loadingMinTimeout=setTimeout(function(){s&&n(),a.loadingMinTimeout=null},300)),$.ajax({url:a.catalog.remote,method:"localhost"==window.location.hostname?"get":"post",dataType:"json",data:{bxajaxid:a.bxajaxid}}).done(function(t){console.log("v-accordion loaded",t),i=t}).fail(function(t){console.warn("v-accordion load failed",t)}).always(function(){s=!0,a.loadingMinTimeout&&!t||n()}))},slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)}},created:function(){var t=this;t.staticDataSource?t.catalog=t.staticDataSource.catalog:t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.loadCatalog(!0))}}),Vue.component("v-search-service",{template:'\n\t<div class="v-search-service search-service">\n\t\t<form class="search-service__form" @submit.prevent="relocate">\n\t\t\t<div class="search-service__row" \n\t\t\t\t\t :class="{\'search-service__row--focus\': searchInputFocus}">\n\t\t\t\t<div class="search-service__select-input search-service__select-input--select">\n\t\t\t\t\t<v-field type="select"\n\t\t\t\t\t\t\t\t\t label="ÐоиÑк"\n\t\t\t\t\t\t\t\t\t :integrated-label="true"\n\t\t\t\t\t\t\t\t\t :options="field ? field.options : options"\n\t\t\t\t\t\t\t\t\t :disabled="false"\n\t\t\t\t\t :value="field ? field.value : value"\n\t\t\t\t\t\t\t\t\t v-model="localQuerySelect"\n\t\t\t\t\t\t\t\t\t @input="changeSearchType">\n\t\t\t\t\t</v-field>\n\t\t\t\t</div>\n\t\t\t\t<div class="search-service__search-input">\n\t\t\t\t\t<v-field type="search"\n\t\t\t\t\t\t\t\t\t v-model="localQuery"\n\t\t\t\t\t\t\t\t\t :search-btn="true"\n\t\t\t\t\t\t\t\t\t :placeholder="field ? field.placeholder : placeholder"\n\t\t\t\t\t\t\t\t\t @input="searchInput" \n\t\t\t\t\t\t\t\t\t @focus="searchInputFocus = true" \n\t\t\t\t\t\t\t\t\t @blur="searchInputFocus = false">\n\t\t\t\t\t</v-field>\n\t\t\t\t\t<div class="text-input-label__search-btn">\n\t\t\t\t\t\t<svg class="text-input-label__icon svg-icon">\n\t\t\t\t\t\t\t<use xlink:href="#svg-icon-search"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t\t<button v-if="search && localQuery" \n\t\t\t\t\t\t\t\t\t@click="close" \n\t\t\t\t\t\t\t\t\tclass="text-input-label__search-btn" \n\t\t\t\t\t\t\t\t\ttype="button">\n\t\t\t\t\t\t<svg class="text-input-label__icon text-input-label__icon--small svg-icon">\n\t\t\t\t\t\t\t<use xlink:href="#svg-icon-search-close"></use>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</form>\n\t\t<div class="search-service__result" v-if="search && localQuery && localQuery.length > 2">\n\t\t\t<div v-if="loading || lastQuery != localQuery" class="search-service__content">\n\t\t\t\t<div class="search-service__note flc">{{getMessage(\'LOADING\')}}</div>\n\t\t\t</div>\n\t\t\t<template v-else>\n\t\t\t\t<div class="search-service__content">\n\t\t\t\t\t<div v-if="search.items" class="search-service__list">\n\t\t\t\t\t\t<div v-for="product in search.items" class="search-service__list-item">\n\t\t\t\t\t\t\t<template v-if="searchType === \'sku\' || searchType === \'name\'">\n\t\t\t\t\t\t\t\t<v-product :view="searchType === \'sku\' ? \'search-sku\' : \'search-name\'"\n\t\t\t\t\t\t\t\t template="detail"\n\t\t\t\t\t\t\t\t class="product--small-detail flc"\n\t\t\t\t\t\t\t\t :product="product"\n\t\t\t\t\t\t\t\t :local-query="localQuery">\n\t\t\t\t\t\t\t\t</v-product>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template v-else-if="searchType === \'model\' || searchType === \'assemblyunit\'">\n\t\t\t\t\t\t\t\t<v-product template="search-model"\n\t\t\t\t\t\t\t\t :product="product"\n\t\t\t\t\t\t\t\t :local-query="localQuery">\n\t\t\t\t\t\t\t\t</v-product>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if="search.items" class="search-service__action">\n\t\t\t\t\t\t<a :href="search.link" class="btn btn--primary">\n\t\t\t\t\t\t\tСмоÑÑеÑÑ Ð²Ñе<svg class="btn__arrow-right btn__arrow-right--right svg-icon">\n\t\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<div class="search-service__items-total">\n\t\t\t\t\t\t\t{{getMessage(\'FOUNDED\')}} {{search.itemsTotal}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n <div key="not-found" v-if="!search.items" class="catalog__not-found-message">{{getMessage(\'EMPTY_SEARCH_RESULT\')}}</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{loading:!1,loadingMinTimeout:null,localQuery:null,localQuerySelect:null,lastQuery:null,
1searchTimeout:null,touchMode:View.mobileAndTabletCheck,search:{query:null,itemsTotal:null},field:null,searchType:null,searchInputFocus:!1}},props:{value:{default:null},placeholder:{default:""},options:{default:[]},remoteDataSource:{default:null},staticDataSource:{default:null},bxajaxid:{default:null}},watch:{value:function(){this.localQuerySelect=this.value},field:function(){this.localQuerySelect=this.field.value}},computed:{productsCount:function(){var t;return this.search&&this.search.categories&&(t=_.find(this.search.categories,{type:"products"}))?t.count:0},productsLink:function(){var t;return this.search&&this.search.categories&&(t=_.find(this.search.categories,{type:"products"}))?t.link:null}},methods:{relocate:function(){this.search.link&&(window.location=this.search.link)},changeSearchType:function(){this.searchInput()},categoriesPresent:function(){return!(!this.search.categories||!this.search.categories.length||!_.find(this.search.categories,{type:"articles"}))},load:function(t){var e=this,n=null;e.loading||(e.loading=!0,e.lastQuery=e.localQuery,$.ajax({url:e.search.remote,dataType:"json",method:"post",data:{bxajaxid:e.bxajaxid,action:t,query:e.localQuery,type:e.localQuerySelect}}).done(function(t){console.log("v-search-service loaded",t),n=t}).fail(function(t){console.warn("v-search-service load failed",t)}).always(function(){!n||n.search.query!=e.lastQuery&&0!=location.pathname.indexOf("/local/dist/markup/")||(e.search=n.search,e.field=e.search.field,e.searchType=e.search.type),e.loadingMinTimeout=null,e.loading=!1}))},close:function(){this.localQuery=null,View.control.closeHeaderMenu(),this.lastQuery=null},searchInput:function(){clearTimeout(this.searchTimeout),this.localQuery?this.searchTimeout=setTimeout(this.load,1500):(this.search.products=0,this.lastQuery=null)},highlightQueryInText:function(e){try{return e.replace(new RegExp(this.localQuery,"i"),'<b class="in-text-highlight">$&</b>')}catch(t){return e}}},created:function(){this.remoteDataSource&&(this.search.remote=this.remoteDataSource),this.value&&(this.localQuerySelect=this.value)}}),Vue.component("v-search",{template:'\n\t<div class="v-search catalog catalog--search">\n\t\t\n\t\t<h1 class="h1--small page-title flc">{{getMessage(\'SEARCH_RESULT\')}} <template v-if="catalog.query">«{{catalog.query}}»</template></h1>\n\n\t\t<div v-if="mode === \'regular\'" class="catalog__search">\n\t\t\t<div class="catalog__search-row">\n\t\t\t\t<div class="catalog__search-main">\n\t\t\t\t\t<form class="search-box" @submit.prevent="querySubmit">\n\t\t\t\t\t\t<div class="search-box__input">\n\t\t\t\t\t\t\t<v-field type="search" v-model="state.query" @input="queryInput" :suggestions="state.query == catalog.query ? catalog.suggestions : null"></v-field>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<button type="submit" class="search-box__btn">\n\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-search"></use></svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t<div class="catalog__search-aside" v-if="catalog.searchNote">\n\t\t\t\t\t\t<div class="catalog__search-aside-note" v-html="catalog.searchNote"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="catalog__categories" v-if="catalog.categories && catalog.categories.length > 1">\n\t\t\t<div class="tab-labels">\n\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t\t\t</transition>\n\t\t\t\t<div class="tab-labels__row">\n\t\t\t\t\t<div class="tab-labels__item" v-for="category in catalog.categories">\n\t\t\t\t\t\t<button type="button" class="tab-labels__btn" :class="{\'open\': category.id == catalog.activeCategoryId}" \n\t\t\t\t\t\t\t\t@click="changeTab" @click="state.activeCategoryId = category.id; stateChanged();">{{category.text}} ({{category.count || 0}})</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<template v-if="mode === \'simple\'">\n\t\t\t<div class="catalog__products flc">\n\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t\t\t</transition>
1\n\t\t\t\t<div v-if="catalog.items && catalog.items.length"\n\t\t\t\t\t\t class="catalog__detail-list">\n\t\t\t\t\t<div v-for="(item, index) in catalog.items"\n\t\t\t\t\t\t\t class="catalog__detail-item">\n\t\t\t\t\t\t<v-product template="search-detail" :product="item" :local-query="catalog.query"></v-product>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n <template v-else>\n <div class="models-grid">\n <div class="models-grid__message">{{getMessage(\'NO_MODELS\')}}</div>\n </div>\n </template>\n\t\t\t</div>\n\t\t</template>\n\t\t\n\t\t<template v-else-if="mode === \'model-list\'">\n\t\t\t<div class="catalog__model-list">\n\t\t\t\t<v-catalog-line :view="mode"\n\t\t\t\t :static-data-source=\'{"catalog": catalog}\'\n\t\t\t\t bxajaxid="1С-ÐиÑÑикÑ"\n\t\t\t\t show-counters \n\t\t\t\t :local-query="catalog.query">\n\t\t\t\t</v-catalog-line>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else-if="mode === \'model-units\'">\n\t\t\t<div class="catalog__model-list">\n\t\t\t\t<v-catalog-line :view="mode"\n\t\t\t\t :static-data-source=\'{"catalog": catalog}\'\n\t\t\t\t bxajaxid="1С-ÐиÑÑикÑ"\n\t\t\t\t show-counters\n\t\t\t\t :local-query="catalog.query">\n\t\t\t\t</v-catalog-line>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<template v-else>\n\t\t\t<div class="catalog__products flc">\n\t\t\t\t<transition name="content-fade">\n\t\t\t\t\t<div class="loader-cover" v-if="loading"></div>\n\t\t\t\t</transition>\n\n\t\t\t\t<transition name="content-fade" mode="out-in">\n\t\t\t\t\t<div key="not-found" v-if="!catalog.items || !catalog.items.length" class="catalog__not-found-message">{{getMessage(\'EMPTY_SEARCH_RESULT\')}}</div>\n\t\t\t\t\t<v-product-grid key="products" v-else-if="activeCategory && activeCategory.type == \'products\' && !loading" :items="catalog.items" :bxajaxid="bxajaxid"></v-product-grid>\n\t\t\t\t\t<div key="support" v-else-if="activeCategory && activeCategory.type == \'support\' && !loading">\n\t\t\t\t\t\t<div class="support-list">\n\t\t\t\t\t\t\t<div class="support-list__item" v-for="item in catalog.items" :key="item.id">\n\t\t\t\t\t\t\t\t<div class="support-li">\n\t\t\t\t\t\t\t\t\t<a :href="item.link" class="support-li__link"></a>\n\t\t\t\t\t\t\t\t\t<div class="support-li__cell-image">\n\t\t\t\t\t\t\t\t\t\t<div class="support-li__img-box">\n\t\t\t\t\t\t\t\t\t\t\t<img :src="item.image" alt="" v-if="item.image">\n\t\t\t\t\t\t\t\t\t\t\t<div class="support-li__img-box-no-photo" v-else>\n\t\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-no-photo"></use></svg>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="support-li__cell-main">\n\t\t\t\t\t\t\t\t\t\t<div class="support-li__meta flc" v-if="item.sku || item.series">\n\t\t\t\t\t\t\t\t\t\t\t{{item.sku}} <template v-if="item.sku && item.series"> / </template> <template v-if="item.series">{{getMessage(\'SERIES\')}} {{item.series}}</template>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<h4 class="support-li__title flc" v-if="item.name" v-html="highlightQueryInText(item.name)"></h4>\n\t\t\t\t\t\t\t\t\t\t<div class="support-li__content flc" v-if="item.text" v-html="highlightQueryInText(item.text)"></div>\n\t\t\t\t\t\t\t\t\t\t<div class="support-li__content-links flc" v-if="item.links && item.links.length">\n\t\t\t\t\t\t\t\t\t\t\t<a :href="link.link" class="support-li__content-link flc" v-for="link in item.links">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="support-li__content-link-icon">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon"><use :xlink:href="link.icon"></use></svg>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="support-li__content-link-text" v-html="highlightQueryInText(link.text)"></div>\n\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div key="articles" v-else-if="activeCategory && !loading">\n\t\t\t\t\t\t<div class="simple-article-list flc">\n\t\t\t\t\t\t\t<div class="simple-article-list__item" v-for="item in catalog.items">\n\t\t\t\t\t\t\t\t<div class="simple-article-li flc">\n\t\t\t\t\t\t\t\t\t<div class="simple-article-li__nav flc" v-if="item.navChain && item.navChain.length">\n\t\t\t\t\t\t\t\t\t\t<div class="breadcrumbs-list">\n\t\t\t\t\t\t\t\t\t\t\t<div class="breadcrumbs-list__grid">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class="breadcrumbs-list__item" v-for="crumb in item.navChain">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a :href="crumb.link" class="breadcrumbs-list__link">{{crumb.text}}</a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<svg class="svg-icon breadcrumbs-list__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<a :href="item.link" class="simple-article-li__body flc">\n\t\t\t\t\t\t\t\t\t\t<h4 class="simple-article-li__title flc" v-if="item.title" v-html="highlightQueryInText(item.title)"></h4>\n\t\t\t\t\t\t\t\t\t\t<div class="simple-article-li__content flc" v-if="item.title" v-html="highlightQueryInText(item.text)"></div>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<transition name="content-fade">\n\t\t\t<v-page-nav class="catalog__navigation"\n\t\t\t\t:static-data-source="catalog.pages" \n\t\t\t\t@navigate="navigateByPage"\n\t\t\t\tv-if="(mode === \'regular\' || mode === \'simple\' || mode === \'model-list\') && catalog.pages && parseInt(catalog.pages.count) && parseInt(catalog.pages.count) > parseInt(catalog.pages.limit)"></v-page-nav>\n\t\t</transition>\n\n\t\t<div class="catalog__recently-viewed flc" v-if="$slots[\'recently-viewed\']">\n\t\t\t<slot name="recently-viewed"></slot>\n\t\t</div>\n\n\t\t<div class="catalog__note flc" v-if="$slots[\'note\']">\n\t\t\t<div class="catalog__note-container">\n\t\t\t\t<slot name="note"></slot>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy,vueMixins.formatting],data:function(){return{catalog:{items:null,remote:null,itemsTotal:null,itemsCount:null,query:null,filters:null,pages:{offset:null,limit:null,count:null}},state:{query:null,activeCategoryId:void 0,pages:{offset:null,limit:null}},loading:!1,loadingMinTimeout:null,initialized:!1,filterIsChanged:!1,changedFilters:null,filterDebounceTimeout:null}},props:{remoteDataSource:{default:null},staticDataSource:{default:null},mode:{default:"regular"},bxajaxid:{default:null}},computed:{activeCategory:function(){return this.catalog&&this.catalog.categories?_.find(this.catalog.categories,{id:this.state.activeCategoryId}):null}},methods:{changeTab:function(){this.state.offset=0},navigateByLink:function(t){this.catalog.remote=t.href,this.state.filter=null,this.loadCatalog(!1,!1,!0)},navigateByPage:function(t){this.state.offset=t.offset,this.state.limit=t.limit,this.loadCatalog()},loadCatalog:function(t,e,n){function a(){if(l){var t=s.catalog.items;s.catalog=l.catalog,e&&(s.catalog.items=t.concat(s.catalog.items)),e||s.pushState();try{s.state.query=l.catalog.query,s.state.pages=l.catalog.pages}catch(t){console.warn("v-search: something wrong with state\n",t)}s.catalog.activeCategoryId?s.state.activeCategoryId=s.catalog.activeCategoryId:s.state.activeCategoryId&&s.activeCategory||(s.state.activeCategoryId=s.catalog.categories&&s.catalog.categories[0]?s.catalog.categories[0].id:null)}s.loadingMinTimeout=null,s.loading=!1,s.$forceUpdate()}var i,s=this,l=null,o=!1;s.loading||(s.loading=!0,t||(s.loadingMinTimeout=setTimeout(function(){o&&a(),s.loadingMinTimeout=null},300)),(i=_.clone(s.state)).filter||(i.filter=null),$.ajax({url:s.catalog.remote,method:"localhost"==window.location.hostname||n?"get":"post",dataType:"json",data:{state:i,loadByLink:n,bxajaxid:s.bxajaxid}}).done(function(t){console.log("v-search loaded",t),l=t}).fail(function(t){console.warn("v-search load failed",t)}).always(function(){o=!0,s.loadingMinTimeout&&!t||a()}))}
1,loadMore:function(){this.state.pages.offset=parseInt(this.catalog.pages.offset)+parseInt(this.catalog.pages.limit),this.loadCatalog(!1,!0)},queryInput:function(){var t=this;clearTimeout(t.filterDebounceTimeout),t.filterDebounceTimeout=setTimeout(function(){t.stateChanged()},1500)},querySubmit:function(){this.stateChanged()},stateChanged:function(){clearTimeout(this.filterDebounceTimeout),this.loadCatalog()},resetFilter:function(t){void 0===t?this.$refs.filter.$emit("reset"):this.$refs.filter.$emit("reset",t.id,t.value)},handlePopState:function(t){t.state&&"v-search"==t.state.component&&(console.log("v-search: pop state",t.state),this.state=t.state.state,this.catalog=t.state.catalog)},pushState:function(){"localhost"!=window.location.hostname&&window.history.pushState({component:"v-search",state:this.state,catalog:this.catalog},"",this.catalog.remote)},highlightQueryInText:function(e){try{return e.replace(new RegExp(this.state.query,"i"),'<b class="in-text-highlight">$&</b>')}catch(t){return e}}},created:function(){var t=this;if(t.staticDataSource){t.catalog=t.staticDataSource.catalog,t.catalog.activeCategoryId?t.state.activeCategoryId=t.catalog.activeCategoryId:t.catalog&&t.catalog.categories&&(t.state.activeCategoryId=t.catalog.categories[0].id),t.staticDataSource.pages&&(t.state.pages.limit=parseInt(t.staticDataSource.pages.limit));try{t.state.query=t.staticDataSource.catalog.query,t.state.pages=t.staticDataSource.catalog.pages}catch(t){console.warn("v-search: something wrong with initial sort value\n",t)}console.log("v-search loaded from static data",t.catalog),t.$forceUpdate()}else t.remoteDataSource&&(t.catalog.remote=t.remoteDataSource,t.filterPreset&&(this.filterIsChanged=!0,this.state.filter=_.map(t.filterPreset,function(t){return{id:t.id,value:t.value,type:t.type}})),t.loadCatalog(!0));window.addEventListener("popstate",t.handlePopState),t.staticDataSource&&t.pushState(),Vue.nextTick(function(){t.initialized=!0})},destroyed:function(){window.removeEventListener("popstate",this.handlePopState)}}),Vue.component("v-service-center",{template:'\n\t<article class="v-service-center service-center">\n\t\t<div class="service-center__info-block">\n\t\t\t<div class="service-center__text-wrap">\n\t\t\t\t<div class="service-center__marks">\n\t\t\t\t\t<div class="service-center__mark flc">\n\t\t\t\t\t\t<span class="service-center__mark-name service-center__mark-name--rating">\n\t\t\t\t\t\t\tРейÑинг\n\t\t\t\t\t\t\t<span class="inline-tooltip-wrap" aria-label="ÐодÑказка"> <span class="inline-tooltip dropdown-owner js-dropdown"><span class="inline-tooltip__btn js-dropdown__btn"></span> <span class="inline-tooltip__body dropdown js-dropdown__body js-tooltip-position" style="left: -26.1719px;">\n\t\t\t\t\t\t\t\t\t\tLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\t\t\t\t\t\t\t\t\t</span></span></span>\t\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div class="service-center__rating-label">\n\t\t\t\t\t\t\t<svg class="svg-icon service-center__rating-label-ico"><use xlink:href="#svg-icon-rating-star"></use></svg> <span class="service-center__rating-label-num">9,99</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="service-center__mark flc">\n\t\t\t\t\t\t<span class="service-center__mark-name">\n\t\t\t\t\t\t\tÐпеÑаÑивноÑÑÑ\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span class="service-center__mark-value">\n\t\t\t\t\t\t\t<svg class="svg-icon service-center__mark-ico"><use xlink:href="#svg-icon-clock-fast"></use></svg> <span class="service-center__mark-num"></span>\n\t\t\t\t\t\t\t9,84\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="service-center__mark flc">\n\t\t\t\t\t\t<span class="service-center__mark-name">\n\t\t\t\t\t\t\tÐаÑеÑÑво\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span class="service-center__mark-value">\n\t\t\t\t\t\t\t<svg class="svg-icon service-center__mark-ico"><use xlink:href="#svg-icon-emoticon"></use></svg> <span class="service-center__mark-num"></span>\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="service-center__mark flc">\n\t\t\t\t\t\t<span class="service-center__mark-name">\n\t\t\t\t\t\t\tÐÑлÑÑÑÑа обÑлÑживаниÑ\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span class="service-center__mark-value">\n\t\t\t\t\t\t\t<svg class="svg-icon service-center__mark-ico"><use xlink:href="#svg-icon-heart-outline"></use></svg> <span class="service-center__mark-num"></span>\n\t\t\t\t\t\t\t8,66\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\n\n\t\t\t\t<span class="service-center__btn btn btn--primary hidden-3xs js-open-modal"\n\t\t\t\t\t data-modal-data=\'{\n\t\t\t\t\t "className": "modal
1--lg modal--form",\n\t\t\t\t\t "ownHistory": false\n\t\t\t\t\t }\'\n\t\t\t\t\t :data-modal-url="\'/personal/repair_form.php?SERVICE_ID=\'+factory.id">{{ getMessage(\'SEND_ORDER\') }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t</span>\n\n\t\t\t\t<span class="service-center__btn service-center__btn--hidden btn btn--primary visible-3xs js-open-modal"\n\t\t\t\t\t data-modal-data=\'{\n\t\t\t\t\t "className": "modal--lg modal--form",\n\t\t\t\t\t "ownHistory": false\n\t\t\t\t\t }\'\n\t\t\t\t\t :data-modal-url="\'/personal/repair_form.php?SERVICE_ID=\'+factory.id">{{ getMessage(\'SEND_ORDER\') }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></span>\n\t\t\t\t\t \n\t\t\t\t<span class="service-center__btn service-center__btn--hidden btn btn--primary js-open-modal"\n\t\t\t\t\t data-modal-data=\'{\n\t\t\t\t\t "className": "modal--lg modal--form",\n\t\t\t\t\t "ownHistory": false\n\t\t\t\t\t }\'\n\t\t\t\t\t :data-modal-url="\'/support/services/send_service_error.php?CATEGORY=error&SERVICE_ID=\'+factory.id + \'®ION=\'+factory.region_id">{{ getMessage(\'SEND_ORDER\') }}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow"><use xlink:href="#svg-icon-chevron-right"></use></svg></span></span>\t \n\t\t\t\t\t \n\t\t\t</div>\n\t\t\t<img class="service-center__pic" src="/local/images/markup-images/services/service-img.jpg" alt="">\n\t\t</div>\n\n\t\t<div class="service-center__contacts">\n\t\t\t<div class="service-center__contact flc">\n\t\t\t\t<div class="service-center__contact-title">\n\t\t\t\t\tÐдÑеÑ\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\tпÑ. ÐзеÑжинÑкого, 119<br>\n\t\t\t\t\tг. ÐинÑк, ÐелаÑÑÑÑ\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\t<a href="www.atlantshop.by">www.atlantshop.by</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="service-center__contact flc">\n\t\t\t\t<div class="service-center__contact-title">\n\t\t\t\t\tÐÑÐµÐ¼Ñ ÑабоÑÑ\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\tпн-Ð²Ñ â 10:00 до 20:00\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\tÑб-Ð²Ñ â 10:00 до 18:00\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="service-center__contact flc">\n\t\t\t\t<div class="service-center__contact-title">\n\t\t\t\t\tÐонÑакÑÑ\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\t<a href="tel:+375173666841">+375 17 366-68-41</a>\n\t\t\t\t</div>\n\t\t\t\t<div class="service-center__text">\n\t\t\t\t\t<a href="tel:+375336432352">+375 33 643-23-52</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="service-center__services">\n\n\t\t\t<div class="service-center__services-title">\n\t\t\t\tÐÐ¸Ð´Ñ ÑÑлÑг\n\t\t\t</div>\n\n\t\t\t<div class="service-center__text">\n\t\t\t\tÐаÑанÑийное ÑеÑвиÑное обÑлÑживание и ÑÐµÐ¼Ð¾Ð½Ñ Ñ
олодилÑников, ÑÑиÑалÑнÑÑ
маÑин, плиÑ, Ñайников.\n\t\t\t</div>\n\n\t\t\t<div class="service-center__attention-wrap">\n\t\t\t\t<div class="attention attention--no-border">\n\t\t\t\t\t<svg class="svg-icon attention__ico-attention"><use xlink:href="#svg-icon-attention"></use></svg> <span class="attention__attention-text">\n\t\t\t\t\t\tÐожалÑйÑÑа, ÑÑоÑнÑйÑе Ð²Ð¸Ð´Ñ Ð¾ÐºÐ°Ð·ÑваемÑÑ
ÑÑлÑг по ÑелеÑонам.\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class="service-center__map-wrap">\n\t\t\t<v-map :coords="[53.900000, 27.566670]" adjust-initial-bounds right-controls small>\n\t\t\t\t<v-map-point\n\t\t\t\t\t:key="serviceCenter.id"\n\t\t\t\t\t:coords="serviceCenter.marker.coords"\n\t\t\t\t\t:pin-num="serviceCenter.marker.pinNum"\n\t\t\t\t\t:pin-alt="serviceCenter.marker.pinAlt"\n\t\t\t\t\tmarker-type="placemark"\n\t\t\t\t\t></v-map-point>\n\t\t\t</v-map>\n\t\t</div>\n\n\t\t<v-reviews :static-data-source="null" :remote-data-source="serviceCenter.reviewsLink" :bxajaxid="bxajaxid"></v-reviews>\n\n\t</article>\n',data:function(){return{serviceCenter:null,loading:!1,loadingMinTimeout:null}},props:{staticDataSource:{default:null},bxajaxid:{default:null}},methods:{loadCatalog:function(t){function e(){a&&(n.serviceCenter=a.serviceCenter),n.loadingMinTimeout=null,n.loading=!1,n.$emit("loaded")}var n=this,a=null,i=!1;n.loading||(n.loading=!0,t||(n.loadingMinTimeout=setTimeout(function(){i&&e(),n.loadingMinTimeout=null},300)),$.ajax({url:n.serviceCenter.remote,method:"post",dataType:"json",data:{bxajaxid:n.bxajaxid}}).done(function(t){console.log("v-service-center loaded",t),a=t}).fail(function(t){console.warn("v-service-center load failed",t)}).always(function(){i=!0,n.loadingMinTimeout&&!t||e()}))}},created:function(){var t=this;t.staticDataSource?(t.serviceCenter=t.staticDataSource.serviceCenter,t.$emit("loaded"),console.log("v-service-center loaded from static data",t.serviceCenter)):t.remoteDataSource&&(t.serviceCenter.remote=t.remoteDataSource,t.loadCatalog(!0))}}),Vue.component("v-share-btn",{template:'\n\t<div class="v-share-btn share-btn-block dropdown-owner js-dropdown">\n\t\t<div class="share-btn js-dropdown__btn">\n\t\t\t<span class="share-btn__visual">\n\t\t\t\t<svg class="svg-icon"><use xlink:href="#svg-icon-share"></use></svg>\n\t\t\t</span>\n\t\t\t<span class="share-btn__text">{{getMessage(\'SHARE_IT\')}}</span>\n\t\t</div>\n\t\t<div class="dropdown js-dropdown__body">\n\t\t\t<div ref="share" class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,gplus"></div>\n\t\t</div>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],mou
1nted:function(){Ya&&Ya.share2&&Ya.share2(this.$refs.share)}}),Vue.component("v-simple-form",{template:'\n\t<div class="v-simple-form simple-form" >\n\t\t<form class="rich-form__form form flc" @submit.prevent="loadForm()" autocomplete="off" v-if="form && !(form.success && hideFormOnSuccess)">\n\t\t\t<div class="form__row flc" v-for="(field, index) in fields">\n\t\t\t\t<div class="form__col">\n\t\t\t\t\t<v-field\n\t\t\t\t\t\t:extendable="field.extendable || false"\n\t\t\t\t\t\t:extend-limit="field.extendLimit || 5"\n\t\t\t\t\t\t:extend-text="field.extendText || getMessage(\'ADD\')"\n\t\t\t\t\t\t:type="field.type"\n\t\t\t\t\t\t:options="field.options"\n\t\t\t\t\t\t:disabled="field.disabled"\n\t\t\t\t\t\t:label="field.label"\n\t\t\t\t\t\t:integrated-label="true"\n\t\t\t\t\t\t:error="getFieldError(fieldGroup, extGroupIndex, field)"\n\t\t\t\t\t\t:note="field.note"\n\t\t\t\t\t\t:description="field.description"\n\t\t\t\t\t\tv-model="field.value"\n\t\t\t\t\t\t@fileinput="fileInput(field, $event)"\n\t\t\t\t\t\t@fileremove="fileRemove(field, $event)"\n\t\t\t\t\t\t@remove="valueRemove(field, $event)"\n\t\t\t\t\t></v-field>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</form>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{loading:!1,loadingMinTimeout:null,form:{title:null,remote:null,fieldGroups:null,success:null,errors:null,message:null},localFormData:null}},props:{staticDataSource:{default:null},remoteDataSource:{default:null},bxajaxid:{default:null},hideFormOnSuccess:{default:!0,type:Boolean},frame:{type:Boolean,default:!0}},methods:{slideDown:function(t,e){$(t).hide().slideDown(200,e)},slideUp:function(t,e){$(t).show().slideUp(200,e)},getFieldError:function(t,e,n){return this.form.errors&&this.form.errors.fields?t.extendable?(t=_.find(this.form.errors.fields,{name:t.name}))&&_.find(t.errors[e],{name:n.name})||null:_.find(this.form.errors.fields,{name:n.name})||null:null},fileInput:function(t,e){for(var n=0;n<e.target.files.length;n++)this.localFormData.append(t.name+"["+e.key+"]",e.target.files[n])},fileRemove:function(t,e){this.localFormData.delete(t.name+"["+e.key+"]")},valueRemove:function(t,e){this.form.errors&&this.form.errors.fields&&(t=_.find(this.form.errors.fields,{name:t.name}))&&t.errors&&t.errors[e]&&t.errors.splice(e,1)},isAsideRequired:function(t,n){return!!_.find(this.form.fieldGroups,function(t,e){return!(n<e||!_.find(t.fields,{type:"photo"}))})},isAsideEmpty:function(t){return!_.find(t.fields,{type:"photo"})},cloneFieldGroup:function(t){var e=JSON.parse(JSON.stringify(t.fields[0]));_.each(e,function(t){t.value=t.extendable?[null]:null}),t.fields.push(e),this.iteration++},removeFieldGroup:function(t,e){var n;this.form.errors&&this.form.errors.fields&&0<=(n=_.findIndex(this.form.errors.fields,{name:t.name}))&&this.form.errors.fields.splice(n,1),t.fields.splice(e,1),this.iteration++},loadForm:function(t){function e(){if(a){if(s.form=a.form,a.success&&a.redirect)return window.location.href=a.redirect;if(a.success&&a.reload)return window.location.reload();Vue.nextTick(function(){var t,e=$(window).scrollTop(),n=$(s.$el.parentNode);s.form.errors&&s.form.errors.fields&&s.form.errors.fields.length?(t=n.find(".form-error")).length&&((t=t.offset().top)+30<e||t+30>e+window.innerHeight)&&$("html, body").animate({scrollTop:t-30},400):n.offset().top<e&&(t=n.closest(".modal").length?90:30,$("html, body").animate({scrollTop:n.offset().top-t},400)),s.$emit("submit",a)})}s.loadingMinTimeout=null,s.loading=!1,s.$emit("loaded")}var i,s=this,a=null,n=!1;s.loading||(s.loading=!0,t||(s.loadingMinTimeout=setTimeout(function(){n&&e(),s.loadingMinTimeout=null},300)),i=[],s.form&&s.form.fieldGroups&&_.each(s.form.fieldGroups,function(a){_.each(a.extendable?a.fields:[a.fields],function(t,n){_.each(t,function(t){var e;i.indexOf(t.name)<0&&(s.localFormData.delete(t.name),i.push(t.name)),t.value||(t.value=""),"file"!==t.type&&(e=a.extendable?a.name+"["+n+"]["+t.name.replace("[]","")+"]":(a.name||"")+t.name.replace("[]",""),t.extendable&&(e+="[]"),_.each(t.extendable?t.value:[t.value],function(t){s.localFormData.append(e,t)}))})})}),$.ajax({url:s.form.remote,method:"post",dataType:"json",data:s.localFormData,processData:!1,contentType:!1}).done(function(t){console.log("v-rich-form loaded",t),a=t}).fail(function(t){console.warn("v-rich-form load failed",t)}).always(function(){n=!0,s.loadingMinTimeout&&!t||e()}))}},created:function(){var t=this;t.staticDataSource?(t.form=t.staticDataSource.form,t.$emit("loaded")):t.remoteDataSource&&(t.form.remote=t.remoteDataSource,t.loadForm(!0)),t.localFormData=new FormData,t.localFormData.append("bxajaxid",t.bxajaxid)}}),Vue.component("v-sitemap-item-setting",{template:'\n <div>\n <table style="width:100%">\n <tr>\n <td>Ðазвание</td>\n <td colspan="3">\n <input type="text" v-model="nodeLocal.name">\n </td>\n </tr>\n <tr>\n <td>СÑÑлка</td>\n <td colspan="3">\n <input type="text" v-model="nodeLocal.link">\n </td>\n </tr>\n </table>\n <div class="adm-detail-content">\n <div class="adm-detail-title">ÐодпÑнкÑÑ {{nodeLocal.name}}</div>\n <div class="adm-detail-tabs-block">
1\n <span class="adm-detail-tab"\n @click=\'addChilds()\'\n >\n +\n </span>\n <span\n v-for="(child, childIndex) in nodeLocal.childs"\n :key="child.id"\n :class="{ \'adm-detail-tab-active\' : childIndex == current_child }"\n class="adm-detail-tab"\n @click="current_child = childIndex"\n >\n {{child.name || childIndex + 1}}\n </span>\n </div>\n <div class="adm-detail-content-wrap">\n <div\n v-for="(child, childIndex) in nodeLocal.childs"\n :key="child.id"\n class="adm-detail-content"\n :style="{ display : childIndex == current_child ? \'block\' : \'none\' }"\n >\n <input type="button" value="X" @click="nodeLocal.childs.splice(childIndex, 1)"\n class="deleted-button">\n <v-sitemap-item-setting v-bind:node="child"></v-sitemap-item-setting>\n </div>\n </div>\n </div>\n </div>\n',data:function(){return{current_child:0,nodeLocal:{}}},props:{node:{default:{name:"",link:"",childs:[]},type:Object}},created:function(){this.initLocalValueFromValue()},methods:{addChilds:function(){var t=(new Date).getTime();this.nodeLocal.childs.push({id:t,name:"",link:"",childs:[]})},initLocalValueFromValue:function(){this.nodeLocal=this.node}}}),Vue.component("v-slick",{template:'\n\t<div class="v-slick slick">\n\t\t<slot></slot>\n\t</div>\n',data:function(){return{jqueryEl:null,localOptions:_.defaults(this.options||{},{prevArrow:'<span class="slick-arrow slick-prev"><svg class="svg-icon"><use xlink:href="#svg-icon-lg-chevron-left"></use></svg></span>',nextArrow:'<span class="slick-arrow slick-next"><svg class="svg-icon"><use xlink:href="#svg-icon-lg-chevron-right"></use></svg></span>',responsive:[{breakpoint:View.breakpoints["xs-max"],settings:{arrows:!1,dots:!0}}]})}},props:{options:{type:Object},sliderMode:{type:Boolean,default:!0}},watch:{sliderMode:function(t,e){t&&!e?this.create():$(this.$el).slick("setPosition")}},methods:{create:function(){var t,e=this;e.sliderMode&&((t=$(this.$el)).on("afterChange",this.onAfterChange),t.on("beforeChange",this.onBeforeChange),t.on("breakpoint",this.onBreakpoint),t.on("destroy",this.onDestroy),t.on("edge",this.onEdge),t.on("init",this.onInit),t.on("reInit",this.onReInit),t.on("setPosition",this.onSetPosition),t.on("swipe",this.onSwipe),t.on("lazyLoaded",this.onLazyLoaded),t.on("lazyLoadError",this.onLazyLoadError),t.on("beforeChange touchstart",function(){t.addClass("slick-animated")}),t.on("afterChange touchend",function(){t.removeClass("slick-animated")}),Vue.nextTick(function(){Vue.nextTick(function(){$(e.$el).slick(e.localOptions)})}))},reSlick:function(){$(this.$el).slick("unslick"),this.create()},setPosition:function(){$(this.$el).slick("setPosition")},next:function(){$(this.$el).slick("slickNext")},prev:function(){$(this.$el).slick("slickPrev")},pause:function(){$(this.$el).slick("slickPause")},play:function(){$(this.$el).slick("slickPlay")},goTo:function(t,e){$(this.$el).slick("slickGoTo",t,e)},currentSlide:function(){$(this.$el).slick("slickCurrentSlide")},add:function(t,e,n){$(this.$el).slick("slickAdd",t,e,n)},remove:function(t,e){$(this.$el).slick("slickRemove",t,e)},filter:function(t){$(this.$el).slick("slickFilter",t)},unfilter:function(){$(this.$el).slick("slickUnfilter")},getOption:function(t){$(this.$el).slick("slickGetOption",t)},setOption:function(t,e,n){$(this.$el).slick("slickSetOption",t,e,n)},onAfterChange:function(t,e,n){this.$emit("afterChange",t,e,n)},onBeforeChange:function(t,e,n,a){this.$emit("beforeChange",t,e,n,a),this.setDotClasses(t,e,n,a)},onBreakpoint:function(t,e,n){this.$emit("breakpoint",t,e,n)},onDestroy:function(t,e){this.$emit("destroy",t,e)},onEdge:function(t,e,n){this.$emit("edge",t,e,n)},onInit:function(t,e){this.$emit("init",t,e)},onReInit:function(t,e){this.$emit("reInit",t,e)},onSetPosition:function(t,e){this.$emit("setPosition",t,e)},onSwipe:function(t,e,n){this.$emit("swipe",t,e,n)},onLazyLoaded:function(t,e,n,a){this.$emit("lazyLoaded",t,e,n,a)},onLazyLoadError:function(t,e,n,a){this.$emit("lazyLoadError",t,e,n,a)},setDotClasses:function(t,e,n,a){var i=this;
1this.jqueryEl.find(".slick-dots li").removeClass("slick-dot-on-edge slick-dot-out-of-edge").each(function(t,e){var n;i.$slots.default&&(n=Math.max(0,5-a),5<a&&a-t==5-n||a<i.$slots.default.length-5&&a-t==-5-n?$(e).addClass("slick-dot-on-edge"):(5-n<a-t||a-t<-5-n)&&$(e).addClass("slick-dot-out-of-edge"))})}},mounted:function(){var t=this;t.sliderMode&&(t.create(),t.jqueryEl=$(t.$el),Vue.nextTick(function(){setTimeout(function(){t.setDotClasses(null,null,0,0)},200)}))},beforeDestroy:function(){}}),Vue.component("v-subscr-btn",{template:'\n\t<div class="v-subscr-btn subscr-btn">\n\t\t<transition name="content-fade" mode="out-in">\n\t\t\t<div v-if="!showField" class="subscr-btn__base" key="base">\n\t\t\t\t<div class="arrow-link" @click="showSubscrForm">\n\t\t\t\t\t<svg class="svg-icon svg-icon--message arrow-link__icon"><use xlink:href="#svg-icon-message"></use></svg>\n\t\t\t\t\t{{buttonText}}<span class="arrow-link__tail"> <svg class="svg-icon arrow-link__arrow">\n\t\t\t\t\t\t\t<use xlink:href="#svg-icon-chevron-right"></use></svg></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-else class="subscr-btn__form js-subscr-form" key="form">\n\t\t\t\t<v-rich-form\n\t\t\t\t\talt-btn\n\t\t\t\t\t:frame="false"\n\t\t\t\t\t:static-data-source="form"\n\t\t\t\t\tremote-data-source="null"\n\t\t\t\t\t:bxajaxid="bxajaxid">\n\t\t\t\t</v-rich-form>\n\t\t\t</div>\n\t\t</transition>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],data:function(){return{showField:!1,form:null}},props:{bxajaxid:{default:null},buttonText:{default:"ÐодпиÑаÑÑÑÑ"},successUrl:{default:null},unsubscribeUrl:{default:null},showUnsubscribePopup:{default:null},formData:{default:null}},created:function(){var t=this;t.form=JSON.parse(t.formData),t.showUnsubscribePopup&&t.unsubscribeUrl&&modalController.openUrl(t.unsubscribeUrl)},methods:{showSubscrForm:function(){this.showField=!this.showField,console.log(this.form),$(document).on("click.subscrform",this.clickOutsideForm)},clickOutsideForm:function(e){var n=this,t=document.querySelectorAll(".js-subscr-form");Array.prototype.forEach.call(t,function(t){t&&!t.contains(e.target)&&(n.showField=!1)})}},destroyed:function(){$(document).off("click.subscrform",this.clickOutsideForm)}}),Vue.component("v-subscribe-info",{template:'\n\t<div class="v-subscribe-info subscribe-info">\n\t\t<transition name="content-fade" mode="out-in">\n\t\t\t<div class="loader-cover" v-if="loading" key="cover"></div>\n\t\t</transition>\n\t\t<label class="subscribe-info__arrow-link-wrap">\n\t\t\t<input type="checkbox" v-model="form.isSigned" @change="toggleSubscribtion">\n\t\t\t<svg class="svg-icon svg-icon--message arrow-link__icon c-primary"><use xlink:href="#svg-icon-message"></use></svg>\n\t\t\t{{getMessage(\'SUBSCRIBE_TITLE\')}}\n\t\t</label>\n\n <div class="subscribe-info__subscr-text flc">\n {{form.subscribeFormDescription}}\n </div>\n\n <div class="subscribe-info__subscr-text flc">\n {{form.subscribeFormSubdescription}}\n </div>\n\t\t\n\t\t<form class="subscribe-info__form" v-if="!staticDataSource.form.hideSubscribeForm">\n\t\t\t<div class="form__row">\n\t\t\t\t<div class="form__col">\n\t\t\t\t\t<v-rich-form \n\t\t\t\t\t\t:frame="false"\n\t\t\t\t\t\t:static-data-source="staticDataSource"\n\t\t\t\t\t\t:remote-data-source="remoteDataSource"\n\t\t\t\t\t\t:bxajaxid="bxajaxid"\n\t\t\t\t\t>\n\t\t\t\t\t</v-rich-form>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</form>\n\t</div>\n',mixins:[window.localizationMixin||vueMixins.localizationMixinProxy],props:{staticDataSource:{default:null},remoteDataSource:{default:null},bxajaxid:{default:null},email:{default:null}},data:function(){return{loading:!1,form:!1,localFormData:new FormData}},methods:{toggleSubscribtion:function(){var e=this;e.loading||(e.loading=!0,e.localFormData.set("state[action]","submit"),e.localFormData.set("bxajaxid",e.bxajaxid),e.localFormData.set("isSigned",e.form.isSigned),$.ajax({url:e.staticDataSource.form.remote,method:"post",dataType:"json",data:e.localFormData,processData:!1,contentType:!1}).done(function(t){console.log("v-rich-form loaded",t),e.form=t.form}).fail(function(t){console.warn("v-rich-form load failed",t)}).always(function(){e.loading=!1}))}},created:function(){this.form=this.staticDataSource.form}}),function(t){for(var e=[".js-v-scope"],n=0;n<e.length;n++)$(e[n],t).each(function(){new Vue({el:this})})});View.ready(function(){vueLaunch(document.body),$(document).trigger("vueReady")});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.