var app=void 0===app?{version:"16.06.2022",ajax_url:"/app/ajax.php",test:!1,mobile:!0,first_discovery:!0,options:{view_list:"list"},user:{},cart:{},unique_id:0,price_list_open_sections:{},data:{},hide_stores:!0,isCaptchaEnabled:!1}:app;app.history={list:[]},window.addEventListener("click",(function(n){app.click(n)}),!1),window.addEventListener("mousedown",(function(n){app.mousedown(n)}),!1),window.addEventListener("visibilitychange",(function(n){app.visibilitychange(n)}),!1),window.addEventListener("popstate",(function(n){app.back(n)}),!1),window.addEventListener("error",(function(n){app.error(n)})),window.addEventListener("scroll",(function(n){let a=window.scrollY>800;if(!app.scroll_active&&a){let n=document.getElementById("app");if(!n)return;return app.scroll_active=!0,void(n.className="scroll_active")}if(app.scroll_active&&!a){let n=document.getElementById("app");if(!n)return;app.scroll_active=!1,n.className=" "}}),!1),app.window_on_load_add=function(n){window.onload?window.onload=window.onload+n:window.onload=n},app.error=function(n){let a={USER_ID:"user"in app&&"ID"in app.user?app.user.ID:0,message:n.message,file:n.filename,line:n.lineno+":"+n.colno,userAgent:navigator.userAgent,url:location.href,time_at_start_page:Math.ceil(n.timeStamp/1e3)+"s"};app.ajax("/app/add_error.php",a)},app.click=function(n){if("label"===n.target.localName||"submit"===n.target.type||"input"===n.target.localName&&("checkbox"===n.target.type||"file"===n.target.type))return;let a=n.target.closest("a");if(a){if(a.href.split("/")[2]!==window.location.host||"_blank"===a.target)return}return n.preventDefault(),n.stopPropagation(),!1},app.mousedown=function(n){if(1!==n.which)return;let a;if(a=n.target.closest("button"),a||(a=n.target.closest("label")),a&&a.hasAttribute("data-type")){var e=a.getAttribute("data-type");switch(n.preventDefault(),n.stopPropagation(),e){case"link":if(!a.hasAttribute("data-href"))return;var t=a.getAttribute("data-href");return app.show_url(t),void app.change_url(t);case"filter":if(!a.hasAttribute("data-code")||!a.hasAttribute("data-value"))return;var i=a.getAttribute("data-code"),s=a.getAttribute("data-value");return"code"in app.data.selected_properties?"value"in app.data.selected_properties[i]?1===Object.keys(app.data.selected_properties[i]).length?delete app.data.selected_properties[i]:delete app.data.selected_properties[i][s]:app.data.selected_properties[i][s]=1:(app.data.selected_properties[i]={},app.data.selected_properties[i][s]=1),app.data.number_page=1,void app.start_catalog_url();case"filter_availability":if(!a.hasAttribute("data-value"))return;return"1"===a.getAttribute("data-value")?app.data.availability_all=1:delete app.data.availability_all,app.data.number_page=1,void app.start_catalog_url();case"filter_clear":return delete app.data.price_minimum,delete app.data.price_maximum,delete app.data.availability_all,app.data.selected_properties={},app.data.number_page=1,void app.start_catalog_url();case"logout":return void app.logout();case"button_plus_minus":{if(n.preventDefault(),n.stopPropagation(),!a.hasAttribute("data-id")||!a.hasAttribute("data-method"))return;let e=a.getAttribute("data-id"),t=a.getAttribute("data-method"),i=document.getElementById("input_plus_minus_"+e);if(!i)return;let s=i.hasAttribute("data-minimum")?app.string_to_int(i.getAttribute("data-minimum")):0,p=i.hasAttribute("data-maximum")?app.string_to_int(i.getAttribute("data-maximum")):999999,r=app.string_to_int(i.value),o=a.hasAttribute("data-quantity")?app.string_to_int(a.getAttribute("data-quantity")):1;return"minus"===t&&(r-=o),"plus"===t&&(r+=o),r<s&&(r=s),r>p&&(r=p),i.value=r,void i.oninput()}case"in_cart":if(!a.hasAttribute("data-product-id")||!a.hasAttribute("data-quantity-id"))return;var p=a.getAttribute("data-product-id"),r=a.getAttribute("data-quantity-id");if(input_plus_minus=document.getElementById("input_plus_minus_"+r),!input_plus_minus)return;var o=app.string_to_int(input_plus_minus.value);return app.set_product_in_cart(p,o),input_plus_minus.value=o,a.classList.add("good_add_in_cart"),a.innerHTML="Добавлен",void setTimeout((function(){a.innerHTML="Добавить"}),2e3);case"remove_from_cart":if(!a.hasAttribute("data-product-id"))return;p=a.getAttribute("data-product-id");return void app.remove_from_cart(p);case"choose_delivery":if(!a.hasAttribute("data-delivery-id"))return;app.user.SELECTED_DELIVERY=app.string_to_int(a.getAttribute("data-delivery-id"));var d=document.getElementById("choose_delivery_box");if(!d)return;return void(d.innerHTML=app.views.create_order_delivery());case"create_order":return void app.create_order();case"catalog_detail_show_image":{let n=document.getElementById("main_image");if(!n||!a.hasAttribute("data-image"))return;let e="/upload/app/400_400/"+a.getAttribute("data-image");return n.hasAttribute("data-error")&&n.removeAttribute("data-error"),void(n.src=e)}case"pagination":{if(!a.hasAttribute("data-pagination"))return;let n=a.getAttribute("data-pagination");if("next"===n)return void app.pagination_to_page(app.data.number_page+1);if("back"===n)return void app.pagination_to_page(app.data.number_page-1);if(!a.hasAttribute("data-page"))return;return void app.pagination_to_page(app.string_to_int(a.getAttribute("data-page")))}case"to_auth":{let n=document.getElementById("login"),a=document.getElementById("password");if(!n||!a)return;let e=n.value,t=a.value;if(app.show_view({view:"auth",title:"Авторизация",h1:"Авторизация",crumbs:{"/":"Главная","#":"Авторизация"}},"/auth/"),app.change_url("/auth/"),n=document.getElementById("login"),a=document.getElementById("password"),app.isCaptchaEnabled){let n=document.getElementById("captcha_answer");if(!n)return;setTimeout((function(){n.focus()}),50)}if(!n||!a)return;return n.value=e,void(a.value=t)}case"to_request_call":{if(!(a.hasAttribute("data-id")&&a.hasAttribute("data-manager_id")&&a.hasAttribute("data-manager_name")&&a.hasAttribute("data-manager_foto")))return;let n=a.getAttribute("data-id"),e=document.getElementById("fio_"+n),t=document.getElementById("phone_"+n);if(!e||!t)return;let i=e.value,s=t.value;if(app.show_view({view:"request_call",title:"Запрос звонка",h1:"Запрос звонка",crumbs:{"/":"Главная","#":"Запрос звонка"},manager_id:a.getAttribute("data-manager_id"),manager_name:a.getAttribute("data-manager_name"),manager_foto:a.getAttribute("data-manager_foto")},"/request_call/"),app.change_url("/request_call/"),e=document.getElementById("fio"),t=document.getElementById("phone"),app.isCaptchaEnabled){let n=document.getElementById("captcha_answer");if(!n)return;setTimeout((function(){n.focus()}),50)}if(!e||!t)return;return e.value=i,void(t.value=s)}case"to_registration":{let n=document.getElementById("login"),a=document.getElementById("password");if(!n||!a)return;let e=n.value,t=a.value;app.show_view({view:"registration",title:"Регистрация",h1:"Регистрация",crumbs:{"/":"Главная","#":"Регистрация"}},"/registration/"),app.change_url("/registration/"),a=document.getElementById("password");let i=document.getElementById("EMAIL");if(LAST_NAME_object=document.getElementById("LAST_NAME"),!i||!a||!LAST_NAME_object)return;return i.value=e,a.value=t,void setTimeout((function(){LAST_NAME_object.focus()}),50)}case"video":{if(!a.hasAttribute("data-video_id"))return;let n=a.getAttribute("data-video_id"),e=a.getBoundingClientRect();return void(a.parentNode.innerHTML=`\n<iframe \n    width="${e.width}" \n    height="${e.height}"  \n    src="https://www.youtube.com/embed/${n}?autoplay=1" \n    title="YouTube video player" \n    frameborder="0" \n    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" \n    allowfullscreen\n></iframe>`)}case"show_menu_mobile":return void app.show(app.views.menu_mobile(),"layer");case"menu_mobile_section":{if(n.preventDefault(),n.stopPropagation(),!a.hasAttribute("data-section_id"))return;let e=a.getAttribute("data-section_id"),t=document.getElementById("menu_section_"+e);if(!t)return;let i="item"!==t.className;t.className=i?"item":"item item_open";let s=document.getElementById("menu_children_section_"+e);if(!s)return;let p=s.getElementsByTagName("a"),r=0;for(let n=0;n<p.length;n++)r+=p[n].clientHeight;return void(s.style.height=i?"0px":r+"px")}case"clear_layer":return void app.show("","layer");case"price_list_open_section":{if(!a.hasAttribute("data-section_id"))return;let n=a.getAttribute("data-section_id"),e=document.getElementById("children_box_"+n),t=document.getElementById("section_arrow_"+n);if(n in app.price_list_open_sections)return delete app.price_list_open_sections[n],e&&(e.innerHTML=""),void(t&&(t.className="arrow_down"));app.price_list_open_sections[n]=1,t&&(t.className="arrow_down arrow_up");let i=app.data;return i.section=app.sections[n],i.section_id=i.section.ID,e&&(e.innerHTML='<div class="load_line"></div>'),void setTimeout((function(){e&&(e.innerHTML=app.views.price_list_children(i))}),50)}case"scroll_to_top":return void window.scrollTo(0,0);case"favorite":{if(app.click_favorite(a),!a.hasAttribute("data-view")||!a.hasAttribute("data-product_id"))return;let n=a.getAttribute("data-view"),e=a.getAttribute("data-product_id");return void("catalog_detail"===n&&(a.innerHTML=e in app.user.FAVORITES?'<img src="/app/images/svg/in_favorite.svg" alt="favorite"><div>В избранном</div>':'<img src="/app/images/svg/favorite.svg" alt="favorite"><div>В избранное</div>'))}case"slider":if(!a.hasAttribute("data-id"))return;return void app.slider.next(a.getAttribute("data-id"),a.hasAttribute("data-next"));case"show_product_properties":{let n=document.getElementById("content_box");if(!n)return;return void(n.innerHTML=app.views.product_properties(app.data.product.PROPERTIES))}case"show_product_description":{let n=document.getElementById("content_box");if(!n)return;return void(n.innerHTML=app.data.description_product)}case"delete_found_products":{let n=app.data.products.map((function(n){return n.ID}));app.delete_products(n)}case"check_18_age":return void app.show_check_18_age.click(a.hasAttribute("data-value")&&"1"===a.getAttribute("data-value"))}}if(-1!==["button","input"].indexOf(n.target.localName))return!1;if(a=n.target.closest("a"),a){let e=a.href.split("/");if(e[2]!==window.location.host||"_blank"===a.target)return;n.preventDefault(),n.stopPropagation();t="/"+e.slice(3).join("/");t=decodeURI(t),app.test&&console.log(t),app.show_url(t),app.change_url(t)}},app.visibilitychange=function(){if(!0!==document.hidden&&"view"in app.data)switch(app.data.view){case"cart":return void app.update_cart_data();case"favorites":return void app.show_url("/favorites/");case"price_list":{let n=document.getElementById("price_list");return n&&(n.className="price_list blur"),void setTimeout((function(){app.show_url("/price_list_full/")}),50)}}},app.back=function(n){if(app.history.list.pop(),app.test)return void(0!==app.history.list.length&&app.show_url(app.history.list[app.history.list.length-1]));let a=n.target.location;app.show_url(a.pathname+a.search)},app.show=function(n,a){void 0===a&&(a="main");var e=document.getElementById(a);e&&(e.innerHTML=n)},app.string_to_int=function(n){return n=String(n),n=parseInt(n.replace(/\D+/g,"")),Number.isNaN(n)&&(n=0),n},app.json_to_object=function(n){try{return JSON.parse(n)}catch(a){console.log(["JSON X",a,n])}return{}},app.object_to_json=function(n){return JSON.stringify(n)},app.get_show_time=function(n,a){void 0===a&&(a=new Date);var e={Date:a.getDate(),Month:a.getMonth()+1,Year:a.getFullYear(),Hours:a.getHours(),Minutes:a.getMinutes(),Seconds:a.getSeconds()};switch(Object.keys(e).forEach((function(n){e[n]=(e[n]<10?"0":"")+String(e[n])})),n){case 1:return e.Date+e.Month+e.Year+"_"+e.Hours+e.Minutes+e.Seconds;case 2:return e.Date+"."+e.Month+"."+e.Year+" "+e.Hours+":"+e.Minutes+"."+e.Seconds}return e.Hours+":"+e.Minutes+"."+e.Seconds},app.input_form_phone_old=function(n){for(var a="+7 (___) ___-__-__",e=n.value,t="",i=0;i<18&&e[i];i++)e[i]===a[i]||" "===e[i]||isNaN(Number(e[i]))||(t+=e[i]);-1!==["7","8"].indexOf(t[0])&&(t=t.slice(1));var s="";for(i=0,i_num=0;i<18&&void 0!==t[i_num];i++)"_"!==a[i]?s+=a[i]:(s+=t[i_num],i_num++);""===s&&(s=a.split("_")[0]),n.value=s},app.input_form_phone=function(n){n.value=app.format_phone_number(n.value)},app.input_form_fio=function(n){},app.format_phone_number=function(n){let a=(n=(n=(n=String(n)).trim()).replace(/[^0-9]/g,"")).length;if(11==a){let a=n.substr(0,1);return"8"==a&&(a="7"),"+"+a+" ("+n.substr(1,3)+") "+n.substr(4,3)+"-"+n.substr(7,2)+"-"+n.substr(9,2)}let e="";for(let t=0;t<a;t++)t%3==0&&0!=t&&(e+="-"),e+=n[t];return e},app.input_form_int=function(n){let a=999999,e=app.string_to_int(n.value);e<0&&(e=0),n.value=e>a?a:e},app.input_form_big_int=function(n){let a=1e18,e=app.string_to_int(n.value);e<0&&(e=0),n.value=e>a?a:e},app.input_current_account_number=function(n){let a=n.value;a=a.replace(/[^+\d]/g,""),a.length>2&&-1===["407","408"].indexOf(a.substr(0,3))&&(alert("Номер расчётного счёта должен начинаться на 407 для юрлиц или 408 для ИП"),a=""),n.value=a},app.input_form_inn=function(n){n.value=n.value.replace(/[^+\d]/g,"")},app.input_form_bic_bank=function(n){n.value=n.value.replace(/[^+\d]/g,"")},app.phone_to_tel=function(n){return"7"===(n=String(n).replace(/\D+/g,""))[0]&&(n="8"+n.slice(1)),n},app.get_show_price=function(n){if(void 0===n||0===n||"0"===n)return"0";let a=(n=String(n)).split(".");n=a[0];let e="";"1"in a&&(e=a[1]);for(var t="",i=n.length;i>3;)i-=3,t=""===t?n.substr(i):n.substr(i)+" "+t,n=n.substr(0,i);return""!==n&&(t=n+(""===t?"":" "+t)),e.length>0&&(t+="."+(1===e.length?e+"0":e)),t},app.get_show_price_catalog=function(n){var a=app.get_show_price(n);return"0"===a?"По запросу":a},app.start_catalog_url=function(){var n=app.data.url_way+"?"+("price_minimum"in app.data?"price_minimum="+app.data.price_minimum+"&":"")+("price_maximum"in app.data?"price_maximum="+app.data.price_maximum+"&":"")+("availability_all"in app.data?"availability_all=1&":"")+Object.keys(app.data.selected_properties).map((function(n){return n+"="+Object.keys(app.data.selected_properties[n]).join(",")})).join("&")+"&not_scroll_up=1"+("number_page"in app.data&&app.data.number_page>1?"&page="+app.data.number_page:"");app.focus.save(),app.show_url(n),app.change_url(n),app.focus.load()},app.clear_tags=function(n){return n=(n=n.replace(/<br>/gi,"\n")).replace(/(<([^>]+)>)/gi,"")},app.pagination_to_page=function(n){app.show_url(app.data.pagination_url+"&page="+n)},app.clear_layer=function(){app.show("","layer")},app.get_values=function(n){},app.hide_catalog_menu=function(n){n.style.display="none",setTimeout((function(){n.style.display="auto"}),200)},app.change_catalog_detail_sum=function(n){"product"in app.data&&"PRICE"in app.data.product&&app.show(app.get_show_price(app.data.product.PRICE*n.value),"catalog_detail_sum")},app.quit_input_plus_minus=function(n){if(""!==n.value)return;let a=n.hasAttribute("data-minimum")?app.string_to_int(n.getAttribute("data-minimum")):0;n.value=a,n.oninput()},app.get_catalog_links_for_seo=function(){return Object.keys(app.sections).map((function(n){let a=app.sections[n];return"CODE"in a?`<a href="https://armango.com/catalog/${0!==a.IBLOCK_SECTION_ID?app.sections[a.IBLOCK_SECTION_ID].CODE+"/":""}${a.CODE}/">${a.NAME}</a>`:""})).join("")},app.get_next_month=function(){return["Январе","Феврале","Марте","Апреле","Мае","Июне","Июле","Августе","Сентябре","Октябре","Ноябре","Декабре"][((new Date).getMonth()+1)%12]},app.filter_input=function(n,a){let e=a.value;if("name"===n){let n=32;return e.length>n&&(e=e.slice(0,n)),0===e.length?void(a.value=""):void(a.value=e.split("-").map((function(n){return 0===(n=n.replace(/[^а-яёА-ЯЁa-zA-Z]/g,"")).length?"":n[0].toUpperCase()+n.slice(1).toLowerCase()})).join("-"))}},app.oninput_filter_price=function(n){let a=app.string_to_int(n.value);if(n.value=0===a?"":a,!n.hasAttribute("data-type"))return;let e=n.getAttribute("data-type");-1!==["price_minimum","price_maximum"].indexOf(e)&&(""===n.value?delete app.data[e]:app.data[e]=n.value,app.focus.save(),app.data.number_page=1,app.start_catalog_url(),app.focus.load())},app.request_call=function(){let n={userAgent:"navigator"in window&&"userAgent"in navigator?navigator.userAgent:"Not have userAgent"};["manager_id","fio","phone","captcha_session","captcha_answer"].forEach((function(a){let e=document.getElementById(a);e&&(n[a]=e.value)})),app.ajax_type("request_call",n,app.request_call.receiver)},app.request_call.receiver=function(n){return app.test&&console.log(n),void 0===n?(app.show("Запрос на звонок отклонён сервером, попробуйте повторить через 5 минут","answer"),void app.update_captcha()):"ok"in n&&0===n.ok?(app.show(n.text,"answer"),void app.update_captcha()):(app.show("Запрос звонка успешно отправлен!","answer"),void setTimeout((function(){app.show_url("/"),app.change_url("/")}),2e3))},app.show_speed=function(){Object.keys(app.cache.list).map((function(n,a){setTimeout((function(){app.show_url(n)}),50*a)}))},app.is_numeric=function(n){return/^-?\d+$/.test(n)},app.change_url=function(n){if("object"!=typeof window.history||"function"!=typeof window.history.pushState)return;let a=n.split("armango.com");"/"!==(n=1 in a?a[1]:a[0])[0]&&(n="/"+n),app.history.list.push(n),app.test&&(n="/app/?url="+n),window.history.pushState(null,null,n)},app.changeUrlWithoutReload=function(n){history.pushState?history.pushState(null,null,n):window.location.hash=n},app.ajax=function(n,a,e,t){e||(e=console.log);var i=new XMLHttpRequest;i.open("POST",n,!0),i.setRequestHeader("Content-type","application/x-www-form-urlencoded"),a?i.send(Object.keys(a).map((function(n){return encodeURIComponent(n)+"="+encodeURIComponent(a[n])})).join("&")):i.send(),i.onreadystatechange=function(){if(200!==i.status)console.log(i.status+": "+i.statusText);else{if(4!==i.readyState||!("responseText"in i))return!1;void 0===t?e(i.responseText):e(i.responseText,t)}}},app.ajax_json=function(n,a,e,t){e||(e=console.log);var i=new XMLHttpRequest;i.open("POST",n,!0),i.setRequestHeader("Content-type","application/json"),i.send(JSON.stringify(a)),i.onreadystatechange=function(){if(200!==i.status)console.log(i.status+": "+i.statusText);else{if(4!==i.readyState||!("responseText"in i))return!1;var n={};try{n=JSON.parse(i.responseText)}catch(n){console.log(["JSON [X]",n,i.responseText])}void 0===t?e(n):e(n,t)}}},app.ajax_type=function(n,a,e,t){void 0===a&&(a={}),a.type=n,app.ajax_json(app.ajax_url,a,e,t)},app.ajax_with_files=function(n,a,e,t,i){a.type=n,t||(t=console.log);var s=new XMLHttpRequest;s.open("POST",app.ajax_url,!0);var p=new FormData;p.append("data",JSON.stringify(a)),"0"in e.files&&p.append("file",e.files[0],e.files[0].name),s.send(p),s.onreadystatechange=function(){if(200!=s.status)console.log(s.status+": "+s.statusText);else{if(4!==s.readyState)return!1;var n={};try{n=JSON.parse(s.responseText)}catch(n){console.log(["JSON [X]",n,s.responseText])}void 0===i?t(n):t(n,i)}}},navigator.cookieEnabled||console.log("cookie [X]"),app.cookie={set:function(n,a){a=(a=a.replace("\n\n"," ")).replace("\n"," ");var e=new Date;e.setFullYear(e.getFullYear()+7),document.cookie=encodeURIComponent(n)+"="+encodeURIComponent(a)+"; "+("https:"===window.location.protocol?"SameSite=None; Secure; ":"")+"path=/; domain="+window.location.host+"; expires="+e.toUTCString()},get:function(n){n=encodeURIComponent(n);var a=document.cookie.match(new RegExp("(?:^|; )"+n.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)"));return a?decodeURIComponent(a[1]):void 0},remove:function(n){n=encodeURIComponent(n);var a=new Date(0);document.cookie=n+"=; SameSite=None; Secure; path=/; domain=."+window.location.host+"; expires="+a.toUTCString()},clear:function(){for(var n=document.cookie.split(";"),a="";a=n.pop();)app.cookie.del(a.split("=")[0].trim())},show:function(){console.log(document.cookie.split(";").map((function(n){return n.split("=").map((function(n){return n.trim()})).join(" = ")})).join("\n\n"))}},app.cache={list:{},set:function(n,a){app.cache.list[n]=a},get:function(n){return app.cache.list[n]},remove:function(n){delete app.cache.list[n]}},app.get_image_this=function(n){if(!("data-error"in n.attributes)){n.setAttribute("data-error","1");var a=n.src;n.src="/app/images/no_image.png",app.get_image(a,(function(n,a){a&&(a.src=n)}),n)}},app.get_image=function(n,a,e){"function"!=typeof a&&(a=console.log),app.ajax_type("get_image",{url:n},(function(n,e){void 0!==n&&"url"in n&&(console.log(n),a(n.url,e))}),e)},app.show_url=function(n){let a=n.split("armango.com");(n=1 in a?a[1]:a[0])in app.cache.list?app.show_view(app.cache.list[n]):app.ajax_type("get_data_url",{url:n},app.show_view,n)},app.show_view=function(n,a){void 0===n?n=app.data:app.data=n,"not_scroll_up"in n||window.scrollTo(0,0),"object"==typeof n&&"view"in n&&n.view in app.views?("not_cache"in n||a in app.cache.list||(app.cache.list[a]=n),app.show(app.views[n.view](n)),"title"in n&&(document.title=n.title)):console.log(["not view",n])},app.authorization=function(){let n={};["login","password","captcha_session","captcha_answer"].forEach((function(a){let e=document.getElementById(a);e&&(n[a]=e.value)})),app.ajax_type("authorization",n,app.authorization.receiver)},app.authorization.receiver=function(n){app.test&&console.log(n);var a=document.getElementById("answer");if(a){if(void 0===n)return a.innerHTML="Запрос на авторизацию отклонен, попробуйте повторить через 5 минут",void app.update_captcha();if(void 0===n.ok||0===n.ok||void 0===n.identify)return a.innerHTML=n.text,void app.update_captcha();var e=n.identify.split(" ");app.cookie.set("user_id",e[0]),app.cookie.set("user_key",e[1]),app.cookie.set("user_identify",e[2]),app.user=n.user,app.cart=n.cart,app.cache.list={},app.update_main_view()}else console.log("!answer_object")},app.logout=function(){app.cookie.remove("user_id"),app.cookie.remove("user_key"),app.cookie.remove("user_identify"),app.user={},app.cart={},app.update_main_view()},app.clear_me=function(){app.ajax_type("clear_me")},app.is_authorized=function(){return"ID"in app.user},app.registration=function(){var n=document.getElementById("privacy_policy");if(n&&!1===n.checked)app.registration.show_error("Необходимо согласиться с условиями политики обработки персональных данных");else{var a={};if(["LAST_NAME","NAME","SECOND_NAME","EMAIL","PHONE","COMPANY","INN","password","confirm_password","captcha_session","captcha_answer","CITY"].forEach((function(n){var e=document.getElementById(n);e&&(a[n]=e.value)})),a.password===a.confirm_password){delete a.confirm_password;var e=document.getElementById("receive_spam");e&&!0===e.checked&&(a.receive_spam=1),app.ajax_type("registration",a,app.registration.receiver)}else app.registration.show_error('Данные в поле "Пароль" и <br>данные в поле "Подтверждение пароля" - не совпадают. <br>Исправьте это и повторите попытку регистрации')}},app.registration.show_error=function(n){var a=document.getElementById("answer");if(!a)return console.log("!answer_object"),void alert(n);a.innerHTML=n},app.registration.change_type=function(n){},app.registration.change_file=function(n){var a=document.getElementById("button_file");a&&(0!==n.length?n[0].size>7340032?a.innerHTML="!!! Файл тяжелее 7мб":a.innerHTML="Файл добавлен":a.innerHTML="Добавить файл")},app.registration.receiver=function(n){app.test&&console.log(n);var a=document.getElementById("answer");if(a){if(void 0===n)return a.innerHTML="Запрос на регистрацию отклонен, попробуйте повторить через 5 минут",void app.update_captcha();if(void 0===n.ok||0===n.ok)return"Not type"===n.text&&(n.text="Большие файлы не принимаем, выберите другой, либо уберите текущий"),a.innerHTML=n.text,void app.update_captcha();var e=document.getElementById("EMAIL"),t="";e&&(t=e.value),app.show_view({not_cache:1,view:"registration_ready",title:"Ждите звонка",h1:"Ждите звонка",EMAIL:t},"registration_ready")}else console.log("!answer_object")},app.create_forgot_password=function(){let n,a={},e=["email","captcha_session","captcha_answer"];for(let t=0;t<e.length;t++){if(n=document.getElementById(e[t]),!n)return;a[e[t]]=n.value}app.data.email=a.email,app.ajax_type("create_forgot_password",a,app.create_forgot_password.receiver)},app.create_forgot_password.receiver=function(n){if(!("next"in n))return app.show(n.text,"answer"),void app.update_captcha();app.data.step=1,app.data.user_id=n.user_id,app.show(app.views.forgot_password(app.data))},app.check_code_forgot_password=function(){let n,a={},e=["code","captcha_session","captcha_answer"];for(let t=0;t<e.length;t++){if(n=document.getElementById(e[t]),!n)return;a[e[t]]=n.value}a.email=app.data.email,a.user_id=app.data.user_id,app.data.code=a.code,app.ajax_type("check_code_forgot_password",a,app.check_code_forgot_password.receiver)},app.check_code_forgot_password.receiver=function(n){if(!("next"in n))return delete app.data.step,app.show(app.views.forgot_password(app.data)),void app.show(n.text,"answer");app.data.step=2,app.show(app.views.forgot_password(app.data))},app.set_password_forgot_password=function(){let n,a={},e=["password","password_repeat","captcha_session","captcha_answer"];for(let t=0;t<e.length;t++){if(n=document.getElementById(e[t]),!n)return;a[e[t]]=n.value}a.password===a.password_repeat?(delete a.password_repeat,a.email=app.data.email,a.user_id=app.data.user_id,a.code=app.data.code,app.ajax_type("set_password_forgot_password",a,app.set_password_forgot_password.receiver)):app.show("Повторный пароль не совпадает","answer")},app.set_password_forgot_password.receiver=function(n){if(!("next"in n))return delete app.data.step,app.show(app.views.forgot_password(app.data)),void app.show(n.text,"answer");app.data.step=3,app.show(app.views.forgot_password(app.data))},app.change_password=function(){let n,a={},e=["old_password","password","password_repeat","captcha_session","captcha_answer"];for(let t=0;t<e.length;t++){if(n=document.getElementById(e[t]),!n)return;a[e[t]]=n.value}a.password===a.password_repeat?(delete a.password_repeat,app.ajax_type("change_password",a,app.change_password.receiver)):app.show("Повторный пароль не совпадает","answer")},app.change_password.receiver=function(n){if(!("next"in n))return app.show(n.text,"answer"),void app.update_captcha();app.data.step=1,app.show(app.views.change_password(app.data))},app.update_captcha=function(){app.isCaptchaEnabled&&app.ajax("https://bot2.joyeshop.ru/captcha/?type=get_session_id",{},(function(n){let a=[],e=["captcha_session","captcha_img","captcha_answer"];for(let n=0;n<e.length;n++){let t=e[n];if(a[t]=document.getElementById(t),!a[t])return}a.captcha_session.value=n,a.captcha_img.hasAttribute("onload")&&a.captcha_img.removeAttribute("onload"),a.captcha_img.src="https://bot2.joyeshop.ru/captcha/?type=get_image&color=fa&session="+n,a.captcha_answer.value=""}))},app.input_captcha=function(n){let a=n.value;n.value=a.length>2?a.slice(-2):a},app.update_page=function(){app.show(app.views[app.data.view](app.data))},app.is_admin=function(){return"user"in app&&"admin"in app.user},app.switch_admin=function(){window.scrollTo(0,0),app.is_admin()?delete app.user.admin:app.user.admin=1,app.update_main_view()},app.get_login_key=function(){return[app.cookie.get("user_id"),app.cookie.get("user_key"),app.cookie.get("user_identify")].join("|")},app.set_product_in_cart=function(n,a,e){n=app.string_to_int(n),a=app.string_to_int(a);let t="timer"+n;t in app.set_product_in_cart&&clearTimeout(app.set_product_in_cart[t]),app.set_product_in_cart[t]=setTimeout((function(){app.ajax_type("set_product_in_cart",{product_id:n,quantity:a},app.set_product_in_cart.receiver,e),clearTimeout(app.set_product_in_cart[t]),delete app.set_product_in_cart[t]}),700)},app.set_product_in_cart.receiver=function(n,a){app.test&&console.log(n),"ok"in n&&"cart"in n&&1===n.ok?(app.cart=n.cart,-1!==["cart"].indexOf(app.data.view)?app.update_main_view():a&&"function"==typeof a?a():app.update_cart_top()):console.log(n.text)},app.check_organization=(n=0,a=[])=>{let e={},t={},i=!1;app.user.ORGANIZATIONS&&app.user.ORGANIZATIONS[n]&&(Object.keys(app.user.ORGANIZATIONS[n]).forEach((s=>{0===app.user.ORGANIZATIONS[n][s].trim().length?(i=!0,e[s.replace("UF_","")+`-${n}`]=a[s.replace("UF_","")],t[s]=a[s.replace("UF_","")]):(e[s.replace("UF_","")+`-${n}`]=app.user.ORGANIZATIONS[n][s],t[s]=app.user.ORGANIZATIONS[n][s])})),i&&(e[`COMPANY-${n}`]=e[`WORK_COMPANY-${n}`],delete e[`WORK_COMPANY-${n}`],e.index=n,app.ajax_type("edit_personal_organizations",e,app.save_personal.receiver)))},app.create_order=function(){var n={};["FIO","PHONE","CITY","STREET","HOUSE","INN","JURIDICAL_ADDRESS","CURRENT_ACCOUNT_NUMBER","BIC_BANK"].forEach((function(a){var e=document.getElementById(a);n[a]=e?e.value:""}));let a=document.getElementById("COMPANY");app.storage={companyId:a?a.value:0,dataOrder:n};let e=document.getElementById("use_cashback");e&&e.checked&&(n.USE_CASHBACK=1),n.SELECTED_DELIVERY=app.user.SELECTED_DELIVERY,app.ajax_type("create_order",n,app.create_order.receiver)},app.create_order.receiver=function(n){if(app.check_organization(app.storage.companyId,app.storage.dataOrder),"text"in n&&app.show(n.text,"answer"),!("order_id"in n))return;"cart"in n&&(app.user.CART={},app.user.CART_SORT=[],app.cart=n.cart,app.update_cart_top());let a="/orders/"+n.order_id+"/?new_order";app.show_url(a),app.change_url(a)},app.remove_from_cart=function(n){app.set_product_in_cart(n,0)},app.input_quantity_in_cart=function(n,a){if(!n.hasAttribute("data-id"))return;let e=n.getAttribute("data-id"),t=999999,i=n.hasAttribute("data-minimum")?app.string_to_int(n.getAttribute("data-minimum")):0,s=n.value;""!==s&&(s=app.string_to_int(s),s<i&&(s=i),s>t&&(s=t),n.value=s,app.set_product_in_cart(e,s,a))},app.input_price_list=function(n){if(!n.hasAttribute("data-id"))return;let a=n.getAttribute("data-id");app.input_quantity_in_cart(n,(function(){let e=document.getElementById("product_"+a);if(!e)return;e.className="0"===n.value?"product":"product product_in_cart","cart"in app&&"CART"in app.cart&&a in app.cart.CART&&String(app.cart.CART[a])!==n.value&&(n.value=app.cart.CART[a]);let t=document.getElementById("product_sum_"+a);t&&(t.innerHTML=app.views.price_list_sum(a))}))},app.update_cart_data=function(){app.ajax_type("get_cart",{},app.set_product_in_cart.receiver)},app.update_cart_top=function(){let n=document.getElementById("cart_top");n&&(n.innerHTML=app.views.cart_top())},app.save_order_input=function(n){n.hasAttribute("id")&&(app.user[n.getAttribute("id")]=n.value)},app.click_favorite=function(n){if(!n.hasAttribute("data-product_id"))return;let a=app.string_to_int(n.getAttribute("data-product_id"));if(Array.isArray(app.user.FAVORITES)&&(app.user.FAVORITES={}),a in app.user.FAVORITES){delete app.user.FAVORITES[a];let n=app.user.FAVORITES_SORT.indexOf(a);-1!==n&&app.user.FAVORITES_SORT.splice(n,1)}else app.user.FAVORITES[a]=1,app.user.FAVORITES_SORT.push(a);let e="timer"+a;if(e in app.click_favorite)return clearTimeout(app.click_favorite[e]),void(app.click_favorite[e]=setTimeout((function(){app.ajax_type("save_favorites",{FAVORITES:app.user.FAVORITES,FAVORITES_SORT:app.user.FAVORITES_SORT},app.click_favorite.receiver),clearTimeout(app.click_favorite[e]),delete app.click_favorite[e]}),600));app.click_favorite[e]=setTimeout((function(){clearTimeout(app.click_favorite[e]),delete app.click_favorite[e]}),600),app.ajax_type("save_favorites",{FAVORITES:app.user.FAVORITES,FAVORITES_SORT:app.user.FAVORITES_SORT},app.click_favorite.receiver)},app.click_favorite.receiver=function(n){"ok"in n&&1===n.ok&&"user"in n&&(app.user=n.user)},app.search=function(){var n=document.getElementById("search_field");if(n){var a="/search/"+n.value;app.show_url(a),app.change_url(a)}},app.delete_products=function(n){let a=prompt("Пароль на удаление","");app.ajax_type("delete_products",{password_for_delete:a,products_ids:n},app.delete_products.receiver)},app.delete_products.receiver=function(n){console.log(n),void 0!==n&&"ok"in n&&1===n.ok?alert("Удачно"):alert(0)},app.save_personal=function(){let n,a={},e=["LAST_NAME","NAME","SECOND_NAME","EMAIL","PHONE","PASSPORT","captcha_session","captcha_answer"];for(let t=0;t<e.length;t++){if(n=document.getElementById(e[t]),!n)return;a[e[t]]=n.value}app.ajax_type("save_personal",a,app.save_personal.receiver)},app.save_personal.receiver=function(n){if(app.test&&console.log(n),void 0===n)return app.show("Запрос на изменения отклонен, попробуйте повторить через 5 минут","answer"),void app.update_captcha();1===n.ok&&"user"in n?(app.user=n.user,app.update_main_view()):app.update_captcha(),app.show(n.text,"answer")},app.save_personal_organization=function(){let n,a={},e=["COMPANY","INN","BIC_BANK","CURRENT_ACCOUNT_NUMBER","JURIDICAL_ADDRESS","CITY","STREET","HOUSE","captcha_session","captcha_answer"];for(let t=0;t<e.length;t++){if(n=document.getElementById(e[t]),!n)return;a[e[t]]=n.value}app.ajax_type("save_personal_organization",a,app.save_personal.receiver)},app.edit_personal_organizations=function(n){let a,e={},t=["COMPANY-"+n,"INN-"+n,"BIC_BANK-"+n,"CURRENT_ACCOUNT_NUMBER-"+n,"JURIDICAL_ADDRESS-"+n,"CITY-"+n,"STREET-"+n,"HOUSE-"+n];for(let n=0;n<t.length;n++)a=document.getElementById(t[n]),a&&(e[t[n]]=a.value);e.index=n,app.ajax_type("edit_personal_organizations",e,app.save_personal.receiver)},app.destroy_personal_organization=function(n){let a=document.getElementById(`organization-item-${n}`);a&&a.parentNode.removeChild(a),app.ajax_type("destroy_personal_organizations",{index:n},app.save_personal.receiver)},app.start=function(){let n=document.getElementById("data");if(!n)return;app.data=app.json_to_object(n.value);let a=document.getElementById("seo_box");a&&a.parentNode.removeChild(a),["sections","properties","user","cart"].forEach((function(n){n in app.data&&(app[n]=app.data[n])})),app.history.list.push(window.location.pathname+window.location.search),app.update_main_view(),"user"in app&&"ID"in app.user||window.location.href.split("/")[2]===window.document.referrer.split("/")[2]||app.show_check_18_age()},app.update_main_view=function(){app.focus.save(),app.show(app.views.header_footer(app.data),"app"),app.focus.load()},app.show_check_18_age=function(){let n=document.createElement("div");n.id="check_18_age",n.innerHTML=app.views.check_18_age(),document.getElementsByTagName("body")[0].appendChild(n)},app.show_check_18_age.click=function(n){let a=document.getElementById("check_18_age");a.parentNode.removeChild(a),n?app.cookie.set("have_18_age","1"):app.show('<h1 style="text-align:center;color:#F00;padding:20px;">Доступ закрыт</h1>',"app")},app.focus={id:"",save:function(){app.focus.id=document.activeElement.id},load:function(){if(!app.focus.id)return;let n=document.getElementById(app.focus.id);n&&(n.focus(),"INPUT"===n.tagName&&(n.selectionStart=n.value.length))}},app.slider={list:{},start:function(n){return setTimeout((function(){let a={object:document.getElementById("slider_"+n),children:[],length:0,selected:0,quantity_left_slides:0,play:1};if(!a.object)return"";a.children=a.object.getElementsByTagName("a"),a.length=a.children.length,a.children_last_i=a.length-1,a.quantity_left_slides=Math.floor((a.length-1)/2);let e=a.quantity_left_slides+0;for(;e-- >0;)a.object.prepend(a.children[a.children_last_i]);app.slider.list[n]=a,app.slider.show(n,0),app.slider.play_step(n)}),0),""},show:function(n,a){if(!(n in app.slider.list))return;let e=app.slider.list[n];e.length;for(a=(a>0?a:Math.abs(e.length+a))%e.length;a-- >0;)e.object.append(e.children[0]);e.object.style.cssText=`transform: translateX(-${e.quantity_left_slides}00%);`,e.object.before(e.object),app.slider.update_size()},next:function(n,a){if(!(n in app.slider.list))return;let e=app.slider.list[n];e.object.style.cssText=`transform: translateX(-${e.quantity_left_slides+(a?1:-1)}00%);`,setTimeout((function(){app.slider.show(n,a?1:-1)}),400)},start_move:function(n){let a=window.event,e=document.body.scrollLeft+("touchstart"===a.type?a.touches[0].pageX:a.clientX),t=a.target.offsetWidth,i=a.target.hasAttribute("data-slider_id")?a.target.getAttribute("data-slider_id"):0;if(!(i in app.slider.list))return;let s=app.slider.list[i],p=e;s.play=0,document.onmousemove=function(n){p=document.body.scrollLeft+("touchmove"===n.type?n.touches[0].pageX:n.clientX),s.play=0,s.object.style.cssText=`transform: translateX(calc(-${s.quantity_left_slides}00% + ${p-e}px)); transition:none;`},document.onmouseup=function(n){document.onmousemove=null,document.mouseup=null,document.onmouseup=null,document.ontouchmove=null,document.ontouchend=null,s.play=0;let a=e-p;if(Math.abs(a)<20){let n=s.children[s.quantity_left_slides].href;return app.show_url(n),void app.change_url(n)}let r=Math.round(a/t);s.object.style.cssText=`transform: translateX(-${s.quantity_left_slides+r}00%);`,0!==r&&setTimeout((function(){app.slider.show(i,r)}),400)},document.ontouchmove=document.onmousemove,document.ontouchend=document.onmouseup},play:function(n){n in app.slider.list&&(app.slider.list[n].play=1)},stop:function(n){n in app.slider.list&&(app.slider.list[n].play=0)},play_step:function(n){app.slider.list[n].timer=setTimeout((function(){document.getElementById("slider_"+n)&&(1===app.slider.list[n].play&&app.slider.next(n,1),app.slider.play_step(n))}),3e3)},update_size:function(){let n=document.getElementById("slider_main");if(!n)return;let a=n.offsetWidth;if(a>500)return;let e=document.getElementById("slider_main_style");e&&(slider_main_height=.664*a,slider_main_height=Math.round(slider_main_height),e.innerHTML=".slider img.for_mobile { width:"+String(a)+"px; } #main .main_top .slider, #main .slider a { height:"+String(slider_main_height)+"px; }")}},app.bonus={count:40,progress:()=>40,parse:{date:n=>new Intl.DateTimeFormat("ru",{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"}).format(new Date(n)),sum:n=>new Intl.NumberFormat("ru",{}).format(n),price:n=>new Intl.NumberFormat("ru",{style:"currency",currency:"RUB",currencyDisplay:"symbol",maximumFractionDigits:0}).format(n)},fetch:()=>{app.ajax_type("bonus_history",{offset:app.data&&app.data.accruals?app.data.accruals.data.length:0},app.bonus.history)},empty:(n=!0)=>{const a=document.querySelector("#personalBonusHistory"),e=a.querySelector(".accrual_box-more");n?e&&!e.classList.contains("nope")&&e.classList.add("nope"):a.innerHTML="<div class='accruals_box-empty'><p>Нет начислений</p></div>"},render:()=>{let n="";return app.data.accruals.data.forEach((a=>{n+=`\n                <div class="accrual_box">\n                    <h1 class="accrual_box-title">№ ${a.ID}</h1>\n                    <p class="accrual_box-date">\n                        <strong>Дата расчета:</strong>\n                        <date>${app.bonus.parse.date(a.UF_DATE_ADD)}</date> \n                    </p>\n                    <p class="accrual_box-sum"><span>+ ${app.bonus.parse.sum(a.UF_SUM)}</span></p>\n                    <a href="/personal_bonus_history/${a.ID}">Подробнее</a>\n                    </div>\n            `})),1==app.data.accruals.ok&&(n+='<div class="accrual_box-more">\n                    <button class="button_dark" onclick="app.bonus.fetch()">Показать ещё</button>\n                </div>'),n},history:(n=[])=>{let a="";if(app.data.accruals){if(1!==n.ok)return void app.bonus.empty();app.data.accruals.ok=n.ok,app.data.accruals.data.push(...n.data),a=app.bonus.render()}else{if(1!=n.ok)return-1==n.ok?void app.bonus.empty(!1):void app.bonus.empty();app.data.accruals=n,a=app.bonus.render()}document.querySelector("#personalBonusHistory").innerHTML=a},detail:{list:{render:()=>{let n="",a=app.data.content.list;for(const e in a){const t=a[e].reduce(((n,a)=>n+Number(a.proportion)),0),i=a[e].reduce(((n,a)=>n+Number(a.multiplied1)),0);n+=`\n                    <div class="order">\n                        <div onclick="app.bonus.detail.list.toggle(this)" class="order__head">\n                            <div>\n                                <h3>Заказ №${e}</h3>\n                                <img class="arrow_down" src="/app/images/svg/arrow_down.svg" alt="arrow_down" width="12" height="12">\n                            </div>\n                            <div>\n                                <p>\n                                    <span class="bonus">+${app.bonus.parse.sum(Math.round(t))}</span>\n                                </p>\n                            </div>\n                        </div>\n                        <div class="order__body close">\n                            <div class="products__head">\n                                <div>Название</div>\n                                <div style="text-align: right;">Цена за шт</div>\n                                <div class="quantity_box">Кол-во</div>\n                                <div>Сумма</div>\n                                <div>Баллы</div>\n                            </div>\n                            <div class="products__body">\n                                ${app.bonus.detail.list.products(a[e])}\n                                <div class="product total">\n                                    <p class="final"><strong>Итого:</strong></p>\n                                    <p></p>\n                                    <p></p>\n                                    <p class="price">${app.bonus.parse.price(i)}</p>\n                                    <p class="bonus">+<span>${app.bonus.parse.sum(Math.round(t))}</span></p>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                `}return n},products:n=>{let a="";return n.forEach((n=>{a+=`\n                        <div class="product">\n                            <p class="id">\n                                <a href="/catalog/${n.code}.html" target="_blank">${n.name}</a>\n                            </p>\n                            <p class="price">${app.bonus.parse.price(n.price)}</p>\n                            <p class="quantity_box">${n.quantity} шт.</p>\n                            <p>${app.bonus.parse.price(n.multiplied1)}</p>\n                            <p class="bonus">+<span>${app.bonus.parse.sum(Math.round(n.proportion))}</span></p>\n                        </div>\n                    `})),a},toggle:n=>{const a=n.parentNode;n.querySelector(".arrow_down").classList.toggle("active"),n.querySelector(".bonus").classList.toggle("active"),a.querySelector(".order__body").classList.toggle("close")}}}},app.organizations={data:{selected:0},toggle:n=>{n.classList.toggle("active")},options:()=>app.user.ORGANIZATIONS.map(((n,a)=>`<option value="${a}">${n.WORK_COMPANY}</option>`)).join(""),switch:n=>{let a=n.target.value;app.organizations.data.selected=a;let e=document.getElementById("INN"),t=document.getElementById("JURIDICAL_ADDRESS"),i=document.getElementById("CURRENT_ACCOUNT_NUMBER"),s=document.getElementById("BIC_BANK"),p=document.getElementById("CITY"),r=document.getElementById("STREET"),o=document.getElementById("HOUSE"),d=app.user.ORGANIZATIONS[a];e&&(e.value=d.UF_INN),t&&(t.value=d.UF_JURIDICAL_ADDRESS),i&&(i.value=d.UF_CURRENT_ACCOUNT_NUMBER),s&&(s.value=d.UF_CURRENT_ACCOUNT_NUMBER),p&&(p.value=d.UF_CITY),r&&(r.value=d.UF_STREET),o&&(o.value=d.UF_HOUSE)}};const btnUp=document.createElement("button");btnUp.className="btn-up btn-up__hide",document.body.appendChild(btnUp),window.addEventListener("scroll",(()=>{(window.scrollY||document.documentElement.scrollTop)>document.documentElement.clientHeight?btnUp.classList.remove("btn-up__hide"):btnUp.classList.add("btn-up__hide")})),btnUp.addEventListener("click",(()=>{window.scrollTo({top:0,left:0,behavior:"smooth"})})),app.cart_by_price_list={upload:n=>{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"===n.files[0].type?app.ajax_with_files("cart_by_price_list",{},n,app.cart_by_price_list.reciever):app.answer("Неверный тип файла","answer")},reciever:function(n){1==n.ok&&(app.user.CART=n.cart||[],app.user.CART_SORT=n.sort||[],app.update_cart_data(),app.update_main_view()),app.show(n.text,"answer")}},app.cart_by_price_list={upload:n=>{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"===n.files[0].type?app.ajax_with_files("cart_by_price_list",{},n,app.cart_by_price_list.reciever):app.answer("Неверный тип файла","answer")},reciever:function(n){if(1==n.ok){app.user.CART=n.cart||[],app.user.CART_SORT=n.sort||[],app.update_cart_data(),app.update_main_view();let a="/cart/";app.show_url(a),app.change_url(a)}app.show(n.text,"answer")}},app.is_manager=()=>!!app.user&&!!(app.user.GROUPS[21]&&app.user.GROUPS[20]&&app.user.GROUPS[11]),app.toggle_best_product=n=>{app.ajax_type("toggleBestProducts",{product_id:n},app.toggle_best_product.answer)},app.toggle_best_product.answer=n=>{app.test&&console.log(n),n?(n.text&&alert(n.text),n.ok&&1==n.ok&&(app.show_url(location.pathname),app.change_url(location.pathname))):alert("Что-то пошло не так, ответ с сервера не получен")},app.faq={toggle(n){if(!n)return;if(!n.parentElement)return;let a=!!n.parentElement.getAttribute("open");n.parentElement.removeAttribute(a?"open":"close"),n.parentElement.setAttribute(a?"close":"open",a?"close":"open")}},app.views={},app.views.about_line=function(n){return void 0===n&&(n={}),'\n<div class="about_line">\n    <img src="/app/images/logo.png" alt="ARMANGO LOGO">\n    <h1>Оптовый поставщик альтернативных способов доставки никотина</h1>\n    <p>\n        Armango является успешной компанией-поставщиком альтернативных способов доставки никотина. \n        Мы занимаемся поставками уже длительное время и сегодня представлены крупным реализатором. \n        У нас можно приобрести электронные сигареты оптом, комплектующими к вейпам и иную табачную продукцию по низким ценам.\n        Приглашаем к сотрудничеству дистрибьюторов, табачные магазины и кальянные. \n        У нас вы найдете всю необходимую продукцию для дальнейшей реализации. \n        Заказчикам предлагаются только качественная продукция известных брендов, \n        например WAKA, BRUSCO, DABBLER, Vaporesso, MEW, SKALA и др.\n    </p>\n    <h2>\n        Почему нашей продукции можно доверять?\n    </h2>\n    <p>\n        Компания Armango уже много лет на рынке никотиновой продукции и сегодня налажены поставки от надежных производителей. \n        Каталог электронных сигарет и расходных материалов представлен товарами, которые проверены временем и пользуются спросом по всему миру.\n        За счет прямых поставок мы способны предложить качественный продукт по оптовой цене. \n        Все товары из каталога имеются на складе и готовы к отправке партнерам. \n        Мы активно сотрудничаем с дистрибьюторами, розничными продавцами и кальянными. \n        Помогаем заказчикам с выбором альтернативных способов доставки никотина. \n        Если вы желаете купить вейпы или расходные материалы — оставьте заявку на сайте или по телефону. \n        Мы быстро изучим ваш запрос и согласуем детали поставок.\n    </p>\n</div>'},app.views.articles=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    <div class="mini_text_top">Статьи ARMANGO. Обзор и представление новых продуктов как кальянной, так и vape индустрии.</div>\n    <div class="articles_list">\n        ${Object.keys(n.list).map((function(a){return app.views.articles_item(n.list[a])})).join("")}\n    </div>\n    ${app.views.pagination(n)}\n</div>`},app.views.articles_detail=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${"article"in n?`\n        ${app.is_admin()&&"ID"in n.article?`<a href="/bitrix/admin/iblock_element_edit.php?IBLOCK_ID=35&type=content&ID=${n.article.ID}" target="_blank">${n.article.ID}</a>`:""}\n        <div class="articles_detail">\n            <div class="date">${n.article.DATE_CREATE}</div>\n            <div class="articles_content">${n.article.DETAIL_TEXT}</div>\n            <div class="views">${n.article.views_article} просмотров</div>\n        </div>\n        ${app.views.products(n.products)}\n    `:""}\n</div>`},app.views.articles_item=function(n){return void 0===n&&(n={}),`\n<a href="/articles/${n.CODE}/" class="item">\n    <img \n        src="/upload/app/400_400/${n.PREVIEW}" \n        alt="${n.NAME}" \n        onerror="app.get_image_this(this)" \n        width="304" height="171" \n    />\n    <div class="info">\n        <div class="title">${n.NAME}</div>\n        <div class="text">${n.PREVIEW_TEXT}</div>\n        <div class="date">${"DATE_CREATE"in n?n.DATE_CREATE.slice(0,-3):""} &middot; ${"views_article"in n?n.views_article:"1"} просмотров</div>\n    </div>\n</a>`},app.views.auth=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?app.views.auth_good(n):`\n    <div class="form_box1">\n    <form class="form1" onsubmit="app.authorization();return false">\n        <div class="line">\n            <div class="name">E-mail</div>\n            <input \n                type="text" \n                id="login"\n                placeholder="my_mail@yandex.ru" \n                required \n            />\n        </div>\n        <div class="line">\n            <div class="name">Пароль<a href="/forgot_password/">Забыл пароль?</a></div>\n            <input \n                type="password" \n                id="password" \n                required \n            />\n        </div>\n        \n\n        ${app.views.captcha()}\n\n        \n        <div class="final_button_box">\n            <div id="answer"></div>\n            <div class="table_line">\n                <button class="button_bright">ВОЙТИ</button>\n                <a class="button_light" href="/registration/">Регистрация</a>\n            </div>\n        </div>\n    </form>\n    </div>`}\n</div>`},app.views.auth_good=function(n){return void 0===n&&(n={}),'\nВы авторизованны<br/>\n<a class="button_dark" href="/personal/">Профиль</a>\n<button class="button_dark" data-type="logout">Выйти</button>\n'},app.views.captcha=function(n){return void 0===n&&(n={}),`\n<div class="captcha_box" ${app.isCaptchaEnabled?"":'style="position:fixed; top:-1000px;"'}>\n\t<input \n\t    name="captcha_session" \n\t    id="captcha_session" \n\t    type="hidden" \n\t    value=""\n\t/>\n\t<div class="line">\n            <div class="name">\n                <img \n                    onload="app.update_captcha()" \n                    class="captcha_img" \n                    id="captcha_img" \n                    onclick="app.update_captcha();" \n                    src="https://bot2.joyeshop.ru/captcha/?type=get_image&color=fa" \n                    alt="captcha_img" \n                    draggable="false"\n                />\n            </div>\n            <input \n                name="captcha_answer" \n                id="captcha_answer" \n                type="number" \n                min="0" \n                max="1000" \n                maxlength="3"\n                placeholder="Введите ответ" \n                ${app.isCaptchaEnabled?'required=""':""}\n                \n                oninput="app.input_captcha(this)"\n            />\n    </div>\n</div>`},app.views.cart=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <div class="personal_box cart_box">\n        ${app.views.personal_menu(n)}\n        <div class="list">\n<div class="product titles">\n    <div class="image_and_name">Товар</div>\n    <div class="stores">Наличие</div>\n    <div class="quantity">Количество</div>\n    <div class="amount">Сумма</div>\n</div>            \n${0===app.cart.CART_SORT.length?'<div class="list_empty">Ваша корзина пуста<br><a href="/catalog/" class="button_bright">Каталог</a></div>':app.cart.CART_SORT.map((function(n){if(!(n in app.cart.products))return"";let a=app.cart.products[n];return`\n<div class="product" >\n    <a class="image_and_name" href="/catalog/${a.CODE}.html" draggable="false">\n        <img \n            class="image" \n            src="${"DETAIL"in a?`/upload/app/80_80/${a.DETAIL}`:"/app/images/no_image.png"}" \n            alt="${a.NAME}" \n            title="#${a.ID}" \n            onerror="app.get_image_this(this)" \n            width="80" height="80" \n        ><div \n            class="name"\n        >${a.NAME}</div>\n    </a>\n    ${a.IN_STOCK<1?'<div class="stores out_of_stock" >Нет в наличии</div>':`\n    <div class="stores">${app.hide_stores?a.IN_STOCK>10?"Много":"Мало":`${a.IN_STOCK} шт`}</div>\n    <div class="quantity">${app.views.form_plus_minus({id:a.ID,value:app.cart.CART[a.ID],oninput:"app.input_quantity_in_cart(this)",minimum:1})}</div>\n    <div class="price_box">\n        <div class="price" \n        >${app.get_show_price(a.price_sum)}</div>\n        ${"price_sum_old"in a?`<div class="price_old" >${app.get_show_price(a.price_sum_old)}</div>`:""}\n        <div class="price_box_hover">\n            ${app.get_show_price(a.PRICE)}р * ${a.quantity_in_cart}шт = ${app.get_show_price(a.price_sum)}р\n            ${"price_sum_old"in a?`<div style="opacity:0.3;\n\ttext-decoration:line-through;\n\tfont-size:12px;">${app.get_show_price(a.PRICE_OLD)}р * ${a.quantity_in_cart}шт = ${app.get_show_price(a.price_sum_old)}р</div>`:""}\n        </div>\n    </div>`}\n    <button \n        title="Убрать из корзины"\n        class="remove_product"\n        type="button"\n        data-type="remove_from_cart"\n        data-product-id="${a.ID}"\n    ></button>\n</div>\n`})).join("")}</div>\n        <div>\n            <a \n            class="button_light cart_price_list" \n            href="/cart_price_list/"\n        ><img \n            src="/app/images/icons/xls.png"\n            width="12" height="12"\n            alt=""\n        >Заказать через прайс-лист</a>\n        <div class="cart_results">\n            <div class="table_line final_price">\n                <div>Итог:</div>\n                <div class="price_box">\n                    <div class="price">${app.get_show_price(app.cart.price_sum)}</div>\n                    ${"price_sum_old"in app.cart?`<div class="price_old" >${app.get_show_price(app.cart.price_sum_old)}</div>`:""}\n                </div>\n            </div>\n            <div class="cart_results_info">\n                <div>В вашей корзине:</div>\n                <div>${app.get_show_price(app.cart.quantity_products)} товаров</div>\n            </div>\n          \n            ${app.cart.price_sum<1e4?`<div class="alert_text">Минимальная сумма <br>для оформления заказа<br>\n<div class="price">10 000</div>Необходимо набрать <br>ещё на <div class="price">${app.get_show_price(1e4-app.cart.price_sum)}</div></div>`:'<a class="button_bright" href="/create_order/">Перейти к оформлению</a>'}\n            \n          \n            <div class="table_line cart_results_delivery">\n                <div>Доставка</div>\n                <div>\n                    <div class="free">${app.cart.price_sum>5e4?"&#10003; ":""}Бесплатно</div>\n                    <div class="price">от 50 000</div>\n                </div>\n            </div>\n              \n          \n            \x3c!--div class="text">${app.cart.discount_text}${"discount_text_sum"in app.cart&&app.cart.discount_text_sum>0?`<div class="price">${app.get_show_price(app.cart.discount_text_sum)}</div>`:""}\n            </div--\x3e\n        </div>\n        </div>\n    </div>`:app.views.need_authorization(n)}\n</div>`},app.views.cart_price_list=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.is_authorized()?'\n    <div class="cart_price_list_container">\n        <label\n            for="price_list"\n            class="button_light"\n        >\n            <img\n                src="/app/images/icons/xls.png"\n                width="12"\n                height="12"\n                alt=""\n            >\n            Заказать через прайс-лист\n        </label>\n        <input\n            type="file"\n            id="price_list"\n            onchange="app.cart_by_price_list.upload(this)"\n            class="cart_price_list_file"\n            accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"\n        >\n        <div id="answer"></div>\n        <h1>Инструкции по заполнению прайс-листа</h1>\n        <p>\n            Уважаемые пользователи,<br>\n            Пожалуйста, следуйте данным правилам для корректного заполнения колонны Е в прайс-листе:\n        </p>\n        <ol class="bonus_info_more">\n            <li>\n                Область редактирования:\n                <ol>\n                    <li>Запрещено редактирование: Колонки A, B, C, D, F и далее находятся под защитой и не должны изменяться.</li>\n                    <li>Разрешено редактирование: Только колонка E предназначена для ввода количества товара.</li>\n                </ol>\n            </li>\n            <li>\n                Формат данных:\n                <ol>\n                    <li>Колонка E имеет числовой формат. Убедитесь, что вводимые значения - это целые числа (например, 1, 2, 10) без десятичных знаков.</li>\n                    <li>Не вводите текст или символы, так как это может привести к ошибкам в расчёте итоговой суммы.</li>\n                </ol>\n            </li>\n            <li>\n                Допустимые значения:\n                <ol>\n                    <li>Вводите только положительные числа. Нельзя использовать отрицательные значения или нули.</li>\n                </ol>\n            </li>\n            <li>\n                Расчёт итоговой суммы:\n                <ol>\n                    <li>Колонка E используется для расчета итоговой суммы заказа. Убедитесь, что данные введены корректно, так как ошибка в количестве повлияет на общий расчет.</li>\n                    <li>Итоговая сумма будет автоматически рассчитываться на основе введенного количества и цен, указанных в других колонках. Но сумма рассчитывается относительно цен товаров на сайте.</li>\n                </ol>\n            </li>\n            <li>\n                Сохранение файла:\n                <ol>\n                    <li>После завершения заполнения колонки E сохраните файл. Убедитесь, что вы не изменили другие колонки.</li>\n                </ol>\n            </li>\n        </ol>\n        <p>\n            Если у вас возникнут вопросы или потребуется помощь, пожалуйста, свяжитесь с вашим менеджером.<br>\n            Ваша команда Armango.\n        </p>\n    </div>\n\n    ':app.views.need_authorization(n)}\n</div>`},app.views.cart_top=function(n){return void 0===n&&(n={}),`\n<img class="cart_icon" src="/app/images/svg/cart${app.cart.price_sum>1e4?"_full":""}.svg" alt="cart_icon" width="26" height="25" />\n<div class="cart_top_description">${"cart"in app&&"quantity_products"in app.cart&&"price_sum"in app.cart&&app.cart.quantity_products>0?`<div class="quantity">${app.get_show_price(app.cart.quantity_products)}  шт</div>\n        <div class="price_box">\n            <div class="price">${app.get_show_price(app.cart.price_sum)}</div>\n            ${"price_sum_old"in app.cart?`<div class="price_old" >${app.get_show_price(app.cart.price_sum_old)}</div>`:""}\n        </div>`:"Корзина пуста"}</div>\n\n`},app.views.catalog_detail=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    <div class="catalog_detail_box">\n        <div class="image_box">\n            <img \n                id="main_image"\n                src="/upload/app/400_400/${n.product.DETAIL}" \n                alt="${n.product.NAME}" \n                width="400" height="400" \n                title="#${n.product.ID}" \n                onerror="app.get_image_this(this)"\n                draggable="false"\n                >\n${"IMAGES"in app.data.product?`<div class="list">${app.data.product.IMAGES.map((function(a){return`<button \n        data-type="catalog_detail_show_image" \n        data-image="${a}"\n    ><img \n        src="/upload/app/80_80/${a}" \n        alt="${n.product.NAME}" \n        onerror="app.get_image_this(this)"\n        draggable="false"\n    ></button>`})).join("")}</div>`:""}\n        </div>\n        <div class="property_box">\n${"ALL_COLORS"in n.product?`<div class="choose_color_box">\n        <div class="title">Выбрать цвет</div>\n        <div class="list">${n.product.ALL_COLORS.map((function(a){return`\n            <a \n                ${n.product.PROPERTIES.COLOR===a.COLOR?'class="selected" ':`href="/catalog/${a.CODE}.html#not_scroll_up" `}\n                title="${a.COLOR}"\n                ><img \n                    src="/upload/app/40_40/${a.DETAIL}" \n                    alt="${a.COLOR}"\n                    width="40" height="40" \n                    onerror="app.get_image_this(this)"\n                    draggable="false"\n                ></a>`})).join("")}\n        </div>\n    </div>`:""}\n            \n            ${app.views.product_properties(n.product.PROPERTIES)}\n\n            ${app.views.catalog_detail_delivery()}\n        </div>\n        <div class="buy_box">\n            ${app.is_authorized()?`\n            \n            ${n.product.PRICE_OLD?`\n                <div class="base_price table_line">\n                    <div class="name">Базовая цена</div>\n                    <div class="price">${app.get_show_price_catalog(n.product.PRICE_OLD)}</div>\n                </div>\n                <div class="base_price table_line">\n                    <div class="name">Предложение месяца</div>\n                    <div class="price">${app.get_show_price_catalog(n.product.PRICE)}</div>\n                </div>\n            `:`\n                <div class="base_price table_line">\n                    <div class="name">Базовая цена</div>\n                    <div class="price">${app.get_show_price_catalog(n.product.PRICE)}</div>\n                </div>\n            `}\n            \n\n            \n            ${"PRICE_RETAIL"in n.product?`<div class="base_price table_line" title="Рекомендуемая розничная цена">\n                <div class="name">РРЦ</div>\n                <div class="price">${app.get_show_price_catalog(n.product.PRICE_RETAIL)}</div>\n            </div>`:""}\n            \n        \n\n<div class="box_in_cart">\n    ${"IN_STOCK"in n.product&&0!==n.product.IN_STOCK?`\n    <div class="sum">Товар на сумму:&emsp;<div id="catalog_detail_sum" class="price">${app.get_show_price(n.product.PRICE)}</div></div>\n    <div class="in_storage" data-title="${"STORE"in app.data.product?Object.keys(app.data.product.STORE).map((function(n){return n+" "+app.data.product.STORE[n]+"; "})).join(""):""}"><b>Наличие:</b>&emsp;${app.hide_stores?n.product.IN_STOCK>10?"Много":"Мало":n.product.IN_STOCK}</div>\n    ${app.views.form_plus_minus10({id:++app.unique_id,minimum:1,value:app.user.CART[n.product.ID]||1,oninput:"app.input_form_int(this);app.change_catalog_detail_sum(this)"})} \n    ${"cart"in app&&"CART"in app.cart&&n.product.ID in app.cart.CART?`<button \n                type="button"\n                class="button_bright good_add_in_cart" \n                data-type="in_cart" \n                data-product-id="${n.product.ID}" \n                data-quantity-id="${app.unique_id++}"\n            >Добавить</button>`:`<button \n                type="button"\n                class="button_bright" \n                data-type="in_cart" \n                data-product-id="${n.product.ID}" \n                data-quantity-id="${app.unique_id++}"\n            >В корзину</button>`}\n    \x3c!-- <button \n        type="button"\n        class="button_bright" \n        data-type="in_cart" \n        data-product-id="${n.product.ID}" \n        data-quantity-id="${app.unique_id++}"\n    >В корзину</button>--\x3e`:'<div class="sum">Товара нет в наличии</div>'}\n</div>\n`:'\n<div class="info_not_authorized">\n    Оптовые цены доступны только после <a href="/registration/">регистрации</a>, либо после согласования\n    с <a href="/contacts/">менеджером</a>. Минимальная сумма заказа от 10 000 рублей.\n    \n</div>\n'}\n\n            ${app.views.catalog_detail_payment()}\n        </div>\n        <div class="buttons_switching_content">\n            <button data-type="show_product_description">Описание</button>\n            <button data-type="show_product_properties">Характеристики</button>\n        </div>\n        <div class="buttons_other">\n            ${app.is_authorized()?`<button data-type="favorite" data-product_id="${n.product.ID}" data-view="catalog_detail">${n.product.ID in app.user.FAVORITES?'<img src="/app/images/svg/in_favorite.svg" alt="favorite"><div>В избранном</div>':'<img src="/app/images/svg/favorite.svg" alt="favorite"><div>В избранное</div>'}</button>`:""}\n            \n            ${app.is_authorized()&&app.is_manager()||app.is_admin()?`\n                    <button class="button_dark" onclick="app.toggle_best_product(app.data.product.ID)">\n                        ${1==app.data.product.IN_BEST_PRODUCTS?"Убрать из лучших товаров":"Добавить в лучшие товары"}\n                    </button>\n                `:""}\n\n            \n            <a href="/contacts/"><img src="/app/images/svg/headset.svg" alt="headset"><div>Связаться с менеджером</div></a>\n            \x3c!--${app.is_authorized()?'<button><img src="/app/images/svg/add.svg" alt="add"><div>Сообщить о наличии</div></button>':""}--\x3e\n        </div>\n        <div class="content_box" id="content_box">\n            ${"description_product"in n?n.description_product:""}\n        </div>\n    </div>\n    \n    ${"products"in n&&n.products?`<div class="list_best_products">\n        <div class="main_title">С этим товаром покупают</div>\n        ${app.views.products(n.products)}\n    </div>`:""}\n</div>`},app.views.catalog_detail_delivery=function(n){return void 0===n&&(n={}),'\n<div class="delivery_box">\n    <h2><img src="/app/images/svg/delivery_car.svg" alt="delivery_car">Доставка</h2>\n    <div class="text">\n        Доставка заказанных Вами товаров осуществляется во все города России транспортными компаниями «СДЭК» и «Деловые линии».\n        <div class="red_text">При заказе от 50 000 рублей - доставка за наш счёт, любой транспортной компанией!!!</div>\n        Доставка до терминала бесплатная. Заказы отправляются с центрального склада в г. Самара.\n        <b>Стоимость доставки зависит от тарифов ТК. Примерные цены можно уточнить на сайте транспортной компании.</b>\n    </div>\n</div>'},app.views.catalog_detail_payment=function(n){return void 0===n&&(n={}),'\n<div class="delivery_box">\n    <h2><img src="/app/images/svg/rub.svg" alt="ruble">Оплата</h2>\n    <div class="text">\n        Оптовая компания Арманго работает только с юридическими лицами и индивидуальными предпринимателями. Оплата производится только безналичным способом, по счёту выставленному нашим оптовым менеджером.\n    </div>\n</div>'},app.views.catalog_filter=function(n){return void 0===n&&(n={}),`\n<form class="catalog_filter" onsubmit="return false">\n    \x3c!--div class="filter">\n        <div class="title">Цена</div>\n        <div class="values">\n            <input \n                id="price_minimum"\n                data-type="price_minimum" \n                oninput="app.oninput_filter_price(this);" \n                placeholder="От ${app.get_show_price(n.minimum_price_section)}" \n                type="text" \n                ${"price_minimum"in n?`value="${app.get_show_price(n.price_minimum)}"`:""} \n            />\n            <input \n                id="price_maximum"\n                data-type="price_maximum" \n                oninput="app.oninput_filter_price(this);" \n                placeholder="До ${app.get_show_price(n.maximum_price_section)}" \n                type="text" \n                ${"price_maximum"in n?`value="${app.get_show_price(n.price_maximum)}"`:""} \n            />\n        </div>\n    </div--\x3e\n    <div class="filter">\n        <div class="title">Наличие</div>\n        <div class="values">\n            <button class="item" data-type="filter_availability" data-value="0"><div class="checkbox checkbox-round">${"availability_all"in n?"":"<i></i>"}</div>Только в наличии\n            </button>\n            <button class="item" data-type="filter_availability" data-value="1"><div class="checkbox checkbox-round">${"availability_all"in n?"<i></i>":""}</div>Все\n            </button>\n        </div>\n    </div>\n${"section_properties"in n?app.properties.map((function(a){return"Y"===a.FILTRABLE&&a.CODE in n.section_properties?`\n            <div class="filter">\n                <div class="title">${a.NAME}</div>\n                <div class="values">${Object.keys(n.section_properties[a.CODE]).sort((function(n,a){return app.is_numeric(n.split(" ")[0])&&(n=Number(n.split(" ")[0]),a=Number(a.split(" ")[0])),n<a?-1:n>a?1:0})).map((function(e){var t=a.CODE in n.products_properties&&e in n.products_properties[a.CODE];return`<button class="item${t?"":" hide"}" data-type="filter" data-code="${a.CODE}" data-value="${e}" ><div class="checkbox">${a.CODE in n.selected_properties&&e in n.selected_properties[a.CODE]?"<i></i>":""}</div>${e}${t?` (${n.products_properties[a.CODE][e]})`:""}\n                            </button>`})).join("")}\n                </div>\n            </div>`:""})).join(""):""}    \n<button class="button_light" data-type="filter_clear">Сбросить фильтры</button>\n</form>`},app.views.catalog_list=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    <div class="catalog_box flex_center">\n        <div class="catalog_left_box">\n            ${app.is_admin()&&"section_id"in n?`<a href="/bitrix/admin/iblock_section_edit.php?IBLOCK_ID=36&type=1c_catalog&lang=ru&ID=${n.section_id}&form_section_36_active_tab=edit1" target="_blank">section ${n.section_id}</a>`:""}\n            \n            ${"children"in app.sections[n.section_id]?`\n            <nav class="nav_children_section">\n            ${app.sections[n.section_id].children.map((function(a){let e=app.sections[a];return`<a href="${n.url_way}${e.CODE}/">${e.NAME}</a>`})).join("")}\n            </nav>`:""}\n            ${app.views.catalog_filter(n)}\n        </div>\n        <div class="catalog_list">\n            ${app.views.products(n.products)}\n            <div class="table_line">\n                ${app.views.pagination(n)}\n                \x3c!--${app.views.quantity_items(n)}--\x3e\n            </div>\n            ${n.description_section&&0!==n.description_section.length?`<div class="description_section">${n.description_section}</div>`:""}\n        </div>\n    </div>\n</div>`},app.views.certificates_and_declarations=function(n){return void 0===n&&(n={}),`\n<div class="max_width certificates_and_declarations">\n    ${app.views.h1(n)}\n    <div class="list_pdf">\n        ${n.list.map((n=>`\n        <div class="item">\n            <div class="name">${n}</div>\n            <a class="button_light" href="/upload/certificates_and_declarations/${n}.pdf" target="_blank">Смотреть</a>\n            <a class="button_light" href="/upload/certificates_and_declarations/${n}.pdf" target="_blank" download>Скачать</a>\n        </div>\n        `)).join("")}\n    </div>\n</div>`},app.views.change_password=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`<div class="form_box1">\n        ${"step"in app.data&&1===app.data.step?'<form class="form1" onsubmit="return false">\n                <p>Пароль успешно изменён!</p>\n                <div class="final_button_box">\n                    <div id="answer"></div>\n                    <a class="button_bright" href="/personal/">Профиль</a>\n                </div>\n            </form>':`<form class="form1" onsubmit="app.change_password();return false">\n                <div class="line"><div class="name">Старый пароль</div><input type="password" id="old_password" maxlength="50" required /></div>\n                <div class="line"><div class="name">Новый пароль</div><input type="password" id="password" maxlength="50" required /></div>\n                <div class="line"><div class="name">Повторите новый пароль</div><input type="password" id="password_repeat" maxlength="50" required /></div>\n                ${app.views.captcha()}\n                <div class="final_button_box">\n                    <div id="answer"></div>\n                    <button class="button_bright">Отправить</button>\n                </div>\n            </form>`}</div>`:app.views.need_authorization(n)}\n</div>`},app.views.check_18_age=function(n){return void 0===n&&(n={}),'\n<div class="box_18" onclick="event.stopPropagation()">\n    <img src="/app/images/armango_logo.svg" alt="armango_logo" width="175" height="35">\n    <div class="text">\n        Вы находитесь на сайте оптовой компании ARMANGO. Компания ARMANGO поставляет товар<br class="br1"> \n        исключительно с целью его дальнейшей перепродажи.<br><br>ПОДТВЕРДИТЕ, ЧТО ВАМ БОЛЬШЕ 18 ЛЕТ.<br class="br1">\n        Данный сайт предназначен исключительно для лиц, достигших 18 лет. Сайт содержит информацию о <br class="br1">\n        табачной и никотиносодержащей продукции и имеет целью предоставление информации о <br>\n        потребительских свойствах и качественных характеристиках товара.<br class="br1">\n        Нажимая кнопку "Да, мне больше 18 лет", вы подтверждаете, что вам исполнилось полных 18 лет и вы <br class="br1">\n        согласны получить информацию, касающуюся табачных и никотиносодержащих изделий.<br class="br1">\n        Если вам нет 18 лет или для вас неприемлема указанная тематика сайта, пожалуйста, покиньте его.<br class="br1">\n        Мы используем cookie-файлы, чтобы предоставлять услуги, наиболее отвечающие Вашим потребностям. <br class="br1">\n        Продолжая просмотр сайта, Вы соглашаетесь на сбор и использование cookie-файлов и других данных.\n        \n        <a href="/privacy_policy/">Подробнее</a>\n    </div>\n    \n    <div class="buttons">\n        <div class="title">Вам уже исполнилось 18 лет?</div>\n        <button data-type="check_18_age" data-value="1" class="button_yes">ДА</button>\n        <button data-type="check_18_age">НЕТ</button>\n    </div>\n    \n    <div class="footer_line">\n        <div class="number">18+</div>\n        <div class="footer_text">\n            Продукция, представленная на сайте armango.com предназначена только для лиц достигших 18 лет.<br>\n            Нажимая на кнопку «да» вы подтверждаете свое совершеннолетие\n        </div>\n    </div>\n    \n</div>'},app.views.contacts=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n\n    <div class="contacts_title">По вопросам оптовых закупок вы можете обратиться к нашим менеджерам:</div>\n    <div class="managers_list">\n        ${Object.keys(n.managers).map((function(a){return app.views.manager(n.managers[a])})).join("")}\n    </div>\n\n</div>`},app.views.create_order=function(n){return void 0===n&&(n={}),`\n${!app.user||app.user.ORGANIZATIONS&&0!=app.user.ORGANIZATIONS.length||(window.location="/personal_organization/"),""}\n<div class="max_width create_order_box">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <div class="personal_box create_order_box">\n        ${app.views.personal_menu(n)}\n        <div class="create_order_form">\n            <div class="form_box1">\n            <form class="form1" onsubmit="return false">\n        \n        \n        <div class="form1_header">\n            <h2>Оформление заказа</h2>\n            <div class="text">Для оформления договора поставки и формирования счёта на <br>оплату потребуется следующая информация:</div>\n        </div>\n        \n        \n        <div class="line">\n            <div class="name">ФИО</div>\n            \x3c!--b>${app.user.LAST_NAME} ${app.user.NAME} ${app.user.SECOND_NAME}\n                <!br><a href="/personal/">изменить</a>\n            </b--\x3e\n            <input \n                type="text" \n                id="FIO"\n                placeholder="Сидоров Владислав Андреевич" \n                value="${app.user.LAST_NAME} ${app.user.NAME} ${app.user.SECOND_NAME}"\n                oninput="app.input_form_fio(this)"\n                required \n            />\n        </div>\n                \n        <div class="line">\n            <div class="name">Телефон</div>\n            <input \n                type="text" \n                id="PHONE"\n                placeholder="+7 (999) 999-99-99" \n                value="${"order_phone"in app.user?app.user.order_phone:"PHONE"in app.user?app.user.PHONE:""}"\n                oninput="app.input_form_phone(this)"\n                required \n            />\n        </div>\n        \n        <br>\n        \n        ${app.user.ORGANIZATIONS&&app.user.ORGANIZATIONS.length>0?`<div class="line">\n            <div class="name">Выберите компанию:</div>\n            <select id="COMPANY" onchange="app.organizations.switch(event, document.body)">\n                ${app.organizations.options()}\n            </select>\n        </div>`:""}\n        \n        <div class="line">\n            <div class="name">ИНН компании</div>\n            <input \n                type="text" \n                id="INN"\n                placeholder="12345678911" \n                value="${app.user.ORGANIZATIONS&&app.user.ORGANIZATIONS[app.organizations.data.selected]&&app.user.ORGANIZATIONS[app.organizations.data.selected].UF_INN?app.user.ORGANIZATIONS[app.organizations.data.selected].UF_INN:""}"\n                oninput="app.input_form_inn(this)"\n                \n                maxlength="12"\n                \n                required \n            />\n        </div>\n        <div class="line">\n            <div class="name">Юр. адрес</div>\n            <input \n                type="text" \n                id="JURIDICAL_ADDRESS"\n                placeholder="Самара, улица Кирова 70" \n                value="${app.user.ORGANIZATIONS&&app.user.ORGANIZATIONS[app.organizations.data.selected]&&app.user.ORGANIZATIONS[app.organizations.data.selected].UF_JURIDICAL_ADDRESS?app.user.ORGANIZATIONS[app.organizations.data.selected].UF_JURIDICAL_ADDRESS:""}"\n                maxlength="512"\n                required \n            />\n        </div>\n        <div class="line">\n            <div class="name">№ расчётного счёта</div>\n            <input \n                type="text" \n                id="CURRENT_ACCOUNT_NUMBER" \n                maxlength="40"\n                placeholder="12345678911" \n                value="${app.user.ORGANIZATIONS&&app.user.ORGANIZATIONS[app.organizations.data.selected]&&app.user.ORGANIZATIONS[app.organizations.data.selected].UF_CURRENT_ACCOUNT_NUMBER?app.user.ORGANIZATIONS[app.organizations.data.selected].UF_CURRENT_ACCOUNT_NUMBER:""}"\n                oninput="app.input_current_account_number(this)"\n                required \n            />\n        </div>\n        <div class="line">\n            <div class="name">БИК банка</div>\n            <input \n                type="text" \n                id="BIC_BANK" \n                placeholder="123456789" \n                oninput="app.input_form_bic_bank(this)"\n                value="${app.user.ORGANIZATIONS&&app.user.ORGANIZATIONS[app.organizations.data.selected]&&app.user.ORGANIZATIONS[app.organizations.data.selected].UF_BIC_BANK?app.user.ORGANIZATIONS[app.organizations.data.selected].UF_BIC_BANK:""}"\n                required  \n            />\n        </div>\n        \n        \n        \n        \n        <div class="text_center">\n            Информация по доставке:\n        </div>\n        \n        \n        \n        <div class="line">\n            <div class="name">Служба доставки</div>\n            ${"delivery"in app.data?`<div id="choose_delivery_box">${app.views.create_order_delivery(n)}</div>`:""}\n            \n        </div>\n        \n        \n        \n        <div class="line">\n            <div class="name">Город</div>\n            <input \n                type="text" \n                id="CITY"\n                placeholder="Самара"\n                value="${app.user.ORGANIZATIONS&&app.user.ORGANIZATIONS[app.organizations.data.selected]&&app.user.ORGANIZATIONS[app.organizations.data.selected].UF_CITY?app.user.ORGANIZATIONS[app.organizations.data.selected].UF_CITY:""}"\n                required \n            />\n        </div>\n        <div class="line">\n            <div class="name">Улица</div>\n            <input \n                type="text" \n                id="STREET"\n                placeholder="Ленинградская"\n                value="${app.user.ORGANIZATIONS&&app.user.ORGANIZATIONS[app.organizations.data.selected]&&app.user.ORGANIZATIONS[app.organizations.data.selected].UF_STREET?app.user.ORGANIZATIONS[app.organizations.data.selected].UF_STREET:""}"\n                required \n            />\n        </div>        \n        <div class="line">\n            <div class="name">Дом</div>\n            <input \n                type="text" \n                id="HOUSE"\n                placeholder="2B"\n                value="${app.user.ORGANIZATIONS&&app.user.ORGANIZATIONS[app.organizations.data.selected]&&app.user.ORGANIZATIONS[app.organizations.data.selected].UF_HOUSE?app.user.ORGANIZATIONS[app.organizations.data.selected].UF_HOUSE:""}"\n                required \n            />\n        </div>\n        \n\n        \n        \n        \n        \x3c!--div class="line">\n            <div class="name">Серия и номер паспорта\n<small>Требуется в связи с <br>изменением правил <br>перевозок грузов <br>по территории РФ.</small></div>\n            <input \n                type="text" \n                id="PASSPORT"\n                placeholder="00 00 123456"\n                value="${"PASSPORT"in app.user?app.user.PASSPORT:""}"\n                required \n            />\n        </div--\x3e\n        \n        <div class="text_center text_small">\n            Обратите внимание, доставка оформляется на юрлицо, на которое изначально формировался договор и выставлялся счёт.\n        </div>\n        \n        <div class="use_cashback_box">\n            <input \n                type="checkbox" \n                id="use_cashback"\n            /><label for="use_cashback">\n                использовать <a href="/personal_bonus/" target="_blank" style="text-decoration: underline;">кешбэк.</a>\n            </label>\n        </div>\n        \n        <div class="final_button_box">\n            <div id="answer"></div>\n            <button class="button_bright" data-type="create_order">Оформить заказ</button>\n        </div>\n        \n                \n            </form>\n            </div>\n        </div>\n    </div>\n    `:app.views.need_authorization(n)}\n</div>`},app.views.create_order_delivery=function(n){return void 0===n&&(n={}),`\n${Object.keys(app.data.delivery).map((function(n){n=Number(n);let a=app.data.delivery[n];return`\n    <label \n    \n        data-type="choose_delivery" \n        data-delivery-id="${n}" \n        draggable="false"\n        ${"SELECTED_DELIVERY"in app.user&&app.user.SELECTED_DELIVERY===n?'class="selected"':""}\n        >\n        <input \n            type="radio" \n            onchange="alert(${n});" \n            ${"SELECTED_DELIVERY"in app.user&&app.user.SELECTED_DELIVERY===n?"checked":""}\n        ><img \n            src="/upload/app/40_40/${a.LOGO}" \n            alt="${a.NAME}" \n            onerror="app.get_image_this(this)" \n            width="40" height="40" \n            draggable="false"\n        > ${a.NAME}\n    </label>`})).join("")}\n`},app.views.document=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${n.content}\n</div>`},app.views.favorites=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <div class="personal_box favourites_box">\n        ${app.views.personal_menu(n)}\n        \n${0===n.products.length?'<div class="list_empty">Избранных товаров нет</div>':app.views.products(n.products)}\n    </div>`:app.views.need_authorization(n)}\n</div>`},app.views.footer_address=function(n){return void 0===n&&(n={}),`\n<div class="footer_address">\n    <div class="title">Режим работы</div>\n    ${app.views.working_time()}\n    <br>\n    <div class="title">Телефон</div>\n    <div class="text"><a href="tel:88005003067">8 800 500-30-67</a></div>\n</div>`},app.views.footer_menu=function(n){return void 0===n&&(n={}),'\n<nav class="footer_menu">\n    <a href="/about/" >О компании</a>\n    <a href="/news/" >Новости</a>\n    <a href="/articles/">Статьи</a>\n    <a href="/delivery/" >Доставка и оплата</a>\n    <a href="/price_list/">Прайс-лист</a>\n    <a href="/contacts/" >Контакты</a>\n    <a href="/certificates_and_declarations/" >Сертификаты и декларации</a>\n    \x3c!--a href="/sitemap/" >Карта сайта</a--\x3e\n    <a href="/privacy_policy/" >Персональные данные</a>\n</nav>'},app.views.footer_socials=function(n){return void 0===n&&(n={}),'\n<div class="socials">\n    <a href="/contacts/" ><img src="/app/images/svg/mobile.svg" alt="phone" width="15" height="16" />Заказать звонок</a>\n    <a href="javascript:document.getElementsByClassName(\'b24-widget-button-pulse\')[0].click()" ><img src="/app/images/svg/comments.svg" alt="message" width="15" height="16" />Обратная связь</a>\n    <a href="https://t.me/armango_ru" target="_blank" rel="nofollow" ><img src="/app/images/svg/telegram.svg" alt="telegram" width="15" height="16" />Telegram</a>\n</div>'},app.views.footer_subscription=function(n){return void 0===n&&(n={}),'\n<div class="footer_subscription">\n    <div class="title">Будем на связи!</div>\n    <div class="text">Акции и бонусы для своих <br> в один клик - у вас на почте.</div>\n    <form action="">\n        <input type="text" placeholder="Укажите свой E-mail" />\n        <button class="button">Отправить</button>\n    </form>\n</div>'},app.views.forgot_password=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    <div class="form_box1">\n        \n        ${"step"in n?"":`<form class="form1" onsubmit="app.create_forgot_password();return false">\n            <p>Шаг 1 из 3</p>\n            <div class="line"><div class="name">E-mail</div><input type="text" id="email" maxlength="30" required /></div>\n            ${app.views.captcha()}\n            <div class="final_button_box">\n                <div id="answer"></div>\n                <button class="button_bright">Отправить</button>\n            </div>\n        </form>`}\n        \n        \n        ${"step"in n&&1===n.step?`<form class="form1" onsubmit="app.check_code_forgot_password();return false">\n            <p>Шаг 2 из 3</p>\n            <p>На почту <b>${n.email}</b> отправили код</p>\n            \n            <div class="line"><div class="name">Введите код</div><input type="text" id="code" maxlength="30" required /></div>\n            ${app.views.captcha()}\n            <div class="final_button_box">\n                <div id="answer"></div>\n                <button class="button_bright">Отправить</button>\n            </div>    \n        </form>`:""}\n        \n        \n        ${"step"in n&&2===n.step?`<form class="form1" onsubmit="app.set_password_forgot_password();return false">\n            <input id="email" type="hidden" value="${n.email}">\n            <input id="user_id" type="hidden" value="${n.user_id}">\n            <input id="code" type="hidden" value="${n.code}">\n            \n            <p>Шаг 3 из 3</p>\n            <div class="line"><div class="name">Новый пароль</div><input type="password" id="password" maxlength="50" required /></div>\n            <div class="line"><div class="name">Повторите новый пароль</div><input type="password" id="password_repeat" maxlength="50" required /></div>\n            ${app.views.captcha()}\n            <div class="final_button_box">\n                <div id="answer"></div>\n                <button class="button_bright">Отправить</button>\n            </div>\n        </form>`:""}\n        \n        ${"step"in n&&3===n.step?'<form class="form1" onsubmit="return false">\n            <p>Пароль успешно изменён!</p>\n            <div class="final_button_box">\n                <div id="answer"></div>\n                <a class="button_bright" href="/auth/">Войти</a>\n            </div>\n        </form>':""}\n        \n    </div>\n</div>`},app.views.form_plus_minus=function(n){return void 0===n&&(n={}),`\n<form \n    class="form_plus_minus flex_center" \n    onsubmit="return false"\n>\n    <button \n        type="button" \n        data-type="button_plus_minus" \n        data-method="minus" \n        data-id="${n.id}"\n    >-</button>\n    <input \n        type="text" \n        id="input_plus_minus_${n.id}" \n        data-id="${n.id}"\n        ${"maximum"in n?`data-maximum="${n.maximum}"`:""} \n        ${"oninput"in n?`oninput="${n.oninput}"`:""}\n        ${"minimum"in n?`data-minimum="${n.minimum}"`:""}\n        onchange = "app.quit_input_plus_minus(this)"\n        value="${"value"in n?n.value:"1"}" \n        maxlength="6"\n    />\n    <button \n        type="button" \n        data-type="button_plus_minus" \n        data-method="plus" \n        data-id="${n.id}"\n    >+</button>\n</form>`},app.views.form_plus_minus10=function(n){return void 0===n&&(n={}),`\n<form \n    class="form_plus_minus form_plus_minus10 flex_center" \n    onsubmit="return false"\n>\n    <button \n        type="button" \n        data-type="button_plus_minus" \n        data-method="minus" \n        data-id="${n.id}"\n        data-quantity="10"\n    >-10</button>\n    <button \n        type="button" \n        data-type="button_plus_minus" \n        data-method="minus" \n        data-id="${n.id}"\n    >-</button>\n    <input \n        type="text" \n        id="input_plus_minus_${n.id}" \n        data-id="${n.id}"\n        ${"maximum"in n?`data-maximum="${n.maximum}"`:""} \n        ${"oninput"in n?`oninput="${n.oninput}"`:""}\n        ${"minimum"in n?`data-minimum="${n.minimum}"`:""}\n        onchange = "app.quit_input_plus_minus(this)"\n        value="${"value"in n?n.value:"1"}" \n        maxlength="6"\n    />\n    <button \n        type="button" \n        data-type="button_plus_minus" \n        data-method="plus" \n        data-id="${n.id}"\n    >+</button>\n    <button \n        type="button" \n        data-type="button_plus_minus" \n        data-method="plus" \n        data-id="${n.id}"\n        data-quantity="10"\n    >+10</button>\n</form>`},app.views.h1=function(n){return void 0===n&&(n={}),`\n${n.crumbs?`<div class="crumbs" id="crumbs">${Object.keys(n.crumbs).map((function(a,e){return"#"===a?n.crumbs[a]:`<a href="${a}">${n.crumbs[a]}</a>`})).join(" / ")}</div>`:""}<h1>${n.h1}</h1>`},app.views.header_footer=function(n){return void 0===n&&(n={}),`\n\x3c!-- header --\x3e\n<header>\n\n    <div class="top_line for_pc">\n        <div class="max_width flex_center">\n            ${app.views.top_line_menu(n)}\n        </div>\n    </div>\n    \n    <div class="top max_width flex_center">        \n        <a class="logo" href="/"><img src="/app/images/armango_logo.svg" alt="logo" width="249" height="50" /></a>\n        \n        <a class="phone" href="tel:88005003067">\n            <div class="number"><img src="/app/images/svg/phone.svg" alt="phone" width="15" height="15" />8 (800) 500-30-67</div>\n            <div class="description">Телефон горячей линии</div>\n        </a>\n        <div class="fast_buttons">\n            <a class="button_light" href="tel:88005003067" >Связаться с менеджером</a>\n            <a class="button_dark" href="/price_list/" >Быстрый заказ</a>\n            <a class="button_bonus" href="/${app.is_authorized()?"personal_":""}bonus/">Кешбэк${app.is_authorized()&&app.user&&app.user.BONUS&&app.user.BONUS.SHOW_WAIT&&0!=app.user.BONUS.SHOW_WAIT?` ${app.user.BONUS.SHOW_WAIT}%`:""}</a>\n        </div>\n        <a class="cart_top flex_center" id="cart_top" href="/cart/">\n            ${app.views.cart_top()}\n        </a>\n    </div>\n    \n    <div class="mobile_line max_width flex_center for_mobile">\n        <button class="button_bright" data-type="show_menu_mobile">\n            <img src="/app/images/svg/menu1.svg" alt="menu" width="20" height="20" />Меню\n        </button>\n        <div class="flex_center">\n            ${app.is_authorized()?`\n            <a class="button_light" href="/personal/">\n                <img \n                    src="/app/images/svg/user.svg" \n                    alt="user_icon" \n                    width="15" height="15"\n                >${app.user.NAME} ${app.user.LAST_NAME}\n            </a>`:'\n            <a class="button_light" href="/auth/">\n                <img \n                    src="/app/images/svg/user.svg" \n                    alt="user_icon" \n                    width="15" height="15"\n                >Вход\n            </a>'}\n            <a class="mobile_cart_top button_light" href="/cart/">\n                <img class="cart_icon" src="/app/images/svg/cart.svg" alt="cart_icon" width="22" height="22" />\n            </a>\n        </div>\n    </div>\n    \n    <div class="top_products max_width flex_center">   \n        \n        \n        <div class="menu_catalog for_pc">\n            <a href="/catalog/" class="button_bright">\n                <img src="/app/images/svg/menu1.svg" alt="menu" width="24" height="24" />Каталог товаров\n            </a>\n            ${app.views.menu_catalog()}\n        </div>\n        \n        <form class="box_search flex_center" onsubmit="app.search();return false">\n            <input type="text" id="search_field" placeholder="Введите название товара или артикул" ${n.search_text?`value="${n.search_text}"`:""} >\n            <button class="button for_pc">Поиск</button>\n        </form>\n    </div>\n    \n</header>\n<div id="main">${void 0!==n&&"view"in n&&n.view in app.views?app.views[n.view](n):"Загрузка.."}</div>\n<div id="layer"></div>\n<div class="to_top_box">\n    <button class="button_to_top" data-type="scroll_to_top"></button>\n</div>\n<footer>\n    <div class="footer_grid max_width">\n        <a class="logo" href="/"><img src="/app/images/armango_logo.svg" alt="logo" width="249" height="50" /></a>\n        ${app.views.footer_address()}\n        \x3c!--${app.views.footer_subscription()}--\x3e\n        ${app.views.footer_menu()}\n        ${app.views.footer_socials()}\n    </div>\n\n    <div class="copy max_width" >\n        © Оптовый магазин электронных сигарет и жидкостей для вейпа «Арманго» - все права защищены. Информация сайта защищена законом об авторских правах<div style="display:inline-block;" onclick="app.switch_admin()">.</div>\n    </div>\n    \n</footer>`},app.views.main=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    <div class="main_top">\n${app.views.slider(n)}        \n${app.is_authorized()?app.views.manager(app.user.MANAGER):'\n<div class="manager">    \n    <div class="manager_title">Ваш менеджер: не назначен</div>\n    <form class="form2" onsubmit="return false">\n        <input type="text" id="login" placeholder="E-mail" required="">\n        <input type="password" id="password" placeholder="Пароль" required="">\n        <button class="button_light" type="button" data-type="to_registration">Регистрация</button>\n        <button class="button_dark" type="button" data-type="to_auth">Вход</button>\n    </form>\n</div>'}\n\n        <div class="delivery">\n            <div class="delivery_background_image">\n                <div class="title">Доставка по всей России</div>\n                <div class="text">\n                    Осуществляем доставку во все города <br>\n                    России транспортными компаниями <br>\n                    «СДЭК» и «Деловые линии»\n                </div>\n                <a class="button_light" href="/delivery/">Подробнее</a>\n            </div>\n        </div>\n        \n    </div>\n    ${app.views.main_sections()}\n    <div class="list_best_products">\n        <div class="main_title">Лучшие товары</div>\n        ${app.views.products(n.products)}\n    </div>\n    \x3c!--div class="brusko_line">\n        <img src="/app/images/brusko_logo.png" alt="BRUSKO MINI LOGO">\n        <div class="data_box">\n            <div class="color_text">Продукция компании BRUSKO</div>\n            <div class="buttons_box">\n                <a href="">Кальянная продукция</a>\n                <a href="">Жидкости</a>\n                <a href="">POD-системы</a>\n            </div>\n        </div>    \n        <a class="link" href="" >Подробнее &#8594;</a>\n    </div--\x3e\n    ${app.views.about_line()}\n    ${app.views.main_benefit_list()}\n    <div class="main_bottom table_line">\n        <div class="main_video_box">\n            <div class="table_line">\n                <div class="title">YouTube канал</div>\n                <a \n                    class="button_light" \n                    href="https://www.youtube.com/c/BRUSKO_RU" \n                    target="_blank" \n                    rel="nofollow"\n                >Смотреть все ролики</a>\n            </div>\n            <div class="description">\n                Здесь Вы сможете найти все видео, связанные с BRUSKO. Отчёты с мероприятий, блоги и промо уже ждут тебя!\n            </div>\n            ${app.views.video("3TrreJ3AbX0")}\n        </div>\n        <div class="main_news_box">\n            <div class="table_line">\n                <div class="title">Новости</div>\n                <a \n                    class="button_light" \n                    href="/news/" \n                >Смотреть все новости</a>\n            </div>\n            <div class="description">\n                Актуальные новости компании. Обзор и представление новых продуктов как кальянной, так и vape индустрии.\n            </div>\n            <div class="news_list main_news_list">\n                ${n.news.map((function(n){return app.views.news_item(n)})).join("")}\n            </div>\n        </div>\n    </div>\n    ${app.views.main_articles()}\n    ${app.views.main_faq()}\n</div>\n`},app.views.main_articles=function(n){return void 0===n&&(n={}),"\n"+("data"in app&&"articles"in app.data?`<div class="main_articles">\n<div class="table_line">\n    <div class="title">Статьи</div>\n    <a class="button_light" href="/articles/">Читать все статьи</a>\n</div>\n<div class="list">${app.data.articles.map((function(n){return`<a href="/articles/${"CODE"in n?n.CODE:""}/" class="item">\n        <div class="title">${"NAME"in n?n.NAME:"Статья"}</div>\n        <div class="text">${"PREVIEW_TEXT"in n?n.PREVIEW_TEXT:""}</div>\n        <b>Читать полностью</b>\n    </a>`})).join("")}</div></div>`:"")},app.views.main_benefit_list=function(n){return void 0===n&&(n={}),'\n<div class="main_benefit">\n    <h2 class="main_benefit_title">\n        5 преимуществ сотрудничества с Armango\n    </h2>\n    <p>Мы ориентируемся на оптовых покупателей и предлагаем альтернативные способы доставки никотина на выгодных условиях. При сотрудничестве с нами каждому партнеру гарантируется:</p>\n    <div class="main_benefit_list">\n        <div class="benefit_item">\n            <div class="number">\n                <img src="/app/images/benefit_item_1.svg" alt="benefit_item_one">\n            </div>\n            <div class="title">Персональный подход</div>\n            <div class="text">Помогаем дистрибьюторам и розничным магазинам подобрать хороший продукт. Сотрудники изучат ваших клиентов и предложат лучшие товары для дальнейшей реализации.</div>\n        </div>\n        <div class="benefit_item">\n            <div class="number">\n                <img src="/app/images/benefit_item_2.svg" alt="benefit_item_two">\n            </div>\n            <div class="title">Оптовая цена</div>\n            <div class="text">Работаем напрямую с производителями никотиновых систем и предлагаем цены ниже конкурентов.</div>\n        </div>\n        <div class="benefit_item">\n            <div class="number">\n                <img src="/app/images/benefit_item_3.svg" alt="benefit_item_three">\n            </div>\n            <div class="title">Оперативная доставка</div>\n            <div class="text">Вся товары из каталога всегда в наличии на складе, мы готовы отправить заказ в любую точку России.</div>\n        </div>\n        <div class="benefit_item">\n            <div class="number">\n                <img src="/app/images/benefit_item_4.svg" alt="benefit_item_four">\n            </div>\n            <div class="title">Надежная продукция</div>\n            <div class="text">Реализуем только сертифицированные электронные сигареты с подтвержденным качеством, которые имеют активный спрос.</div>\n        </div>\n        <div class="benefit_item">\n            <div class="number">\n                <img src="/app/images/benefit_item_5.svg" alt="benefit_item_five">\n            </div>\n            <div class="title">Стабильные поставки</div>\n            <div class="text">Мы приветствуем длительное сотрудничество и наладим крупный опт на постоянной основе.</div>\n        </div>\n    </div>\n</div>'},app.views.main_faq=function(n){return void 0===n&&(n={}),'\n<link rel="stylesheet" href="/app/styles/faq.css?version=1">\n<div class="faq">\n    <h2 class="faq__title">FAQ</h2>\n    <div class="faq__content">\n        <details>\n            <summary onclick="app.faq.toggle(this)">\n                1. Какие продукты вы предлагаете?\n            </summary>\n            <p>\n                Оптовая компания Armango предлагает широкий ассортимент товаров для альтернативных способов \n                доставки никотина. В каталоге имеются POD-системы, жидкости для электронных сигарет, \n                испарители и картриджи, жевательный табак, кальянная продукция, чехлы и аккумуляторы для ЭС. \n                Все товары сертифицированы и доступны по выгодным ценам.\n            </p>\n        </details>\n        <details>\n            <summary onclick="app.faq.toggle(this)">\n                2. Каков минимальный объём заказа?\n            </summary>\n            <p>\n                Для формирования заказа необходимо выбрать товары на сумму от 10 тысяч рублей.\n            </p>\n        </details>\n        <details>\n            <summary onclick="app.faq.toggle(this)">\n                3. Предоставляете ли вы скидки при крупных оптовых закупках?\n            </summary>\n            <p>\n                Каждый зарегистрированный на сайте Armango.com имеет возможность воспользоваться системой кешбэка. \n                Она определяет размер предоставляемой скидки, которая максимально может составлять 15%. Узнать подробнее можно <a href="/bonus/">здесь</a>.\n            </p>\n        </details>\n        <details>\n            <summary onclick="app.faq.toggle(this)">\n                4. Каковы сроки доставки?\n            </summary>\n            <p>\n                Сборка заказа занимает 1-3 рабочих дня, а сроки доставки зависят от региона. Мы стремимся обеспечить быструю и надёжную доставку вашего заказа.\n            </p>\n        </details>\n        <details>\n            <summary onclick="app.faq.toggle(this)">\n                5. Предоставляете ли вы сертификаты качества на продукцию?\n            </summary>\n            <p>Да, наши сертификаты и декларации находятся <a href="/certificates_and_declarations/">здесь</a>.</p>\n        </details>\n        <details>\n            <summary onclick="app.faq.toggle(this)">\n                6. Могу ли я вернуть или обменять товар?\n            </summary>\n            <p>\n                Да, вы можете вернуть или обменять товар. Для решения этого вопроса, пожалуйста, \n                обратитесь к нашим <a href="/contacts/">менеджерам</a>.\n            </p>\n        </details>\n        <details>\n            <summary onclick="app.faq.toggle(this)">\n                7. Какие способы оплаты вы принимаете?\n            </summary>\n            <p>\n                Оптовая компания Armango работает только с юридическими лицами и индивидуальными предпринимателями. \n                Оплата производится безналичным способом по счёту, выставленному нашим оптовым менеджером. \n                За более подробной информацией можно обратиться <a href="/delivery/">сюда</a>.\n            </p>\n        </details>\n    </div>\n</div>'},app.views.main_sections=function(n){return void 0===n&&(n={}),'\n<div class="main_sections">\n    <a class="chewing_tobacco" href="/catalog/tabachnaya_produktsiya/zhevatelnyy_tabak/">Жевательный <br>табак</a>\n    \x3c!--<a class="offer" href="/offer/">Предложение <br>месяца</a>--\x3e\n    <a class="electronic_cigarettes" href="/catalog/elektronnye_sigarety/">Электронные <br>сигареты</a>\n    \x3c!--a class="ready_liquids" href="/catalog/gotovye_zhidkosti/">Готовые <br>жидкости</a--\x3e\n    \x3c!--a class="liquid_kneading" href="/catalog/zhidkost_samozames/">Жидкость <br>самозамес</a--\x3e\n    <a class="evaporators_and_cartridges" href="/catalog/ispariteli_i_kartridzhi/">Испарители <br>катриджи</a>\n    <a class="hookah_products" href="/catalog/kalyannaya_produktsiya/">Кальянная <br>продукция</a>\n    <a class="all" href="/catalog/">Полный каталог <br>товара</a>\n</div>'},app.views.manager=function(n){return void 0===n&&(n={}),`\n<div class="manager">\n    \n    \n    <img \n        class="foto"\n        src="/upload/app/80_80/${n.PREVIEW}" \n        alt="${n.NAME}" \n        width="80" height="80"\n        onerror="app.get_image_this(this)"\n        draggable="false"\n        loading="lazy" \n    >\n    <div class="name"><b>${app.is_admin()?`[<a href="/bitrix/admin/iblock_element_edit.php?IBLOCK_ID=11&type=content&ID=${n.ID}" target="_blank">${n.ID}</a>] `:""}${"MANAGER_ID"in app.user&&n.ID===app.user.MANAGER_ID?"Ваш менеджер":"Менеджер"}</b><div>${n.NAME?n.NAME:"Арманго"}</div></div>\n    <div class="phone">\n        <b>Телефон:</b> <a href="tel:${app.phone_to_tel(n.VIBER?n.VIBER:"79270094452")}">${n.PHONE?n.PHONE:"+7 (927) 009-44-52"}</a>\n    </div>\n    <div class="email">\n        <b>E-mail:</b> <a href="mailto:${n.EMAIL?n.EMAIL:"brusko-distrib6@armango.com"}">${n.EMAIL?n.EMAIL:"brusko-distrib6@armango.com"}</a>\n    </div>\n    \n    <div class="social">\n        <a href="tg://resolve?domain=${n.TELEGRAM?n.TELEGRAM:"Armango_opt_Roman"}"><img src="/app/images/icons/social_telegram.svg" alt="Telegram" width="16" height="16">Telegram</a>\n        <a href="viber://chat?number=${n.VIBER?n.VIBER:"79270094452"}"><img src="/app/images/icons/social_viber.svg" alt="Viber" width="16" height="16">Viber</a>\n        <a href="https://wa.me/${n.WHATSAPP?n.WHATSAPP:"79270094452"}?text=Добрый%20день,%20меня%20интересует%20оптовая%20закупка%20"><img src="/app/images/icons/social_whatsapp.svg" alt="Whatsapp" width="16" height="16">Whatsapp</a>\n    </div>\n    \n    <form onsubmit="return false">\n        <div class="title">Запрос звонка</div>\n        <div class="line">\n            <input type="text" placeholder="ФИО" id="fio_${++app.unique_id}" value="${"LAST_NAME"in app.user?`${app.user.LAST_NAME}  ${"NAME"in app.user?app.user.NAME:""} ${"SECOND_NAME"in app.user?app.user.SECOND_NAME:""}`:""}">\n            <input type="text" \n                placeholder="Телефон" id="phone_${app.unique_id}" value="${"PHONE"in app.user?app.user.PHONE:""}"\n                oninput="app.input_form_phone(this)"\n                >\n        </div>\n        <button \n            class="button_dark" \n            data-type="to_request_call"\n            \n            data-manager_id="${n.ID}" \n            data-manager_name="${n.NAME}" \n            data-manager_foto="${n.PREVIEW}"\n            \n            data-id="${app.unique_id++}"\n        >Отправить</button>\n    </form>\n    \n    \n</div>`},app.views.menu_catalog=function(n){return void 0===n&&(n={}),`\n<nav class="top_menu_catalog" id="top_menu_catalog" mousedown="app.hide_catalog_menu(this)">\n    ${Object.keys(app.sections).sort((function(n,a){return app.sections[n].SORT-app.sections[a].SORT})).map((function(n){var a=app.sections[n];return 0!==a.IBLOCK_SECTION_ID?"":`<div class="item">\n                <a href="/catalog/${a.CODE}/" data-section_id="${n}">\n                    <img src="/app/images/catalog/${a.CODE}.svg" alt="${a.NAME}" width="20" height="20" />\n                    ${a.NAME}${app.is_admin()?` [${a.ID}]`:""}\n                </a>\n                ${"children"in a?`\n                    <div class="children" ${-1!==["1330","1315"].indexOf(n)?'style="top:0;margin-top:0;"':""}>\n                        ${a.children.map((function(n){var e=app.sections[n];return`<a href="/catalog/${a.CODE}/${e.CODE}/" data-section_id="${n}">${e.NAME}${app.is_admin()?` [${e.ID}]`:""}</a>`})).join("")}\n                    </div>\n                `:""}\n            </div>`})).join("")}\n</nav>`},app.views.menu_mobile=function(n){return void 0===n&&(n={}),`\n<div class="menu_mobile" onclick="app.clear_layer();">\n    <div class="line0">\n        <button class="button_light button_close" data-type="clear_layer"></button>\n    </div>\n    <div class="title">Каталог товаров</div>\n    <nav class="menu_mobile_catalog">\n        ${Object.keys(app.sections).sort((function(n,a){return app.sections[n].SORT-app.sections[a].SORT})).map((function(n){var a=app.sections[n];return 0!==a.IBLOCK_SECTION_ID?"":`<div class="item" id="menu_section_${a.ID}">\n                    ${"children"in a?`<button \n                        class="parent" \n                        data-type="menu_mobile_section" \n                        data-section_id="${a.ID}"\n                        onclick="event.preventDefault();event.stopPropagation();"\n                        \n                        >\n                        <img \n                            src="/app/images/catalog/${a.CODE}.svg" \n                            alt="${a.NAME}" \n                            width="20" height="20" \n                        ><div class="name">${a.NAME}</div><img \n                            class="arrow"\n                            src="/app/images/svg/arrow_down.svg" \n                            alt="arrow_down" \n                            width="12" height="12" \n                        >\n                    </button>\n                    <div class="children" id="menu_children_section_${a.ID}">\n                        ${a.children.map((function(n){var e=app.sections[n];return`<a href="/catalog/${a.CODE}/${e.CODE}/">${e.NAME}</a>`})).join("")}\n                    </div>`:`<a class="parent" href="/catalog/${a.CODE}/">\n                        <img src="/app/images/catalog/${a.CODE}.svg" alt="${a.NAME}" width="20" height="20" />\n                        <div class="name">${a.NAME}</div>\n                    </a>`}\n                    \n                </div>`})).join("")}\n    </nav>\n    <div class="table_line fast_line">\n        <a class="button_light" href="/price_list/" >Быстрый заказ</a>\n        <a class="button_light" href="/app/download/price_list.php?store=3" target="_blank" >Скачать прайс</a>\n        <a class="button_light" href="/${app.is_authorized()?"personal_":""}bonus/">Кешбэк${app.is_authorized()&&app.user&&app.user.BONUS&&app.user.BONUS.SHOW_WAIT&&0!=app.user.BONUS.SHOW_WAIT?` ${app.user.BONUS.SHOW_WAIT}%`:""}</a>\n    </div>\n    <div class="title">Дополнительно</div>\n    ${app.views.top_line_menu()}\n</div>\n<style>body {overflow: hidden;}</style>`},app.views.need_authorization=function(n){return void 0===n&&(n={}),'\nДоступ закрыт<br/>\nНеобходимо авторизоваться<br/>\n<a class="button_dark" href="/registration/">Регистрация</a>\n<a class="button_dark" href="/auth/">Вход</a>'},app.views.news=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    <div class="mini_text_top">Актуальные новости компании. Обзор и представление новых продуктов как кальянной, так и vape индустрии.</div>\n    <div class="news_list">\n        ${Object.keys(n.list).map((function(a){return app.views.news_item(n.list[a])})).join("")}\n    </div>\n    ${app.views.pagination(n)}\n</div>`},app.views.news_detail=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_admin()&&"ID"in app.data?`<a href="/bitrix/admin/iblock_element_edit.php?IBLOCK_ID=4&type=content&ID=${app.data.ID}" target="_blank">${app.data.ID}</a>`:""}\n    <div class="news_detail">\n        ${"image"in n?`<img \n            class="main_images for_desktop" \n            src="/upload/app/796_408/${n.image}" \n            width="796" height="408" \n            alt="${n.title}"\n            draggable="false"\n            loading="lazy"\n            onerror="app.get_image_this(this)"\n        >`:""}\n        <div class="news_content">${n.text}</div>\n    </div>\n    ${app.views.products(n.products)}\n</div>`},app.views.news_item=function(n){return void 0===n&&(n={}),`\n<a href="/news/${n.CODE}/" class="item">\n    <img src="/upload/app/120_120/${n.PREVIEW}" alt="${n.NAME}" onerror="app.get_image_this(this)" />\n    <div class="info">\n        <div class="title">${n.NAME}</div>\n        <div class="text">${n.PREVIEW_TEXT}</div>\n        <b>Читать полностью</b>\n    </div>\n</a>`},app.views.offer=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    ${n.content}\n\n    <h2>Товары</h2>\n    ${app.views.products(n.products_offer)}\n    <h2>Комплектующие</h2>\n    ${app.views.products(n.products_offer_accessories)}\n    \n    `:app.views.need_authorization(n)}\n</div>`},app.views.order_created=function(n){return void 0===n&&(n={}),`\n<div class="max_width create_order_box">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <div class="personal_box order_created_box">\n        ${app.views.personal_menu(n)}\n        <div class="create_order_form">\n            <div class="form_box1">\n            Заказ сформирован\n\nВаш заказ: №31739 \nот 03.10.2022 16:07:32 успешно создан.\n\nВы можете следить за выполнением своего заказа в Персональном разделе сайта “<a href="/orders/">Заказы</a>”.\nНа главную\nКаталог\n            </div>\n        </div>\n    </div>\n    `:app.views.need_authorization(n)}\n</div>`},app.views.order_detail=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <div class="personal_box order_detail_box">\n        ${app.views.personal_menu(n)}\n        <div class="order_detail_page">\n\n<div class="property">\n\n    <div class="order_main">\n        <div class="property_line">\n            <div class="name">Номер заказа</div>\n            <div class="value"><b>${n.order.ID}</b></div>\n        </div>    \n        \n        <div class="property_line">\n            <div class="name">Дата создания</div>\n            <div class="value">${n.order.DATE_INSERT}</div>\n        </div>  \n        \n        <div class="indent"></div>\n        \n        <div class="property_line">\n            <div class="name">Статус</div>\n            <div class="value"><b>${n.status[n.order.STATUS_ID].NAME}</b></div>\n        </div>  \n        <div class="status_text">${n.status[n.order.STATUS_ID].DESCRIPTION}</div>\n        \n        <div class="indent"></div>\n        \n        <div class="property_line">\n            <div class="name">Cтоимость</div>\n            <div class="value"><div class="price">${app.get_show_price(n.order.PRICE)}</div></div>\n        </div>\n    </div>\n    \n\n\n    <div class="persona">\n        <div class="property_line">\n            <div class="name">ФИО</div>\n            <div class="value">${"F_NAME"in n.order.PROPS&&n.order.PROPS.F_NAME?n.order.PROPS.F_NAME:"********"}</div>\n        </div>   \n        \n        <div class="property_line">\n            <div class="name">Телефон для связи</div>\n            <div class="value">${"F_PHONE"in n.order.PROPS&&n.order.PROPS.F_PHONE?n.order.PROPS.F_PHONE:"********"}</div>\n        </div>\n        \n        <div class="property_line">\n            <div class="name">Серия и номер паспорта</div>\n            <div class="value">${"PASSPORT"in n.order.PROPS&&n.order.PROPS.PASSPORT?n.order.PROPS.PASSPORT:"********"}</div>\n        </div>\n    </div>\n    \n    \n    \n    <div class="delivery">\n        <div class="property_line">\n            <div class="name">Адрес доставки</div>\n            <div class="value">${"F_ADDRESS"in n.order.PROPS&&n.order.PROPS.F_ADDRESS?String(n.order.PROPS.F_ADDRESS).split("\n").join("<br>"):"********"}</div>\n        </div>\n        \n        <div class="property_line">\n            <div class="name">Служба доставки</div>\n            <div class="value">${"DELIVERY_NAME"in n.order&&n.order.DELIVERY_NAME?n.order.DELIVERY_NAME:"********"}</div>\n        </div>\n        \n        <div class="property_line">\n            <div class="name">Трек номер</div>\n            <div class="value">${"TRACKING_NUMBER"in n.order&&n.order.TRACKING_NUMBER?n.order.TRACKING_NUMBER:"Ещё не создан"}</div>\n        </div>\n    </div>\n\n\n</div>\n\n\n\n\n<div class="title">Список товаров</div>\n<div class="products_list">\n    \n    <div class="item">\n        \n        <div class="name">Название товара</div>\n        <div class="id">#[id записи]_[id товара]</div>\n        \n        <div class="price_box">Цена за шт</div>\n        \n        <div class="quantity_box">Количество</div>\n        \n        <div class="price_sum_box">Сумма</div>\n        \n    </div>\n    \n${n.products.map((function(n){return`<div class="item">\n        \n        <div class="name">${n.NAME}</div>\n        <div class="id">#${n.ID}_${n.PRODUCT_ID}</div>\n        \n        <div class="price_box">\n            <div class="price">${app.get_show_price(n.PRICE)}</div>\n        </div>\n        \n        <div class="quantity_box">\n            ${app.get_show_price(n.QUANTITY)} шт.\n        </div>\n        \n        <div class="price_sum_box">\n            <div class="price">${app.get_show_price(n.SUM)}</div>\n        </div>\n        \n    </div>`})).join("")}\n</div>\n\n\n\n\n\x3c!--button class="button_bright">Повторить заказ</button>\n<button class="button_light">Отменить заказ</button--\x3e\n\n\n\n\n        </div>\n    </div>`:app.views.need_authorization(n)}\n</div>`},app.views.orders=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <div class="personal_box orders_box">\n        ${app.views.personal_menu(n)}\n        <div class="orders_list">\n${"orders"in n?n.orders.map((function(a){let e={};a.STATUS_ID in n.status&&(e=n.status[a.STATUS_ID]);let t={};return a.DELIVERY_ID in n.delivery&&(t=app.data.delivery[a.DELIVERY_ID]),`\n            <div class="order_item">\n                \n                <div class="table_line">\n                    <div class="title">Заказ №${a.ID}</div>\n                    <div class="status" style="color:${e.COLOR};border-color:${e.COLOR};">\n                        ${e.NAME}\n                        <div class="hover">${e.DESCRIPTION}</div>\n                    </div>\n                </div>\n                \n                <div class="table_line">\n                    <div class="name">Сумма:</div>\n                    <div class="value">\n                        <div class="price">${app.get_show_price(a.PRICE)}</div>\n                    </div>\n                </div>\n                \n                <div class="table_line">\n                    <div class="name">Создан:</div>\n                    <div class="value">${a.DATE_INSERT}</div>\n                </div>\n                \n                <div class="table_line">\n                    <div class="name">Доставка:</div>\n                    <div class="value">${t.NAME}</div>\n                </div>\n                \n                <div class="table_line">\n                    <div class="name">Трек номер:</div>\n                    <div class="value">${"string"==typeof a.TRACKING_NUMBER?a.TRACKING_NUMBER:"Появится позднее"}</div>\n                </div>\n\n                <a class="button_bright" href="/orders/${a.ID}/">Подробнее</a>\n                \n            </div>\n        `})).join(""):'<div class="list_empty">У Вас нет заказов</div>'}\n        </div>\n    </div>`:app.views.need_authorization(n)}\n</div>`},app.views.pagination=function(n){return void 0===n&&(n={}),`\n<div class="pagination">\n    ${n.number_page>1?`<a \n        data-type="pagination" \n        data-pagination="back" \n        class="pagination_arrow_left"\n        href="${n.pagination_url}${n.number_page-1}"\n    ></a><a \n        data-type="pagination" \n        data-pagination="page"\n        data-page="1"\n        href="${n.pagination_url}1"\n    >1</a>`:""}\n    \n\n    ${n.number_page-2>1?`<a \n        data-type="pagination" \n        data-pagination="page"\n        data-page="${n.number_page-2}"\n        href="${n.pagination_url}${n.number_page-2}"\n    >...</a>`:""}\n    ${n.number_page-1>1?`<a \n        data-type="pagination" \n        data-pagination="page"\n        data-page="${n.number_page-1}"\n        href="${n.pagination_url}${n.number_page-1}"\n    >${n.number_page-1}</a>`:""}\n\n    <a class="selected">${n.number_page}</a>\n\n    ${n.number_page+1<n.last_page?`<a \n        data-type="pagination" \n        data-pagination="page"\n        data-page="${n.number_page+1}"\n        href="${n.pagination_url}${n.number_page+1}"\n    >${n.number_page+1}</a>`:""}\n    ${n.number_page+2<n.last_page?`<a \n        data-type="pagination" \n        data-pagination="page"\n        data-page="${n.number_page+2}"\n        href="${n.pagination_url}${n.number_page+2}"\n    >...</a>`:""}\n    \n\n    ${n.number_page<n.last_page?`<a \n        data-type="pagination" \n        data-pagination="page"\n        data-page="${n.last_page}"\n        href="${n.pagination_url}${n.last_page}"\n    >${n.last_page}</a>`:""}\n    ${n.number_page!==n.last_page?`<a \n        data-type="pagination" \n        data-pagination="next" \n        class="pagination_arrow_right"\n        href="${n.pagination_url}${n.number_page+1}"\n    ></a>`:""}\n</div>\n`},app.views.personal=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <div class="personal_box personal_profile_box">\n        ${app.views.personal_menu(n)}\n<div class="profile_box">\n    \n\n\n    <form class="form1" onsubmit="app.save_personal();return false">\n        \n        <div class="title">${app.user.LAST_NAME} ${app.user.NAME} ${app.user.SECOND_NAME}</div>\n        \n        ${app.is_admin()?`<div class="line">\n            <div class="name">Login_key:</div>\n            <button \n                class="button_dark" \n                onclick="prompt('Login_key', '${app.get_login_key()}');"\n            >Показать</button>\n        </div>`:""}\n        <div class="line">\n            <div class="name">Ваш идентификатор:</div>\n            <b>${app.user.ID}</b>\n        </div>\n        \n        <div class="line">\n            <div class="name">Фамилия</div>\n            <input \n                type="text" \n                id="LAST_NAME" \n                placeholder="Смирнов" \n                required="" \n                value="${app.user.LAST_NAME}"\n                oninput="app.filter_input('name', this)"\n            >\n        </div>\n        <div class="line">\n            <div class="name">Имя</div>\n            <input \n                type="text" \n                id="NAME" \n                placeholder="Алексей" \n                required="" \n                value="${app.user.NAME}"\n                oninput="app.filter_input('name', this)"\n            >\n        </div>\n        <div class="line">\n            <div class="name">Отчество</div>\n            <input \n                type="text" \n                id="SECOND_NAME" \n                placeholder="Михайлович" \n                required="" \n                value="${app.user.SECOND_NAME}"\n                oninput="app.filter_input('name', this)"\n            >\n        </div>\n        \n        \n        \n        <div class="line">\n            <div class="name">E-mail</div>\n            <input type="text" id="EMAIL" placeholder="my_mail@yandex.ru" required="" value="${app.user.EMAIL}">\n        </div>\n        <div class="line">\n            <div class="name">Телефон</div>\n            <input \n                type="text" \n                id="PHONE" \n                placeholder="8 800 500 30 67" \n                required="" \n                value="${app.user.PHONE}"\n                oninput="app.input_form_phone(this)"\n                >\n        </div>\n        \n        \n        <div class="line">\n            <div class="name">Серия и номер паспорта\n<small>Требуется в связи с <br>изменением правил <br>перевозок грузов <br>по территории РФ.</small></div>\n            <input type="text" id="PASSPORT" placeholder="00 00 123456" value="${app.user.PASSPORT}" required="">\n        </div>\n        \n   \n${app.views.captcha()}\n         \n        <div class="final_button_box">\n            <div id="answer"></div>\n            <button class="button_bright">Сохранить</button><br>\n            <button class="button_light" type="button" data-type="logout">Выйти</button>\n            <a class="button_light" href="/change_password/">Сменить пароль</a>\n        </div>\n    </form>\n\n    \n    \n    \n</div>\n${app.views.manager(app.user.MANAGER)}\n\n    </div>`:app.views.need_authorization(n)}\n</div>`},app.views.personal_bonus=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <div class="personal_box personal_profile_box">\n        ${app.views.personal_menu(n)}\n        <div class="profile_box personal_bonus_box">\n            ${app.user.BONUS=(n.BONUS,"")}\n            \n            <div class="bonus_statistics">\n                <div class="bonus_statistics_all">\n                    <b>${app.get_show_price(n.BONUS.BALANCE)} руб.</b>\n                    <p>Счёт кэшбэк</p>\n                </div>\n                <div class="bonus_statistics_procent">\n                    <b>${app.get_show_price(n.BONUS.SUM_BOOST)} руб.</b>\n                    <p>До увеличенного кэшбэка осталось</p>\n                </div>\n                <div class="bonus_statistics_future">\n                    <b>+ ${app.get_show_price(n.BONUS.WAIT)} руб.</b>\n                    <p>Начислятся в ${app.get_next_month()}</p>\n                </div>\n            </div>\n            <div class="bonus_info">\n                <div class="bonus_info_now">\n                    <div>\n                        <b>${app.get_show_price(n.BONUS.PURCHASED_SUM)} руб.</b>\n                        <p>Сумма купленных товаров (БЕЗ скидок) за текущий месяц</p>\n                    </div>\n                    <div>\n                        <b>${n.BONUS.SHOW_WAIT}%</b>\n                        <p>кэшбэк</p>\n                    </div>\n                </div>\n                <div class="bonus_info_progress">\n                    <progress max="100" min="0" value="${{0:"0",1.5:"20",2.5:"40",3.5:"60",4.5:"80",6:"100"}[n.BONUS.SHOW_WAIT]}"></progress>\n                    <div class="bonus_info_progress_steps">\n                        <div class="bonus_info_progress_hidden">\n                            <div class="bonus_info_progress_step"></div>\n                            <p>0</p>\n                        </div>\n                        <div>\n                            <div class="bonus_info_progress_step ${n.BONUS.SHOW_WAIT>=1.5?"bonus_info_progress_active":""}"}></div>\n                            <p>1,5</p>\n                        </div>\n                        <div>\n                            <div class="bonus_info_progress_step ${n.BONUS.SHOW_WAIT>=2.5?"bonus_info_progress_active":""}"}></div>\n                            <p>2,5</p>\n                        </div>\n                        <div>\n                            <div class="bonus_info_progress_step ${n.BONUS.SHOW_WAIT>=3.5?"bonus_info_progress_active":""}"}></div>\n                            <p>3,5</p>\n                        </div>\n                        <div>\n                            <div class="bonus_info_progress_step ${n.BONUS.SHOW_WAIT>=4.5?"bonus_info_progress_active":""}"}></div>\n                            <p>4,5</p>\n                        </div>\n                        <div>\n                            <div class="bonus_info_progress_step bonus_info_progress_final ${n.BONUS.SHOW_WAIT>=6?"bonus_info_progress_active":""}"></div>\n                            <p>6,0</p>\n                        </div>\n                    </div>\n                </div>\n                <div class="bonus_info_text">\n                    <p>\n                        Начисление на счёт кэшбэка происходит первого числа, каждого месяца.<br>\nРазмер начисления зависит от суммы купленных товаров (БЕЗ скидок) за предыдущий месяц:\n                    </p>\n                    <ul>\n                        <li>\n                            <p>от 100 000 р. до 149 999 р. - кэшбэк <span>1,5%</span>;</p>\n                        </li>\n                        <li>\n                            <p>от 150 000 р. до 199 999 р. - <span>2,5%</span>;</p>\n                        </li>\n                        <li>\n                            <p>от 200 000 р. до 249 999 р. - <span>3,5%</span>;</p>\n                        </li>\n                        <li>\n                            <p>от 250 000 р. до 299 999 р. - <span>4,5%</span>;</p>\n                        </li>\n                        <li>\n                            <p>от 300 000 р. - <span class="bonus_info_text_red">максимальный кэшбэк 6%</span>.</p>\n                        </li>\n                    </ul>\n                    <a href="/bonus/">Читать подробнее</a>\n                </div>\n            </div>\n\n\n\n            \n            \n            \n        </div>\n    </div>`:app.views.need_authorization(n)}\n</div>`},app.views.personal_bonus_history=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <div class="personal_box personal_profile_box">\n        ${app.views.personal_menu(n)}\n        <div class="profile_box personal_bonus_history_box" id="personalBonusHistory">\n            ${app.bonus.fetch()}\n        </div>\n    </div>`:app.views.need_authorization(n)}\n</div>`},app.views.personal_bonus_history_detail=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <div class="personal_box personal_profile_box">\n        ${app.views.personal_menu(n)}\n        <div class="profile_box personal_bonus_history_box">\n            <div class="accrual_box">\n                <h1 class="accrual_box-title">№ ${app.data.content.accrualId}</h1>\n                <p class="accrual_box-date">\n                    <strong>Дата расчета:</strong>\n                    <date>${app.bonus.parse.date(app.data.content.date)}</date>\n                    <p class="accrual_box-sum"><span>+ ${app.bonus.parse.sum(app.data.content.cashback)}</span> бонусов</p>\n                </p>\n            </div>\n            \n            <div class="lists">\n                <h2>Список заказов</h2>\n                ${app.bonus.detail.list.render()}\n            </div>\n        </div>\n    </div>`:app.views.need_authorization(n)}\n</div>`},app.views.personal_menu=function(n){return void 0===n&&(n={}),`\n<nav class="personal_menu">\n    <a ${"personal"===app.data.view?'class="selected"':'href="/personal/"'}\n    ><img src="/app/images/svg/user.svg" alt="user_icon" width="15" height="15" />Профиль</a>\n    <a ${"personal_organization"===app.data.view?'class="selected"':'href="/personal_organization/"'}\n    ><img src="/app/images/icons/organization.png" alt="organization_icon" width="15" height="15" />Организации</a>\n    <a ${"personal_bonus"===app.data.view?'class="selected"':'href="/personal_bonus/"'}\n    ><img src="/app/images/icons/percent.svg" alt="organization_icon" width="15" height="15" />Кешбэк</a>\n    <a ${"personal_bonus_history"===app.data.view?'class="selected"':'href="/personal_bonus_history/"'}>\n        <img src="/app/images/icons/history.png" alt="accruals_icon" width="15" height="15" > Начисления\n    </a>\n    <div class="indent"></div>\n    <a ${"cart"===app.data.view?'class="selected"':'href="/cart/"'}\n    ><img class="cart_icon" src="/app/images/svg/cart.svg" alt="cart_icon" width="22" height="22" />Корзина</a>\n    <a ${"orders"===app.data.view?'class="selected"':'href="/orders/"'}\n    ><img src="/app/images/icons/history.png" alt="user_icon" width="15" height="15" />Заказы</a>\n    <a ${"favorites"===app.data.view?'class="selected"':'href="/favorites/"'}\n    ><img src="/app/images/icons/favorites.png" alt="user_icon" width="15" height="15" />Избранные</a>\n    \x3c!--a href="/notifications/">Подписан на появление наличия</a--\x3e\n</nav>`},app.views.personal_organization=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <div class="personal_box personal_profile_box">\n        ${app.views.personal_menu(n)}\n<div class="personal_organization_box">\n\n    <form class="form1" onsubmit="app.save_personal_organization();return false">\n        \n        <div class="line">\n            <div class="name">Наименование компании</div>\n            <input type="text" id="COMPANY" placeholder="MY COMPANY" required="" value="">\n        </div>\n        <div class="line">\n            <div class="name">ИНН компании</div>\n            <input \n                type="number" \n                id="INN" \n                placeholder="12345678911"\n\n                maxlength="12"\n                oninput="app.input_form_inn(this)"\n                value=""\n                required \n            />\n        </div>\n        \n        <div class="line">\n            <div class="name">Юр. адрес</div>\n            <input \n                type="text" \n                id="JURIDICAL_ADDRESS" \n                placeholder="Самара, улица Кирова 70" \n                maxlength="512"\n                required\n                value=""\n            >\n        </div>\n        \n        <div class="line">\n            <div class="name">№ расчётного счёта</div>\n            <input \n                type="text" \n                id="CURRENT_ACCOUNT_NUMBER" \n                maxlength="40"\n                placeholder="12345678911" \n                value=""\n                oninput="app.input_current_account_number(this)"\n                required \n            >\n        </div>\n        \n        <div class="line">\n            <div class="name">БИК банка</div>\n            <input \n                type="text" \n                id="BIC_BANK" \n                placeholder="123456789" \n                oninput="app.input_form_bic_bank(this)"\n                value=""\n                required \n            >\n        </div>\n        \n        <div class="text_center">\n            Информация по доставке:\n        </div>\n        \n        <div class="line">\n            <div class="name">Город</div>\n            <input \n                type="text" \n                id="CITY" \n                placeholder="Самара" \n                required="" \n                value=""\n                oninput="app.filter_input('name', this)"\n            >\n        </div>\n        <div class="line">\n            <div class="name">Улица</div>\n            <input \n                type="text" \n                id="STREET" \n                placeholder="Ленинградская" \n                required="" \n                value=""\n                oninput="app.filter_input('name', this)"\n            >\n        </div>\n        <div class="line">\n            <div class="name">Дом</div>\n            <input type="text" id="HOUSE" placeholder="2B" required="" value="">\n        </div>\n        \n        \x3c!--div class="line">\n            <div class="name">Реквизиты</div>\n            <a >Скачать</a>\n        </div>\n        <div class="line" id="need_file" style="display: flex;">\n            <div class="name">Прикрепить другие реквизиты<br><small>Максимальный размер 7мб.</small></div>\n            <input type="file" onchange="app.registration.change_file(this.files)" name="requisites" id="requisites">\n            <label for="requisites" class="button_grey" id="button_file">Добавить файл</label>\n        </div--\x3e\n\n        \n${app.views.captcha()}\n         \n        <div class="final_button_box">\n            <div id="answer"></div>\n            <button class="button_bright">Сохранить</button> \n        </div>\n    </form>\n    \n    <div class="personal_organizations_list" id="personal_organizations_list">\n        ${app.user.ORGANIZATIONS&&app.user.ORGANIZATIONS.length>0&&"NOT_TYPE"!==app.user.ORGANIZATIONS?app.user.ORGANIZATIONS.map(((n,a)=>`\n                <div class="personal_organization_item" id="organization-item-${a}">\n                    <div class="header" onclick="app.organizations.toggle(document.querySelector('#organization-item-${a}'))">\n                        <p>${n.WORK_COMPANY.length>0?n.WORK_COMPANY:""}</p>\n                        <div class="toggle">\n                            <svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg">\n                                <path d="M11.9883 6.2862L7.274 6.2862L7.274 11.0005H5.70257L5.70257 6.2862H0.988281L0.988281 4.71477H5.70257V0.000488281L7.274 0.000488281V4.71477L11.9883 4.71477V6.2862Z" fill="black"/>\n                            </svg>\n                        </div>\n                    </div>\n                    <div class="body">\n                    <form class="form1">\n                        <div class="line">\n                            <div class="name">Наименование компании</div>\n                            <input type="text" id="COMPANY-${a}" placeholder="MY COMPANY" required="" value="${n.WORK_COMPANY}">\n                        </div>\n                        <div class="line">\n                            <div class="name">ИНН компании</div>\n                            <input\n                                    type="number"\n                                    id="INN-${a}"\n                                    placeholder="12345678911"\n                                    maxlength="12"\n                                    oninput="app.input_form_inn(this)"\n                                    value="${n.UF_INN?n.UF_INN:""}"\n                                    required\n                            />\n                        </div>\n                        <div class="line">\n                            <div class="name">Юр. адрес</div>\n                            <input\n                                    type="text"\n                                    id="JURIDICAL_ADDRESS-${a}"\n                                    placeholder="Самара, улица Кирова 70"\n                                    maxlength="512"\n                                    required\n                                    value="${n.UF_JURIDICAL_ADDRESS?n.UF_JURIDICAL_ADDRESS:""}"\n                            >\n                        </div>\n                        <div class="line">\n                            <div class="name">№ расчётного счёта</div>\n                            <input\n                                    type="text"\n                                    id="CURRENT_ACCOUNT_NUMBER-${a}"\n                                    maxlength="40"\n                                    placeholder="12345678911"\n                                    value="${n.UF_CURRENT_ACCOUNT_NUMBER?n.UF_CURRENT_ACCOUNT_NUMBER:""}"\n                                    oninput="app.input_current_account_number(this)"\n                                    required\n                            >\n                        </div>\n                        <div class="line">\n                            <div class="name">БИК банка</div>\n                            <input\n                                    type="text"\n                                    id="BIC_BANK-${a}"\n                                    placeholder="123456789"\n                                    oninput="app.input_form_bic_bank(this)"\n                                    value="${n.UF_BIC_BANK?n.UF_BIC_BANK:""}"\n                                    required\n                            >\n                        </div>\n                        <div class="text_center">\n                            Информация по доставке:\n                        </div>\n                        <div class="line">\n                            <div class="name">Город</div>\n                            <input\n                                    type="text"\n                                    id="CITY-${a}"\n                                    placeholder="Самара"\n                                    required=""\n                                    value="${n.UF_CITY}"\n                                    oninput="app.filter_input('name', this)"\n                            >\n                        </div>\n                        <div class="line">\n                            <div class="name">Улица</div>\n                            <input\n                                    type="text"\n                                    id="STREET-${a}"\n                                    placeholder="Ленинградская"\n                                    required=""\n                                    value="${n.UF_STREET}"\n                                    oninput="app.filter_input('name', this)"\n                            >\n                        </div>\n                        <div class="line">\n                            <div class="name">Дом</div>\n                            <input type="text" id="HOUSE-${a}" placeholder="2B" required="" value="${n.UF_HOUSE}">\n                        </div>\n                        <div class="final_button_box">\n                            <div id="answer-${a}"></div>\n                            <button type="button"\n                                onclick="app.edit_personal_organizations(${a})"\n                                class="button_bright save">Сохранить</button>\n                            <button type="button"\n                                onclick="app.destroy_personal_organization(${a})" \n                                class="button_bright delete">Удалить</button>\n                            <div id="callback-${a}"></div>\n                        </div>\n                    </form>\n                    </div>\n                </div>\n                `)).join(""):""}\n    </div>\n    \n    \n    \n    \n    \n</div>\n${app.views.manager(app.user.MANAGER)}\n    </div>`:app.views.need_authorization(n)}\n</div>\n`},app.views.price_list=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <p>\n        \x3c!--button>Развернуть все</button--\x3e\n        \x3c!--a \n            class="button_light" \n            href="/app/download/price_list.php"\n            target="_blank"\n        ><img \n            src="/app/images/icons/xls.png"\n            width="12" height="12"\n            alt=""\n        >Скачать прайс-лист склад 1</a>\n        \n        <a \n            class="button_light" \n            href="/app/download/price_list.php?store=2"\n            target="_blank"\n        ><img \n            src="/app/images/icons/xls.png"\n            width="12" height="12"\n            alt=""\n        >Скачать прайс-лист склад 2</a--\x3e\n        \n        <a \n            class="button_light" \n            href="/app/download/price_list.php?store=3"\n            target="_blank"\n        ><img \n            src="/app/images/icons/xls.png"\n            width="12" height="12"\n            alt=""\n        >Скачать прайс-лист</a>\n        \n        \n        <a \n            class="button_light" \n            href="/app/download/defect.php"\n            target="_blank"\n        ><img \n            src="/app/images/icons/xls.png"\n            width="12" height="12"\n            alt=""\n        >Скачать бланк брака</a>\n        \x3c!--button>Подписаться на прайс</button--\x3e\n    </p>\n    <div id="price_list" class="price_list">\n    ${Object.keys(app.sections).sort((function(n,a){return app.sections[n].SORT-app.sections[a].SORT})).map((function(a){let e=app.sections[a];return n.section=e,n.section_id=e.ID,0!==e.IBLOCK_SECTION_ID?"":`<div class="item">\n                <button \n                    class="button_parent"\n                    data-type="price_list_open_section" \n                    data-section_id="${n.section_id}" \n                ><img \n                    src="/app/images/catalog/${e.CODE}.svg" \n                    alt="${e.NAME}" \n                    width="20" height="20" \n                >${e.NAME}<img \n                    id="section_arrow_${n.section_id}"\n                    class="arrow_down ${n.section_id in app.price_list_open_sections?"arrow_up":""}" \n                    src="/app/images/svg/arrow_down.svg" \n                    alt="arrow_down" \n                    width="12" height="12" \n                ></button>\n                <div id="children_box_${n.section_id}">\n                ${n.section_id in app.price_list_open_sections?app.views.price_list_children(n):""}\n                </div>\n            </div>`})).join("")}        \n    <a class="button_bright" href="/cart/">Перейти в корзину</a>\n    </div>\n    ${"price_list"in app.data||app.show_url("/price_list_full/"),""}\n    `:app.views.need_authorization(n)}\n</div>`},app.views.price_list_children=function(n){return void 0===n&&(n={}),`\n${"children"in n.section?`<div class="children">\n        ${n.section.children.map((function(a){var e=app.sections[a];return n.section_id=e.ID,`<button \n                    class="button_children"\n                    data-type="price_list_open_section" \n                    data-section_id="${n.section_id}" \n                ><img \n                    id="section_arrow_${n.section_id}"\n                    class="arrow_down ${n.section_id in app.price_list_open_sections?"arrow_up":""}" \n                    src="/app/images/svg/arrow_down.svg" \n                    alt="arrow_down" \n                    width="12" height="12" \n                >${e.NAME}</button>\n                <div id="children_box_${n.section_id}">${"price_list"in app.data&&n.section_id in app.price_list_open_sections?app.views.price_list_products(n):""}</div>`})).join("")}\n    </div>`:"price_list"in app.data?app.views.price_list_products(n):""}`},app.views.price_list_products=function(n){return void 0===n&&(n={}),`\n<div class="price_list_products">\n    <div class="product product_top">\n        <div class="name">Название</div>\n        <div class="storage">Наличие</div>\n        <div class="price_box">Цена</div>\n        <div class="to_order">Заказать</div>\n        <div class="sum">Стоимость</div>\n    </div>    \n    ${n.section_id in n.price_list?n.price_list[n.section_id].map((function(n){return`\n    <div id="product_${n.ID}" class="product${n.ID in app.cart.CART?" product_in_cart":""}">\n        <a \n            class="name" \n            href="/catalog/${n.CODE}.html" \n            target="_blank"\n        ><img \n            class="hover" \n            src="${"DETAIL"in n?`/upload/app/400_400/${n.DETAIL}`:"/app/images/no_image.png"}" \n            alt="" \n            draggable="false"\n            loading="lazy" \n            onerror="app.get_image_this(this)" \n            width="400" height="400"\n        >${n.NAME}</a>\n        <div class="storage">${app.hide_stores?n.IN_STOCK>10?"Много":"Мало":`${n.IN_STOCK} шт.`}</div>\n        <div class="price_box">\n            ${n.PRICE_OLD?`\n                <div class="price">${app.get_show_price_catalog(n.PRICE)}</div>\n                <div class="price_old">${app.get_show_price_catalog(n.PRICE_OLD)}</div>\n            `:`\n                <div class="price">${app.get_show_price_catalog(n.PRICE)}</div>\n            `}\n            \n        </div>\n        <div class="to_order">${app.views.form_plus_minus({id:n.ID,value:n.ID in app.cart.CART?app.cart.CART[n.ID]:0,oninput:"app.input_price_list(this)"})}</div>\n        <div id="product_sum_${n.ID}" class="sum">\n            ${app.views.price_list_sum(n.ID)}\n        </div>\n    </div>\n    `})).join(""):'<div class="product">\n    <div class="name">Нет товаров</div>\n</div>'}</div>`},app.views.price_list_sum=function(n){return void 0===n&&(n={}),`\n<div class="price">${n in app.cart.products?app.get_show_price(app.cart.products[n].price_sum):0}</div>\n${n in app.cart.products&&"price_sum_old"in app.cart.products[n]?`<div class="price_old" >${app.get_show_price(app.cart.products[n].price_sum_old)}</div>`:""}`},app.views.product_properties=function(n){return void 0===n&&(n={}),`\n<div class="product_properties">\n    ${app.properties.map((function(a){return a.CODE in n?`<div class="property_line">\n            <div class="name">${a.NAME}</div>\n            <div class="value">${n[a.CODE]}</div>\n        </div>`:""})).join("")}\n    ${app.is_admin()?` \n        <div class="property_line">\n            <div class="name">Product ID</div>\n            <div class="value">${"product"in app.data&&"ID"in app.data.product?`<a href="/bitrix/admin/iblock_element_edit.php?IBLOCK_ID=36&type=1c_catalog&ID=${app.data.product.ID}" target="_blank">${app.data.product.ID}</a>`:"0"}</div>\n        </div>\n        <div class="property_line">\n            <div class="name">1C ID</div>\n            <div class="value">${"ID_1C"in app.data.product?app.data.product.ID_1C:"Нету"}</div>\n        </div>\n        <div class="property_line">\n            <div class="name">Section ID</div>\n            <div class="value">${"IBLOCK_SECTION_ID"in app.data.product?app.data.product.IBLOCK_SECTION_ID:"Нету"}</div>\n        </div>\n        <div class="property_line">\n            <div class="name">Rating</div>\n            <div class="value">${"product"in app.data&&"RATING"in app.data.product?app.data.product.RATING:"0"}</div>\n        </div>        \n        <div class="property_line">\n            <div class="name">Штрих-код</div>\n            <div class="value">${"BAR_CODE"in app.data.product?app.data.product.BAR_CODE:"его нет"}</div>\n        </div>\n        <div class="property_line" style="flex-direction: column;align-items: flex-start;">\n            <div class="name">Для поиска</div>\n            <div class="value">${"SEARCH"in app.data.product?app.data.product.SEARCH:"почему-то его нет.."}</div>\n        </div>\n        \n        ${"product"in app.data&&"STORE"in app.data.product?Object.keys(app.data.product.STORE).map((function(n){return`<div class="property_line">\n                    <div class="name">Склад ${n}</div>\n                    <div class="value">${n in app.data.product.STORE?app.data.product.STORE[n]:0}</div>\n                </div>`})).join(""):""}\n    `:""}\n</div>`},app.views.products=function(n){return void 0===n&&(n={}),`\n${n&&Array.isArray(n)?"options"in app&&"view_list"in app.options&&"box"===app.options.view_list?`<div class="products products_box">\n${n.map((function(n){return`\n    <div class="product">\n        <div class="image_box">\n            <img \n                loading="lazy" \n                src="${"DETAIL"in n?`/upload/app/80_80/${n.DETAIL}`:"/app/images/no_image.png"}" \n                alt="${n.NAME}" title="#${n.ID}" onerror="app.get_image_this(this)" />\n        </div>\n        <div class="name">${n.NAME}</div>\n        <div class="price_box">\n            Цена: <b>${app.get_show_price_catalog(n.PRICE)} руб.</b>\n        </div>\n        <div class="flex_center">\n            <div class="stores">\n                Наличие: <b>${app.is_authorized()?app.hide_stores?n.IN_STOCK>10?"Много":"Мало":n.IN_STOCK:0===n.IN_STOCK?"нет":"в наличии"}</b>\n            </div>\n            ${app.views.form_plus_minus(n)}\n        </div>\n    </div>\n    `})).join("")}    \n</div>`:`<div class="products products_list">\n${n.map((function(n){return`\n    <a class="product" href="/catalog/${n.CODE}.html" draggable="false">\n        <img\n            draggable="false"\n            loading="lazy" \n            src="${"DETAIL"in n?`/upload/app/80_80/${n.DETAIL}`:"/app/images/no_image.png"}" \n            alt="${n.NAME}" title="#${n.ID}" onerror="app.get_image_this(this)" width="80" height="80" />\n        \n        <div class="name">${app.is_admin()?`[${n.ID}] BRAND: ${"PROPERTIES"in n&&"BRAND"in n.PROPERTIES?n.PROPERTIES.BRAND:'<b style="color:#f00;">НЕТУ!!!!!</b>'}<br>`:""}${n.NAME}</div>\n        <div class="stores">Наличие: <b>${app.is_authorized()?app.hide_stores?0===n.IN_STOCK?"уточняйте у менеджера":n.IN_STOCK>10?"Много":"Мало":n.IN_STOCK:0===n.IN_STOCK?"Нет":"в наличии"}</b></div>\n       \n        <div class="price_box">${app.is_authorized()?`<div class="price">${app.get_show_price_catalog(n.PRICE)}</div>${n.PRICE_OLD?`<div class="price_old" >${app.get_show_price(n.PRICE_OLD)}</div>`:""}`:'<div class="not_price">Цена доступна<br>после авторизации</div>'}</div>\n    \n        ${n.IN_STOCK<1?'<form class="form_plus_minus out_of_stock">Нет в наличии</form>':app.is_authorized()?`${app.views.form_plus_minus({id:app.unique_id,oninput:"app.input_form_int(this)",value:app.user.CART[n.ID]||1})} <div class="button_box">${"cart"in app&&"CART"in app.cart&&n.ID in app.cart.CART?`<button \n                            type="button"\n                            class="button_bright good_add_in_cart" \n                            data-type="in_cart" \n                            data-product-id="${n.ID}" \n                            data-quantity-id="${app.unique_id++}"\n                        >Добавить</button>`:`<button \n                            type="button"\n                            class="button_bright" \n                            data-type="in_cart" \n                            data-product-id="${n.ID}" \n                            data-quantity-id="${app.unique_id++}"\n                        >В корзину</button>`}</div>`:'<div class="button_box"><button \n                    data-type="link"\n                    data-href="/auth/"\n                    class="button_bright" \n                >Войти</button></div>'}\n    </a>`})).join("")}    \n</div>`:""}\n`},app.views.quantity_items=function(n){return void 0===n&&(n={}),`\n<div class="quantity_items">\n    Выводить по \n    <div class="quantity_items_selected">\n        ${"quantity_items"in app.user?app.user.quantity_items:"30"}\n        <div class="hover">\n            ${[6,18,30,51,111].map((function(n){return app.user.quantity_items===n?"":`<button \n                    data-type="choose_quantity_items" \n                    data-quantity="${n}"\n                >${n}</button>`})).join("")}\n        </div>\n    </div>\n</div>`},app.views.registration=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?app.views.auth_good(n):`\n    <div class="form_box1">\n        \x3c!--div class="registration_buttons">\n            <button \n                type="button" class="button button_dark selected" id="button_legal" data-type="registration_change_type" >Регистрация </br><b>Юридического Лица</b></br>для оптовых закупок </br>от 10 000 рублей</button><button \n                type="button" class="button button_light" id="button_individual" data-type="registration_change_type" >Регистрация </br><b>Индивидуального Предпринимателя</b></br>для оптовых закупок </br>от10 000 рублей</button>\n        </div--\x3e\n    <form class="form1" onsubmit="app.registration();return false">\n\n        <div class="form1_header">\n            <h2>Регистрация</h2>\n            <div class="text">Укажите данные для входа в личный кабинет</div>\n        </div>\n\n        \x3c!--input type="hidden" id="type_registration" value="button_legal" /--\x3e\n        \n        <div class="line">\n            <div class="name">Фамилия</div>\n            <input \n                type="text" \n                id="LAST_NAME" \n                placeholder="Смирнов" \n                oninput="app.filter_input('name', this)"\n                required \n            />\n        </div>\n        <div class="line">\n            <div class="name">Имя</div>\n            <input \n                type="text" \n                id="NAME" \n                placeholder="Алексей" \n                oninput="app.filter_input('name', this)"\n                required \n            />\n        </div>\n        <div class="line">\n            <div class="name">Отчество</div>\n            <input \n                type="text" \n                id="SECOND_NAME" \n                placeholder="Михайлович" \n                oninput="app.filter_input('name', this)"\n                required \n            />\n        </div>\n        \n        </hr>\n        \n        <div class="line">\n            <div class="name">E-mail</div>\n            <input \n                type="text" \n                id="EMAIL"\n                placeholder="my_mail@yandex.ru" \n                required \n            />\n        </div>\n        <div class="line">\n            <div class="name">Телефон</div>\n            <input \n                type="text" \n                id="PHONE" \n                placeholder="8 800 500 30 67" \n                oninput="app.input_form_phone(this)"\n                required \n            />\n        </div>\n        \n        <hr>\n        \n        <div class="line">\n            <div class="name">Наименование компании</div>\n            <input \n                type="text" \n                id="COMPANY" \n                placeholder="MY COMPANY"\n                required \n            />\n        </div>\n        <div class="line">\n            <div class="name">ИНН</div>\n            <input \n                type="number" \n                id="INN" \n                placeholder="0123456789"\n                min="1000000000"\n                max="999999999999"\n                maxlength="12"\n                oninput="app.input_form_inn(this)"\n                required \n            />\n        </div>\n        <div class="line">\n            <div class="name">Город</div>\n            <input \n                type="text" \n                id="CITY" \n                placeholder="Самара"\n                oninput="app.filter_input('name', this)"\n                required \n            />\n        </div>\n        \n        <hr>\n        \n        <div class="line">\n            <div class="name">Пароль</div>\n            <input type="password" id="password" required />\n        </div>\n        <div class="line">\n            <div class="name">Подтверждение пароля</div>\n            <input type="password" id="confirm_password" required />\n        </div>\n        \x3c!--div class="line" id="need_file" style="display:none;">\n            <div class="name">Прикрепить реквизиты</br><small>Максимальный размер 7мб.</small></div>\n            <input type="file" onchange="app.registration.change_file(this.files)" name="requisites" id="requisites" />\n            <label data-type="change_file" for="requisites" class="button_grey" id="button_file">Добавить файл</label>\n        </div--\x3e\n        \n        </hr>\n        \n        ${app.views.captcha()}\n         \n        <input type="checkbox" id="privacy_policy"><label for="privacy_policy">Настоящим подтверждаю, что я ознакомлен и согласен с<br/>\n        <a href="/privacy_policy/" target="_blank">условиями политики обработки персональных данных</a>.</label><br/>\n        <input type="checkbox" id="receive_spam"><label for="receive_spam">Получать специальные предложения от Armango на E-mail.</label>\n        \n        <div class="final_button_box">\n            <div id="answer"></div>\n            <button class="button_bright">РЕГИСТРАЦИЯ</button></br>\n            <a href="/auth/">Уже регистрировались?</a>\n        </div>\n    </form>\n    </div>`}\n</div>`},app.views.registration_ready=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    <div class="form_box1">\n\n<div class="registration_ready_box">\n    <div class="title">Ваша заявка на регистрацию принята!</div>\n    \n    <p>В ближайшее время с вами свяжется наш менеджер по оптовым продажам для подтверждения регистрации.</p>\n    \n    <p>После подтверждения регистрации вы сможете <a href="/auth/">авторизоваться на сайте</a> и вам будет доступен полный функционал сайта:</p>\n    \n    <ul>\n        <li>оптовые цены</li>\n        <li>наличие товара</li>\n        <li>возможность делать заказы.</li>\n    </ul>\n    \n    <p>По всем вопросам пожалуйста обращайтесь к нашим менеджерам по телефонам, указанным в контактах.</p>\n    \n    <p>Данное сообщение также отправлено на ваш E-mail${"EMAIL"in n?`: ${n.EMAIL}`:""}.</p>\n\n\n\n    <div class="final_button_box">\n        <a class="button_bright" href="/auth/">Перейти на авторизацию</a>\n    </div>\n\n</div>\n\n\n    </div>\n</div>`},app.views.request_call=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    ${app.is_authorized()?`\n    <div class="form_box1">\n    <form class="form1" onsubmit="app.request_call();return false">\n        \n        <div class="manager_mini">\n            <input \n                type="hidden" \n                id="manager_id" \n                value="${"manager_id"in n?n.manager_id:app.user.MANAGER.ID}"\n            >\n            <div class="manager_foto"><img \n                src="/upload/app/80_80/${"manager_foto"in n?n.manager_foto:app.user.MANAGER.PREVIEW}" \n                alt=""\n                width="80" height="80"\n                onerror="app.get_image_this(this)"\n                draggable="false"\n                loading="lazy" \n                \n            ></div>\n            <div class="manager_name">${"manager_name"in n?n.manager_name:app.user.MANAGER.NAME}</div>\n        </div>\n        \n        <div class="line">\n            <div class="name">ФИО</div>\n            <input \n                type="text" \n                id="fio"\n                placeholder="" \n                required \n            />\n        </div>\n        <div class="line">\n            <div class="name">Телефон</div>\n            <input \n                type="text" \n                id="phone" \n                oninput="app.input_form_phone(this)"\n                required \n            />\n        </div>\n        \n\n        ${app.views.captcha()}\n\n        \n        <div class="final_button_box">\n            <div id="answer"></div>\n            <button class="button_bright">Запросить звонок</button>\n        </div>\n    </form>\n    </div>`:app.views.need_authorization(n)}\n</div>`},app.views.search=function(n){return void 0===n&&(n={}),`\n<div class="max_width">\n    ${app.views.h1(n)}\n    <div class="search_box">\n        \n        <div class="search_content table_line">\n            \n            <p>Поиск "${n.search_text}"<br/>\n            ${"text"in n&&n.text.length>0?n.text+"<br>":""}\n            Результатов: ${n.products.length}</p>\n            \n            <a class="search_filter" href="/search/${n.filter_availability?"all/":""}${n.search_text}">\n                <div class="item" >\n                    <div class="checkbox checkbox-round">${n.filter_availability?"<i></i>":""}</div>\n                    Только в наличии\n                </div>\n                <div class="item" >\n                    <div class="checkbox checkbox-round">${n.filter_availability?"":"<i></i>"}</div>\n                    Все\n                </div>\n            </a>\n        \n        </div>\n        \n        \n        ${app.views.products(n.products)}\n        ${app.is_admin()?'<button class="button_dark" data-type="delete_found_products">УДАЛИТЬ найденные товары!</button>\n            <br><a href="/manager/show_cache_time.php" target="_blank">Перейти к сбросу кэша</a>\n            \n            ':""}\n    </div>\n</div>`},app.views.slider=function(n){return void 0===n&&(n={}),`\n<div \n    data-slider_id="${++app.unique_id}"\n    class="slider" \n    id="slider_main"\n    onmousedown="app.slider.start_move()" \n    ontouchstart="app.slider.start_move(true)" \n    \n    onmouseover = "app.slider.stop(${app.unique_id})"\n    onmouseout = "app.slider.play(${app.unique_id})"\n    \n    draggable="false" \n    \n    ><style id="slider_main_style"></style>\n    <div class="slider_list" id="slider_${app.unique_id}" >${n.sliders_sort.map((function(n){if(!(n in app.data.sliders))return"";let a=app.data.sliders[n];return`\n<a href="${a.LINK}" ><div class="description">\n        <div class="title">${app.is_admin()&&"ID"in a?`[${a.ID}] `:""}${a.NAME}</div>\n        \x3c!--div class="text">${a.PREVIEW_TEXT}</div--\x3e\n    </div><img \n        class="for_desktop" \n        src="${"PREVIEW"in a?`/upload/app/796_408/${a.PREVIEW}`:"/app/images/no_image.png"}" \n        width="796" height="408" \n        alt="${a.NAME}"\n        draggable="false"\n        loading="lazy"\n        onerror="app.get_image_this(this)"\n    ><img \n        class="for_mobile" \n        src="${"DETAIL"in a?`/upload/app/500_500/${a.DETAIL}`:"/app/images/no_image.png"}" \n        width="500" height="500" \n        alt="${a.NAME}"\n        draggable="false"\n        loading="lazy"\n        onerror="app.get_image_this(this)"\n></a>`})).join("")}</div>\n    <div class="buttons" data-slider_id="${app.unique_id}" draggable="false">\n        <button \n            data-type="slider" \n            draggable="false" \n            data-id="${app.unique_id}"  \n        ></button>\n        <button \n            data-type="slider" \n            draggable="false" \n            data-id="${app.unique_id}" \n            data-next="1" \n        ></button>\n    </div>\n</div>${app.slider.start(app.unique_id)}`},app.views.top_line_menu=function(n){return void 0===n&&(n={}),`\n<nav class="top_line_menu">\n    ${app.is_admin()?'<a href="/bitrix/admin/" target="_blank" rel="nofollow">Bitrix</a>':""}\n    <a href="/about/">О компании</a>\n    <a href="/news/">Новости</a>\n    <a href="/articles/">Статьи</a>\n    <a href="/delivery/">Доставка и оплата</a>\n    <a href="/price_list/">Прайс-лист</a>\n    <a href="/contacts/">Контакты</a>\n</nav>\n<div id="top_user">\n    <a \n        class="button selected button_telegram" \n        href="https://t.me/armango_ru" \n        target="_blank" \n        rel="nofollow"\n    ><img \n        src="/app/images/icons/telegram.svg"\n        alt = "telegram"\n        width="16" height="16"\n    >Telegram канал</a>\n    ${app.is_authorized()?`\n    <a class="button selected" href="/personal/">${app.user.NAME} ${app.user.LAST_NAME}</a>\n    <button class="button_dark" data-type="logout">Выйти</button>`:'\n    <a class="button" href="/auth/">ВХОД</a>\n    <a class="button selected" href="/registration/">РЕГИСТРАЦИЯ</a>\n    '}\n</div>`},app.views.video=function(n){return void 0===n&&(n={}),`\n<div class="video">\n    <button \n        style="background-image:url(https://img.youtube.com/vi/${n}/sddefault.jpg);"\n        class="button_video"\n        data-type="video"\n        data-video_id="${n}"\n    ><img src="/app/images/svg/play.svg" alt="play" width="60" height="60"></button>\n</div>`},app.views.working_time=function(n){return void 0===n&&(n={}),'\n<div class="working_time">\n    <b>Пн-Пт</b> 10:00 до 19:00 по Москве<br/>\n    <b>Сб-Вс</b> 12:00 до 17:00 по Москве\n</div>'},app.start();