(()=>{"use strict";var e={3008:(e,t,s)=>{e.exports=s.p+"images/5a9b103dc314a4c73396.png"},20611:(e,t,s)=>{e.exports=s.p+"images/a84c2cd630adcb2fb844.png"},31728:(e,t,s)=>{e.exports=s.p+"images/0615efa9ac4d4acf62b9.png"},45934:(e,t,s)=>{e.exports=s.p+"images/890f12fd1d84b35d3027.png"},57971:(e,t,s)=>{e.exports=s.p+"images/ca96080890acb13f1452.png"},62408:(e,t,s)=>{e.exports=s.p+"images/5bf5ce672a831fe493f0.png"},67133:(e,t,s)=>{e.exports=s.p+"images/2ebcbbf6c232bb00f2a6.png"},70654:(e,t,s)=>{e.exports=s.p+"images/e7566180fedbca0ab884.png"},72400:(e,t,s)=>{e.exports=s.p+"images/b46f607e557fa86ce5de.png"},72673:(e,t,s)=>{e.exports=s.p+"images/cb601ecb4902055371fa.png"},82542:(e,t,s)=>{e.exports=s.p+"images/4cd0bf4f6c3826be20e9.png"},86439:(e,t,s)=>{e.exports=s.p+"images/cf8cd32effce8f14064b.png"},88951:(e,t,s)=>{e.exports=s.p+"images/4c951c42399a4da74eb2.png"},94939:(e,t,s)=>{e.exports=s.p+"images/f4b9fc927a6cbb785fb7.png"},99323:(e,t,s)=>{e.exports=s.p+"images/de8424720353369deee7.png"}},t={};function s(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,s),a.exports}s.m=e,s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.p="/",s.b="undefined"!=typeof document&&document.baseURI||self.location.href,s.p,new URL(s(72400),s.b),new URL(s(82542),s.b),new URL(s(57971),s.b),new URL(s(86439),s.b),new URL(s(70654),s.b),new URL(s(99323),s.b),new URL(s(88951),s.b),new URL(s(45934),s.b),new URL(s(67133),s.b),new URL(s(62408),s.b),new URL(s(94939),s.b),new URL(s(20611),s.b),new URL(s(72673),s.b),new URL(s(31728),s.b),new URL(s(3008),s.b);const n={gkh:"ЖКХ",project:"Проект",btp:"БТП",food:"Пищевые",example:"Пример расчёта",prod:"Продукция",news:"Новости компании"},r={cardTemplateSelector:"#article-template",cardSelector:".card-item",configFields:[{selector:".card-item-title",whatChange:"textContent",privateVarname:"_cardHeading",key_in_dataobj:"heading"},{selector:".card-item-description",whatChange:"textContent",privateVarname:"_cardDescription",key_in_dataobj:"description"},{selector:".card-item-link",whatChange:"href",privateVarname:"_link",key_in_dataobj:"linkPath"},{selector:".card-item-header",whatChange:"array",privateVarname:"_tagsSection",key_in_dataobj:"tags",configForInnerSection:{cardTemplateSelector:"#tag-template",cardSelector:".infoitem__span-button",configFields:[{selector:".text",whatChange:"textContent",privateVarname:"_tagMaintext",key_in_dataobj:"name",formatter:e=>`${n[e]??"Другое"}`}]}}]};function a(e){return e.map(e=>{const t=new Date(e.date),s=t.getMonth()+1;return{...e,formattedDate:e.date?`${t.getDate()}.${s<10?"0":""}${s}.${t.getFullYear()}`:"",images:JSON.parse(e.images)}}).sort((e,t)=>new Date(t.date)-new Date(e.date))}function i(e){return e.map(e=>({...e,sequence:JSON.parse(e.sequence),dict:JSON.parse(e.dict)}))}function o(e){return e.map(e=>({...e,tags:JSON.parse(e.tags),consumersIds:JSON.parse(e.consumersIds)}))}function c(e){return e.map(e=>({...e,tags:JSON.parse(e.tags),relevanceIds:JSON.parse(e.relevanceIds),consumersIds:JSON.parse(e.consumersIds),imagesFromGalleryIds:JSON.parse(e.imagesFromGalleryIds)}))}function l(e){return e.map(e=>({...e,additional_data:e.additional_data}))}const d=new class{constructor({baseUrl:e,headers:t}){this._baseUrl=e,this._headers=t}_isResponseOk(e){return e.ok?e.json():Promise.reject(`Ошибка: ${e.status}`)}getDataRequest(e){return fetch(`https://${this._baseUrl}/data/${e}`,{headers:this._headers}).then(e=>this._isResponseOk(e))}getCustomRequest(e){return fetch(`https://${this._baseUrl}/custom/${e}`,{headers:this._headers}).then(e=>this._isResponseOk(e))}getSharedTable(e){return fetch(`https://${this._baseUrl}/${e}`,{headers:this._headers}).then(e=>this._isResponseOk(e))}getReviewRequest(e){return fetch(`https://${this._baseUrl}/reviews/${e}`,{headers:this._headers}).then(e=>this._isResponseOk(e))}sendForm(e,t){return fetch(`https://${this._baseUrl}/forms/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),isBase64Encoded:!1}).then(e=>(console.log(e),this._isResponseOk(e)))}}({baseUrl:"api.termoblok.ru",headers:{Accept:"application/json","Content-Type":"application/json;charset=utf-8"}}),{api:h,service:_}={service:{getNews:()=>d.getSharedTable("news").then(a),getContacts:()=>d.getSharedTable("contacts").then(l),getDicts:()=>d.getSharedTable("sharedDictAndFields").then(i),getFaqs:()=>d.getSharedTable("faqs").then(c),getGallery:()=>d.getSharedTable("gallery").then(o)},api:d};function p(){let e=window.innerWidth;return window.addEventListener("resize",function(){var t;setTimeout((t=window.innerWidth,void(e=t)),1500)}),e}class m{constructor({data:e,renderer:t,el:s},n,r=0){this._renderedItems=e,this._container=s?s.querySelector(n):document.querySelector(n),this._renderer=t,this._delay=0,this._delayTime=r}hideParentEl(){this._container.closest(".parent-sect").style.display="none"}setItem(e){this._container.prepend(e)}setData(e){this._renderedItems=e}setItems(e){this._renderedItems=e}appendItem(e){this._container.append(e)}clear(){this._container.innerHTML="",this._delay=0}renderFiltered(e){this.clear(),this._renderedItems=e,this._renderedItems.forEach(e=>{this._renderer(e)}),0===e.length&&(this._container.textContent="По Вашему условию поиска статей пока нет.")}renderItems(){this._renderedItems.forEach(e=>{e["data-wow-delay"]=this._delay/1e3+"s",setTimeout(()=>{this._renderer(e)},this._delay),this._delay+=this._delayTime})}renderItem(e){this._renderer(e)}renderItemsSlice(e,t){this.clear(),this._renderedItems.slice(e,t).forEach(e=>{this._renderer(e)})}renderItemsFilteredByKey(e,t){this.clear(),this._renderedItems.filter(s=>s[e]===t).forEach(e=>{this._renderer(e)})}}class u{constructor(e){this._configFields=e,this._elementsMap=new Map,this._sectionsMap=new Map;const t={};e.forEach(e=>{t[e.selector]||(t[e.selector]=[]),t[e.selector].push(e)}),this._configBySelector=t}_configElementsMap(e){Object.keys(this._configBySelector).forEach(t=>{const s=e.querySelector(t);s?this._configBySelector[t].forEach(n=>{if(this[n.privateVarname]=s,"array"!==n.whatChange)this._elementsMap.set(n.privateVarname,{element:s,whatChange:n.whatChange,keyInData:n.key_in_dataobj,formatter:n.formatter||!1,type:"property"});else{this._elementsMap.set(n.privateVarname,{element:s,whatChange:n.whatChange,keyInData:n.key_in_dataobj,type:"array"});const r=n.configForInnerSection,a=new m({items:[],el:e,renderer:e=>{const t=new g({cardTemplateSelector:r.cardTemplateSelector,cardSelector:r.cardSelector,configFields:r.configFields,cardObj:e}).generateCard();a.appendItem(t)}},t);this._sectionsMap.set(n.privateVarname,a)}}):console.warn(`Элемент с селектором ${t} не найден в карточке`)})}_setProperty(e,t){const s=e.element,n=e.whatChange,r=e.keyInData,a=e.formatter||!1;null===t[r]&&(s.closest(".parent-sect")&&(s.closest(".parent-sect").style.display="none"),console.log("element.closest('.parent-sect')",s.closest(".parent-sect"))),s&&void 0!==t[r]&&null!==t[r]&&("textContent"===n?s.textContent=a?a(t[r]):t[r]:"innerHTML"===n?s.innerHTML=a?a(t[r]):t[r]:"src"===n?s.src=a?a(t[r]):t[r]:"alt"===n?s.alt=a?a(t[r]):t[r]:n in s&&(s[n]=a?a(t[r]):t[r]))}_renderArray(e,t,s){const n=e.keyInData,r=this._sectionsMap.get(t);console.log("Пытаемся отрендерить массивчик тегов data[dataKey]=",s[n],Array.isArray(s[n])),console.log(this._sectionsMap),console.log("config.",e),r&&Array.isArray(s[n])&&(r._container.closest(".parent-sect")&&!s[n].length&&(console.log("YOOOO section._container.closest"),r._container.closest(".parent-sect").style.display="none"),console.log("element.closest('.parent-sect')",r),e.element.innerHTML="",r.setItems(s[n]),r.renderItems())}_renderObj(e){this._elementsMap.forEach((t,s)=>{"property"===t.type&&this._setProperty(t,e)}),this._elementsMap.forEach((t,s)=>{"array"===t.type&&this._renderArray(t,s,e)})}_clearObj(){this._sectionsMap.forEach((e,t)=>{const s=this._elementsMap.get(t);s&&s.element&&(s.element.innerHTML="")}),this._elementsMap.forEach((e,t)=>{const s=e.element,n=e.whatChange;s&&("textContent"===n||"innerHTML"===n?s[n]="":"src"===n?s.src="":"alt"===n?s.alt="":"value"===n&&(s.value=""))})}updateField(e,t){const s=this._elementsMap.get(e);s&&s.element&&(s.element[s.whatChange]=t)}}class g{constructor({cardTemplateSelector:e,cardSelector:t,configFields:s,cardObj:n,handleCardClick:r},a=null){this._handleCardClick=r,this._cardTemplateSelector=e,this._cardSelector=t,this._dynamicRenderer=a||new u(s),this._cardObj=n}_getTemplate(){return document.querySelector(this._cardTemplateSelector).content.querySelector(this._cardSelector).cloneNode(!0)}generateCard(){return this._element=this._getTemplate(),console.log(this._configBySelector),this._dynamicRenderer._configElementsMap(this._element),console.log(this._elementsMap),this._dynamicRenderer._renderObj(this._cardObj),this._setEventListeners(),this._element}_setEventListeners(){this._handleCardClick&&this._element.addEventListener("mousedown",()=>{this._handleCardClick(this._cardObj,this._element)})}}class b{constructor(e,t){this._modal=document.querySelector(e),this._buttonClose=this._modal.querySelector(".popup-button-close"),this._closeButtonSelector=".popup-button-close",this._openedClass="popup_opened",this._handleEscButton=e=>{"Escape"===e.key&&this.close()},this._handleOverlayClick=e=>{e.target.classList.contains("popup_opened")&&this.close()},this._isOpened=!1}open(){this._modal.classList.add(this._openedClass),this._isOpened=!0,this._isEscHandleEnabled&&document.addEventListener("keydown",this._handleEscButton),this._isOverlayEnabled&&this._modal.addEventListener("mousedown",this._handleOverlayClick),this._isBodyFixWhenOpen&&document.querySelector("body").classList.add("body-fixed")}close(){this._modal.classList.remove(this._openedClass),this._isOpened=!1,this._isEscHandleEnabled&&document.removeEventListener("keydown",this._handleEscButton),this._isOverlayEnabled&&this._modal.removeEventListener("mousedown",this._handleOverlayClick),this._isBodyFixWhenOpen&&document.querySelector("body").classList.remove("body-fixed")}setEventListeners({overlay:e=!0,esc:t=!0,bodyfix:s=!0}={}){this._isOverlayEnabled=e,this._isEscHandleEnabled=t,this._isBodyFixWhenOpen=s,this._buttonClose.addEventListener("mousedown",()=>{this.close()})}}class f extends b{constructor(e,t,{openedClass:s=null,closeButtonSelector:n=null,handleOpen:r=null,handleClose:a=null}={}){super(t),this._configFields=e.configFields,this._popupSelector=t,e.buttonCloseSelector&&(this._buttonClose=this._modal.querySelector(e.buttonCloseSelector)),this._dynamicRenderer=new u(e.configFields),this._temporaryCloseHandler=null,s&&(this._openedClass=s),n&&(this._closeButtonSelector=n),r&&(this._handleOpen=r),a&&(this._handleClose=a)}setModalElement(e){this._modal=e,this._isHtmlLoaded=!0}setEventListeners({overlay:e=!0,esc:t=!0,bodyfix:s=!0}={}){super.setEventListeners({overlay:e,esc:t,bodyfix:s}),this._dynamicRenderer._configElementsMap(this._modal)}open(e){console.log(this),this._dynamicRenderer._renderObj(e),super.open(),this._handleOpen&&this._handleOpen()}close(){this._dynamicRenderer._clearObj(),this._temporaryCloseHandler&&(this._temporaryCloseHandler(),this._clearTemporaryHandler()),super.close(),this._handleClose&&this._handleClose()}setTemporaryHandleClose(e){this._temporaryCloseHandler=e}_clearTemporaryHandler(){this._temporaryCloseHandler=null}getPopupEl(){return this._modal}}class y extends m{constructor({moreButtonClass:e,moreButtonHiddenClass:t,...s},n){super(s,n),super.clear(),p()>1024&&(this._countBase=3),p()<=1024&&(this._countBase=4),this._buttonMore=document.querySelector(`.${e}`),this._buttonMoreHiddenClass=t,s.callbackmore&&(console.log("callbackmore найден"),this._callbackmore=s.callbackmore),this._checkMoreButtonState(),this._buttonMore.addEventListener("mousedown",()=>{this._countBase+=this.additionalCount(),this._checkMoreButtonState(),this.clear(),this.renderItems()})}additionalCount(){const e=p();return e>1024?3:e<=1024?2:void 0}renderFiltered(e){this._container.classList.add("section-loading"),setTimeout(()=>{if(this._renderedItems=e,this._countBase=3,this._checkMoreButtonState(),this.clear(),0===e.length){const e=document.createElement("p");e.setAttribute("style","color:#f2f2f2; font-size:24px; margin-left: 10px"),e.textContent="По Вашему условию поиска статей пока нет.",this._container.append(e)}this.renderItems(),this._container.classList.remove("section-loading")},800)}_showMoreButtonState(){this._buttonMore.classList.contains(this._buttonMoreHiddenClass)&&this._buttonMore.classList.remove(this._buttonMoreHiddenClass)}_hideMoreButtonState(){this._buttonMore.classList.add(this._buttonMoreHiddenClass)}_checkMoreButtonState(){this._countBase{this._renderer(e)}),this._checkMoreButtonState()}}class S extends m{constructor({data:e,renderer:t},s,n=0){super({data:e,renderer:t},s,n),this._resizeTimeout=null,this.handleWindowResize=this.handleWindowResize.bind(this),window.addEventListener("resize",this.handleWindowResize),this._touchStartX=0,this._touchEndX=0,this._minSwipeDistance=50,this._baseSlideSize=this._calculateItemsPerSlide(),this._container.style.setProperty("grid-template-columns",`repeat(${this._baseSlideSize}, 1fr)`),this._currentItems=[],this._currentIndex=0,this._container.addEventListener("touchstart",this._handleTouchStart.bind(this),{passive:!0}),this._container.addEventListener("touchend",this._handleTouchEnd.bind(this),{passive:!0})}_handleTouchStart(e){this._touchStartX=e.changedTouches[0].screenX,this._touchEndX=0}_handleTouchEnd(e){this._touchEndX=e.changedTouches[0].screenX,this._handleSwipe()}_handleSwipe(){const e=this._touchStartX-this._touchEndX;e>this._minSwipeDistance&&this.nextSlide(),e<-this._minSwipeDistance&&this.prevSlide(),this._touchStartX=0,this._touchEndX=0}_calculateItemsPerSlide(){const e=window.innerWidth;return e<768?1:e<1280?2:3}renderInitialSlide(){const e=this._renderedItems.slice(0,this._baseSlideSize);this._currentItems=e,e.forEach(e=>{this._renderer(e)})}nextSlide(){if(this._currentIndex+this._baseSlideSize0){this._container.querySelector(".news-small-card:last-child").remove(),this._currentItems.pop();const e=this._renderedItems[this._currentIndex-1];this._currentItems.unshift(e),this._renderer(e,!0),this._currentIndex--}}handleWindowResize(){this._resizeTimeout&&clearTimeout(this._resizeTimeout),this._resizeTimeout=setTimeout(()=>{const e=this._calculateItemsPerSlide();e!==this._baseSlideSize&&(this.clear(),this._baseSlideSize=e,this._container.style.setProperty("grid-template-columns",`repeat(${this._baseSlideSize}, 1fr)`),this._currentIndex=0,this.renderInitialSlide()),this._resizeTimeout=null},300)}}const w={..._,getPtoObjects:()=>h.getDataRequest("objects").then(e=>e.filter(e=>"pto"===e.typeOfEq)),getBtpObjects:()=>h.getDataRequest("objects").then(e=>e.filter(e=>"btp"===e.typeOfEq)),getObjects:()=>h.getDataRequest("objects"),getBlogCards:()=>h.getDataRequest("blogCards"),getPartners:()=>h.getDataRequest("partners"),sendBigForm:e=>h.sendForm("big-form",e),sendCallForm:e=>h.sendForm("small-form",e)},C=document.forms.filterForm;let v;const{section:I}=function(e){const{popupConfig:t,cardConfig:s,initialData:n,dataTransformCallback:r,addStylesFunc:a,sectionSelector:i,paginatorConfig:o,type:c,isPrepend:l,handleItemClick:d}=e;let h=null;t&&(h=new f(t,t.popupSelector,t.additional),h.setEventListeners(t.additional?.listeners));const _=new u(s.configFields),p={data:n||[],renderer:(e,t=!1)=>{const n=(e=>{let t=e;r&&(t=r(e));const n=e.cardConfig||s;return new g({cardTemplateSelector:n.cardTemplateSelector,cardSelector:n.cardSelector,cardObj:t,configFields:n.configFields,handleCardClick:(e,t)=>{d?.(e,t),h?.open(e)}},e.cardConfig?null:_).generateCard()})(e);a&&a(n,_,e),l||t?b.setItem(n):b.appendItem(n)}};let b;switch(c){case"paginator":b=new y({...p,...o},i);break;case"slider":b=new S({...p},i);break;default:b=new m(p,i)}return{section:b,...h&&{popup:h}}}({cardConfig:r,dataTransformCallback:e=>({...e,linkPath:`/blog-proizvodstva/${e.staticPage}`}),sectionSelector:".cards-js-rendered",paginatorConfig:{moreButtonClass:"infocards__more-button",moreButtonHiddenClass:"infocards__more-button_hidden"},type:"paginator"});!async function(){const e=await w.getBlogCards();v=e.map(e=>{return{...e,tags:(t=JSON.parse(e.tags),t.map(e=>({name:e})))};var t}).filter(e=>e.tags.map(e=>e.name).includes("gkh")),I.setItems(v),I.renderItems(),C.addEventListener("change",()=>{const e=Array.from(C.elements.filterbox).filter(e=>e.checked).map(e=>e.value);var t;console.log(e),e.length>0?I.renderFiltered((t=e,v.filter(e=>{return s=t,n=e.tags,console.log(s,n),!s.some(e=>!n.includes(e));var s,n}))):I.renderFiltered(v)})}()})();