{"version":3,"file":"8154_189f3b570ba7820c3f9a.bundle.js","mappings":"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","sources":["webpack://tumarket/./js/common.js","webpack://tumarket/./js/global/toggle.js","webpack://tumarket/./js/global/cookie.js","webpack://tumarket/./js/global/loadlib.js","webpack://tumarket/./js/global/progressbar.js","webpack://tumarket/./js/global/uuid.js","webpack://tumarket/./js/lib/dateformat/dateformat.js"],"sourcesContent":["/* global tumarket, LiveTex */\n\nimport * as $ from \"jquery\";\n\nimport tumGlobal from \"./global.js\";\nimport { showDialog, closeDialog, showAlert } from \"./global/dialog\";\nimport { ajaxSend, request } from \"./global/fetch\";\nimport { bootstrapAlert } from \"./global/alert\";\nimport { getUrlParameter } from \"./global/url\";\nimport { getCookie, setCookie } from \"./global/cookie\";\nimport { loadLib } from \"./global/loadlib\";\nimport { getPrecompiledTemplate, loadPrecompiledTemplates } from \"./global/templates\";\nimport { initPopovers } from \"./global/popover\";\nimport { addEventDelegate, setValue, toggleClass } from \"./global/dom\";\nimport { isMob } from \"./global/util\";\nimport { searchWidgets } from \"./navbar/searchSelect.js\";\nimport { setToggle } from \"./global/toggle.js\";\n\nfunction _setTimeout(ms) {\n\treturn new Promise(resolve => {\n\t\tsetTimeout(resolve, ms);\n\t});\n}\n\nfunction showAdminOnlyStuff(){\n\tif (tumarket.isAdmin) {\n\t\tfor (let el of document.querySelectorAll('[data-admin-only]')){\n\t\t\ttoggleClass(el, 'd-none', false);\n\t\t}\n\t}\n}\n\nfunction toggleExtendedView(code) {\n\tif (code == \"enable\") {\n\t\ttoggleClass(\".tum-enableExtendedView i\", \"fa-toggle-on\", true);\n\t\ttoggleClass(\".tum-enableExtendedView i\", \"fa-toggle-off\", false);\n\t}\n\telse if (code == \"disable\") {\n\t\ttoggleClass(\".tum-enableExtendedView i\", \"fa-toggle-on\", false);\n\t\ttoggleClass(\".tum-enableExtendedView i\", \"fa-toggle-off\", true);\n\t}\n\telse {\n\t\ttoggleClass(\".tum-enableExtendedView i\", \"fa-toggle-off fa-toggle-on\");\n\t}\n\n\tif (document.querySelector(\".tum-enableExtendedView .fa-toggle-on\")) {\n\t\tsetCookie(\"extended_view\", \"1\", 30);\n\t}\n\telse {\n\t\tsetCookie(\"extended_view\", \"\", 30);\n\t}\n}\n\nlet searchIconBlinked = false;\n\nvar tumCommon = {\n\toptions: {\n\t\thideFloatingHeader: false\n\t},\n\tinit: function (options) {\n\t\tthis.options = $.extend({}, this.options, options);\n\t\tthis.initCallbacks();\n\n\t\tthis.checkAuthorization();\n\t\tthis.updateCartInfo();\n\t\tthis.checkCookies();\n\t\tthis.initHeader();\n\t\tthis.initFloatingHeader();\n\t\tthis.initCtuCloud();\n\t\tthis.initFloatingWindows();\n\t\tthis.initCacheControls();\n\t\tthis.initOperatorControls();\n\n\t\tinitPopovers();\n\n\t\t$(document).on('click', '.nobubble', e => {\n\t\t\te.stopPropagation();\n\t\t});\n\t\n\t\taddEventDelegate(document, 'click', '.copyToClipboard', element => {\n\t\t\tlet content = $(element).attr('data-content');\n\t\t\ttumGlobal.copyToClipboard(content);\n\t\t\tbootstrapAlert('Скопировано в буфер обмена', { type: 'success' });\n\t\t});\n\n\t\tdocument.querySelector('[data-telegram-connect-suggestion-hide]')?.addEventListener('click', () => {\n\t\t\tsetCookie('hideTelegramMsg', '1', 1/24);\n\t\t\tdocument.querySelector('[data-telegram-connect-suggestion]').remove();\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '[data-dismiss=\"dropdown\"]', element => {\n\t\t\t$(element.closest('.dropdown')).dropdown('hide');\n\t\t});\n\n\t\tshowAdminOnlyStuff();\n\n\t\taddEventDelegate(document, 'click', '[data-clear-cache]', element => {\n\t\t\tajaxSend({\n\t\t\t\turl: '/requests/clearcache',\n\t\t\t\tdata: {\n\t\t\t\t\tprefix: element.dataset.prefix,\n\t\t\t\t\tfirmId: element.dataset.firmId\n\t\t\t\t}\n\t\t\t}).then(data => {\n\t\t\t\tif (data.result) bootstrapAlert('Кеш сброшен', { type: 'success' });\n\t\t\t\telse bootstrapAlert('Ошибка', { type: 'danger' });\n\t\t\t});\n\t\t});\n\n\t\taddEventDelegate(document, 'click', 'a.disabled', (element, event) => {\n\t\t\tevent.preventDefault();\n\t\t});\n\t},\n\tinitFloatingHeader: function(){\n\t\tvar self = this;\n\t\tif (!tumGlobal.isMob()) {\n\t\t\t$(window).on('scroll', function(){\n\t\t\t\tlet showFloatingHeader = self.showFloatingHeader_desktop();\n\t\t\t\ttoggleClass('.header-floating', 'show', showFloatingHeader);\n\t\t\t\ttoggleClass('body', 'floating-header-shown', showFloatingHeader);\n\n\t\t\t\tif (document.querySelector('.header-floating.top')) {\n\t\t\t\t\ttoggleClass('body', 'floating-header-shown-top', showFloatingHeader);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\t$(window).on('scroll', () => this.updateFloatingHeader());\n\t\t$(window).trigger('scroll');\n\t},\n\tupdateFloatingHeader: function(){\n\t\tlet showFloatingHeader = this.showFloatingHeader_desktop();\n\t\ttoggleClass('.header-floating.bottom', 'show', showFloatingHeader && this.showFloatingHeader_mob() && !this.options.hideFloatingHeader);\n\t\ttoggleClass('.header-floating.top', 'show', showFloatingHeader);\n\n\t\ttoggleClass('body', 'floating-header-shown', showFloatingHeader);\n\t\tif (document.querySelector('.header-floating.top')) {\n\t\t\ttoggleClass('body', 'floating-header-shown-top', showFloatingHeader);\n\t\t}\n\t},\n\ttoggleTopBar: function(){\n\t\ttoggleClass('.topbar.main', 'd-none');\n\t},\n\ttoggleFloatingHeader: function(){\n\t\tthis.options.hideFloatingHeader = !this.options.hideFloatingHeader;\n\t},\n\tshowFloatingHeader_desktop: function(){\n\t\treturn window.scrollY > $('.header-floating').height();\n\t},\n\tshowFloatingHeader_mob: function(){\n\t\treturn $(window).scrollTop() < ($(document).height() - $(window).height() - $('.header-floating').height()*3);\n\t},\n\tinitCtuCloud: function(){\n\t\tlet $cloud = $('.ctuCloud');\n\n\t\tif (!$cloud.length || $cloud[0].scrollWidth <= $cloud[0].offsetWidth) return;\n\t\t\n\t\tlet $back = $('.ctuCloud-back');\n\t\tlet $forward = $('.ctuCloud-forward');\n\t\t$forward.removeClass('d-md-none').addClass('d-md-block');\n\n\t\tlet maxScrollLeft = () => $cloud[0].scrollWidth - $cloud[0].offsetWidth;\n\t\tlet updateButtons = () => {\n\t\t\tlet showBack = $cloud[0].scrollLeft > 0;\n\t\t\tlet showForward = $cloud[0].scrollLeft < maxScrollLeft();\n\t\t\t$back.toggleClass('d-md-none', !showBack).toggleClass('d-md-block', showBack);\n\t\t\t$forward.toggleClass('d-md-none', !showForward).toggleClass('d-md-block', showForward);\n\t\t};\n\t\t\n\t\t$back.on('click', () => {\n\t\t\t$cloud.animate({ scrollLeft: Math.max(0, $cloud[0].scrollLeft - $cloud[0].offsetWidth)}, 200, null, updateButtons);\n\t\t});\n\t\t\n\t\t$forward.on('click', () => {\n\t\t\t$cloud.animate({ scrollLeft: Math.min(maxScrollLeft(), $cloud[0].scrollLeft + $cloud[0].offsetWidth)}, 200, null, updateButtons);\n\t\t});\n\t},\n\tinitCacheControls: function(){\n\t\taddEventDelegate(document, 'click', '.tum-toggleCache', () => {\n\t\t\tvar disableCache = getCookie(\"disableCache\");\n\t\t\tif (disableCache == \"1\") {\n\t\t\t\tsetCookie(\"disableCache\", \"0\", 1/24/2);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tsetCookie(\"disableCache\", \"1\", 1/24/2);\n\t\t\t}\n\t\t\tthis.updateCacheToggle();\n\t\t\tlocation.reload();\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-toggleCache-long', () => {\n\t\t\tvar disableCache_long = getCookie(\"disableCache_long\");\n\t\t\tif (disableCache_long == \"1\") {\n\t\t\t\tsetCookie(\"disableCache_long\", \"0\", 1);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tsetCookie(\"disableCache_long\", \"1\", 1);\n\t\t\t}\n\t\t\tthis.updateCacheToggle();\n\t\t\tlocation.reload();\n\t\t});\n\t},\n\tinitOperatorControls: function(){\n\t\taddEventDelegate(document, 'click', '.tum-operatorAddonToggle', () => {\n\t\t\tvar enable = getCookie(\"enableOperatorAddon\");\n\t\t\tif (enable == \"1\") {\n\t\t\t\tsetCookie(\"enableOperatorAddon\", \"0\", 1);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tsetCookie(\"enableOperatorAddon\", \"1\", 1);\n\t\t\t}\n\t\t\tthis.updateOperatorAddonToggle();\n\t\t\tlocation.reload();\n\t\t});\n\t},\n\tloadLivetex: function(callback) {\n\t\tif (window.LiveTex) {\n\t\t\tcallback();\n\t\t\treturn;\n\t\t}\n\n\t\twindow.liveTex = true;\n\t\twindow.liveTexID = 170736;\n\t\twindow.liveTex_object = true;\n\t\twindow.LiveTex = {\n\t\t\tonLiveTexReady: function () {\n\t\t\t\tLiveTex.hideLabel();\n\t\t\t\tcallback();\n\t\t\t}\n\t\t};\n\n\t\tloadLib({\n\t\t\tjsLink: \"https://cs15.livetex.ru/js/client.js\",\n\t\t\tconditionObject: window._LiveTex\n\t\t});\n\t},\n\tinitCallbacks: function () {\n\t\tvar self = this;\n\n\t\taddEventDelegate(document, 'click', '[data-set-cookie]', element => {\n\t\t\tsetCookie(element.dataset.name, element.dataset.value, element.dataset.duration / 24);\n\t\t});\n\t\n\t\taddEventDelegate(document, 'change', '[data-set-input-value]', element => {\n\t\t\tsetValue(element.dataset.target, element.value);\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '[data-tum-toggle]', element => {\n\t\t\tsetToggle(element);\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '[data-scrollup]', () => {\n\t\t\ttumGlobal.scrollUp();\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-collapse-link', element => { this.collapseLinkClick($(element)) });\n\t\taddEventDelegate(document, 'click', '.tum-collapse-link2', element => { this.collapseLinkClick2($(element)) });\n\t\t\n\t\taddEventDelegate(document, 'click', '.tum-collapse-link-info', element => { this.collapseLinkInfoClick($(element)) });\n\t\taddEventDelegate(document, 'resize', 'body', () => { this.checkPageHeight() });\n\n\t\taddEventDelegate(document, 'click', '.tu-getShortUrl', element => { \n\t\t\tlet url = $(element).attr('data-url');\n\t\t\tthis.getShortUrl(url);\n\t\t});\n\n\t\tself.checkPageHeight();\n\n\t\taddEventDelegate(document, 'click', '.informer-not-yet-working:not(.d-none)', (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tvar docHeight = $(document).height();\n\t\t\tvar pos = $(element).offset();\n\t\t\t$('.informer-not-yet-working-block').show();\n\t\t\tvar c_top = pos.top + 25;\n\t\t\tvar c_left = pos.left - $('.informer-not-yet-working-block').width() + 4;\n\t\t\tif (c_top > docHeight || docHeight - c_top < 100)\n\t\t\t\tc_top = pos.top - 100;\n\t\t\tif (c_left < 0) c_left = 50;\n\t\t\t$('.informer-not-yet-working-block').offset(function () {\n\t\t\t\treturn { top: c_top, left: c_left }\n\t\t\t});\t\n\t\t});\n\n\t\t$(document).mouseup(function (e) {\n\t\t\tvar container = $(\".informer-not-yet-working-block\");\n\t\t\t// if the target of the click isn't the container nor a descendant of the container\n\t\t\tif (!container.is(e.target) && container.has(e.target).length === 0 && $(\".informer-not-yet-working-block\").length > 0) {\n\t\t\t\t$(container).hide();\n\t\t\t}\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-seofooter-hide\", () => {\n\t\t\ttoggleClass(\".tum-seofooter\", 'd-none');\n\n\t\t\tlet shown = !$('.tum-seofooter-content').hasClass('d-none');\n\t\t\tthis.setSeoFooterCookie(shown ? 0 : 1);\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-focusSearch, .tu-show-searh, .show-search-menu-focus', element => {\n\t\t\ttumGlobal.scrollUp();\n\n\t\t\tthis.showSearchTypes(element.getAttribute('data-code'));\n\t\t});\n\n\t\t//клик по ридмору или меню в миниатуюре ТУ или КА подсвечивает краточку\n\t\taddEventDelegate(document, 'click', \".b-product\", element => {\n\t\t\t$(element).addClass(\"important-border\");\n\t\t});\n\n\t\t//подсказки для доставки по миниатюрам ТУ\n\t\taddEventDelegate(document, 'click', '.tum-isFix-hint-deliv', element => {\n\t\t\tvar text = $(element).attr(\"data-content\");\n\t\t\tvar elem = $(element).closest(\".hasHint_deliv\");\n\t\t\tif ($(element).hasClass(\"d-none\")) {\n\t\t\t\tthis.showHintDeliv(text, elem, true);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.showHintDeliv(text, elem);\n\t\t});\n\t\t\n\t\taddEventDelegate(document, 'click', \".hideHintDeliv\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\t$(element).closest(\".tum-hint-block-deliv\").addClass(\"d-none\");\n\t\t});\n\n\t\tself.defineSearchType();\n\t\tself.defineSearchOpen();\n\n\t\taddEventDelegate(document, 'click', '.operatorChat', () => {\n\t\t\tthis.loadLivetex(() => LiveTex.showWelcomeWindow());\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tu-showFirmOnMap', (element, e) => {\n\t\t\te.stopPropagation();\n\t\t\tself.showFirmOnMap({\n\t\t\t\tlat: $(element).attr('data-lat'),\n\t\t\t\tlong: $(element).attr('data-long'),\n\t\t\t\tfirmID: $(element).attr('data-firmid')\n\t\t\t});\n\t\t});\n\t\t\n\t\taddEventDelegate(document, 'click', '.tu-editUpdateFailureNotificationContacts', element => {\n\t\t\tthis.editFailureNotificationContacts($(element).attr('data-firmid'));\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tu-scrollUp', () => tumGlobal.scrollUp());\n\n\t\taddEventDelegate(document, 'click', '[data-wt-update]', element => {\n\t\t\tlet firmID = $(element).attr('data-firmid');\n\n\t\t\tajaxSend({ url: '/firmRequests/UpdateProductWeights', data: { firmID }}).then(data => {\n\t\t\t\tif (data.result) {\n\t\t\t\t\tlet msg = $('[data-wt-update-success-msg]').html();\n\t\t\t\t\tshowAlert(msg, { type: 'success2' });\n\t\t\t\t\t$('[data-wt-update-container]').remove();\n\t\t\t\t} else {\n\t\t\t\t\tlet msg = $('[data-wt-update-failure-msg]').html();\n\t\t\t\t\tshowAlert(msg, { type: 'danger2' });\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\taddEventDelegate(document, \"click\", '.b-catalog-find', (element, e) => {\n\t\t\te.preventDefault();\n\n\t\t\ttumGlobal.scrollUp();\n\n\t\t\tif (!tumGlobal.isMob()){\n\t\t\t\tsearchWidgets.main.highlight();\n\t\t\t\tsearchWidgets.main.focus();\n\t\t\t} else {\n\t\t\t\timport(\"./searchMenu.js\").then(({tum_searchMenu}) => {\n\t\t\t\t\ttum_searchMenu.toggleMenu('show')\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\ttum_searchMenu.highlightSearch();\n\t\t\t\t\t\ttum_searchMenu.focusSearch();\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-enableExtendedView\", () => {\n\t\t\ttoggleExtendedView();\n\t\t});\n\t},\n\tshowSearchTypes: function(code){\n\t\tif (!tumGlobal.isMob()){\n\t\t\tsearchWidgets.main.focus();\n\t\t\tsearchWidgets.main.toggleSearchTypes('show');\n\n\t\t\tif (code) searchWidgets.main.setSearchType(code);\n\t\t} else {\n\t\t\timport(\"./searchMenu\").then(({tum_searchMenu}) => {\n\t\t\t\ttum_searchMenu.toggleMenu('show')\n\t\t\t\t.then(() => {\n\t\t\t\t\ttum_searchMenu.focusSearch();\n\t\t\t\t\ttum_searchMenu.toggleSearchTypes('show');\n\n\t\t\t\t\tif (code) tum_searchMenu.setSearchType(code);\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t},\n\tcheckCookies: function(){\n\t\tfunction showNoCookiesWarning(){\n\t\t\t$('.tum-noCookies-warning').removeClass('d-none');\n\t\t}\n\n\t\tvar cookieEnabled = navigator.cookieEnabled;\n\t\tif (!cookieEnabled){ \n\t\t\tsetCookie('testcookie', \"123\", 1);\n\t\t\tcookieEnabled = getCookie(\"testcookie\") == \"123\";\n\t\t\tif (cookieEnabled) {\n\t\t\t\tsetCookie('testcookie', '0', -1);\n\t\t\t}\n\t\t}\n\t\treturn cookieEnabled || showNoCookiesWarning();\n\t},\n\tupdateCartInfo: function(){\n\t\tvar cartCnt = tumarket.general.cartCount;\n\t\t$('.signIn-cart-warning .menu-count-cart').text(cartCnt);\n\n\t\tif (cartCnt > 0) {\n\t\t\t$(\".signIn-cart-warning\").removeClass(\"d-none\");\n\t\t}\n\n\t\tif (location.pathname.startsWith(\"/signup\")) {\n\t\t\timport(\"./login.js\").then(({ reg }) => {\n\t\t\t\t$(`input[name=saveCartItems][value=\"${(reg.options.saveCartItems ? \"1\" : \"0\")}\"]`).prop(\"checked\", true);\n\t\t\t});\n\t\t}\n\t},\n\tupdateCacheToggle: function(){\n\t\tvar disableCache = getCookie(\"disableCache\");\n\t\tif (disableCache == \"1\") {\n\t\t\t$(\".tum-toggleCache i\").removeClass(\"fa-toggle-off\").addClass(\"fa-toggle-on\");\n\t\t}\n\t\telse {\n\t\t\t$(\".tum-toggleCache i\").removeClass(\"fa-toggle-on\").addClass(\"fa-toggle-off\");\n\t\t}\n\n\t\tvar disableCache_long = getCookie(\"disableCache_long\");\n\t\tif (disableCache_long == \"1\") {\n\t\t\t$(\".tum-toggleCache-long i\").removeClass(\"fa-toggle-off\").addClass(\"fa-toggle-on\");\n\t\t}\n\t\telse {\n\t\t\t$(\".tum-toggleCache-long i\").removeClass(\"fa-toggle-on\").addClass(\"fa-toggle-off\");\n\t\t}\n\t},\n\tupdateOperatorAddonToggle: function(){\n\t\tvar enable = getCookie(\"enableOperatorAddon\");\n\t\tif (enable == \"1\") {\n\t\t\t$(\".tum-operatorAddonToggle i\").removeClass(\"fa-toggle-off\").addClass(\"fa-toggle-on\");\n\t\t}\n\t\telse {\n\t\t\t$(\".tum-operatorAddonToggle i\").removeClass(\"fa-toggle-on\").addClass(\"fa-toggle-off\");\n\t\t}\n\t},\n\tcollapseLinkClick: function (elm) {\t\t\n\t\telm.toggleClass('d-none');\n\t},\n\tcollapseLinkInfoClick: function (elm) {\n\t\tvar selector = $(elm).attr('data-main-link');\n\t\t$(selector).removeClass('d-none');\n\t},\n\tcollapseLinkClick2: function (elm) {\n\t\tvar id = elm.closest('div').attr('id');\n\t\tsetTimeout(function () {$('a.tum-collapse-link[href=\"#' + id + '\"]').removeClass('d-none'); }, 100);\n\t\t\n\t},\n\tcheckPageHeight: function () {\n\t\tif ($('body')[0].scrollHeight < window.innerHeight) {\n\t\t\t$('body').addClass('stuck-bottom');\n\t\t\t$('.b-footer').addClass('stuck-bottom');\n\t\t} else {\n\t\t\t$('body').removeClass('stuck-bottom');\n\t\t\t$('.b-footer').removeClass('stuck-bottom');\n\t\t}\n\t},\n\t//устанавливает тип поиска если таковой был передан\n\tdefineSearchType: function () {\n\t\tif (getUrlParameter(\"search-type\")) {\n\t\t\tvar searchType = getUrlParameter(\"search-type\");\n\t\t\t$(\"[data-search-type='\" + searchType + \"']\").first()[0]?.click();\n\t\t}\n\t},\n\t//открываем поиски если был передан параметр\n\tdefineSearchOpen: function () {\n\t\tif (getUrlParameter(\"search-open\") == \"1\") {\n\t\t\tthis.showSearchTypes();\n\t\t}\n\t},\n\tshowHintDeliv: function (txt, elem, close) {\n\t\tvar hintBlock = $(elem).find(\".tum-hint-block-deliv\");\n\t\tif (close) {\n\t\t\thintBlock.addClass(\"d-none\");\n\t\t\treturn;\n\t\t}\n\t\thintBlock.removeClass(\"d-none\");\n\t\thintBlock.html('
Закрыть
' + txt);\n\t\thintBlock.addClass('hintBorder');\n\t},\n\tcheckAuthorization: function(){\n\t\tlet isAuthorized = $(\".t-authorized\").html() == \"True\";\n\n\t\tif (isAuthorized) {\n\t\t\tajaxSend({ url: \"/home/checkAuthorization\" }).then(data => {\n\t\t\t\tif (!data.result) {\n\t\t\t\t\tlocation.reload();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tgetShortUrl: function (url) {\n\t\tajaxSend({ url: '/shortLink/getShortUrl', data: { url: url || location.href } }).then(data => {\n\t\t\tvar title = 'Ссылка для товаров и услуг';\n\t\t\tvar html = `Скопировано в буфер обмена
\n\t\t\t\t\t\t${data.result}`;\n\n\t\t\ttumGlobal.copyToClipboard(data.result);\n\n\t\t\tshowDialog({\n\t\t\t\ttitle: title,\n\t\t\t\tcontent: html,\n\t\t\t\tonShown: () => $('#asModal .btn-primary').remove()\n\t\t\t});\n\t\t});\n\t},\n\tshowFirmOnMap: function(options){\n\t\tlet self = this;\n\n\t\timport(\"./map.js\").then(({ tu_maps }) => {\n\t\t\tshowDialog({\n\t\t\t\ttitle: 'На карте',\n\t\t\t\tcontent: '
',\n\t\t\t\tonShown: () => {\n\t\t\t\t\t$('.btn-primary', '#asModal').addClass('d-none');\n\t\n\t\t\t\t\tself.currentMap = tu_maps.create({\n\t\t\t\t\t\tcontainerId: 'menu-map-cont',\n\t\t\t\t\t\tcenter: {\n\t\t\t\t\t\t\tlat: options.lat,\n\t\t\t\t\t\t\tlong: options.long\n\t\t\t\t\t\t},\n\t\t\t\t\t\theight: null,\n\t\t\t\t\t\tzoom: 16,\n\t\t\t\t\t\tonLoad: (ymap, modules, map) => {\n\t\t\t\t\t\t\tlet placemark = new modules.Placemark([options.lat, options.long]);\n\t\n\t\t\t\t\t\t\tfunction showBalloon() {\n\t\t\t\t\t\t\t\tmap.getBalloonContent(options.firmID, 0, true)\n\t\t\t\t\t\t\t\t\t.then(e => map.showCustomBalloon(e, true));\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tplacemark.events.add('click', function () {\n\t\t\t\t\t\t\t\tshowBalloon();\n\n\t\t\t\t\t\t\t\timport(\"./statistics.js\").then(({ tumStats }) => {\n\t\t\t\t\t\t\t\t\ttumStats.logEvent({\n\t\t\t\t\t\t\t\t\t\tfirmID: options.firmID,\n\t\t\t\t\t\t\t\t\t\tobjectType: 'map',\n\t\t\t\t\t\t\t\t\t\teventType: 'click_showContacts'\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tymap.geoObjects.add(placemark);\n\t\t\t\t\t\t\tshowBalloon();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tonClosed: () => {\n\t\t\t\t\t$('#asModal .btn-primary').removeClass('d-none');\n\t\t\t\t\ttu_maps.dropSettingsModal();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\t_getSearchBarTop: function(){\n\t\tlet searchbar = document.querySelector('.searchWidget');\n\t\treturn searchbar.getBoundingClientRect().top + window.scrollY;\n\t},\n\tupdateSearchMenuButton: function(){\n\t\tlet searchBarTop = this._getSearchBarTop();\n\t\tlet searchMenuButton = document.querySelector('.topbar .toggleSearchMenu');\n\n\t\tlet show = window.scrollY >= searchBarTop - 20;\n\n\t\tif (!searchIconBlinked) {\n\t\t\t_setTimeout(333).then(() => this.blinkSearchIcon());\n\t\t}\n\n\t\tlet active = searchMenuButton.matches('.active');\n\t\tlet shown = searchMenuButton.matches('.show');\n\n\t\t//если иконка сейчас мигает, то ее можно скрыть, но нельзя \"показать\", иначе ломается анимация\n\t\tif (active && !shown) {\n\t\t\tif (!show) {\n\t\t\t\ttoggleClass(searchMenuButton, 'show active', show);\t\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\ttoggleClass(searchMenuButton, 'show active', show);\n\t},\n\tinitHeader: function(){\n\t\tsetInterval(() => this.blinkSearchIcon(), 10000);\n\t\tif (!tumGlobal.isMob() || !searchWidgets.main.exists()) {\n\t\t\tlet $searchMenuButton = $('.topbar .toggleSearchMenu');\n\t\t\t$searchMenuButton.addClass('show active');\n\t\t\treturn;\n\t\t} \n\t\t\n\t\t//кнопка меню поиска появляется, только когда поле поиска на странице скрывается с экрана\n\t\tthis.updateSearchMenuButton();\n\t\t$(document).on('scroll', () => this.updateSearchMenuButton());\n\t},\n\tblinkSearchIcon: function(){\n\t\tlet searchMenuButton = document.querySelector('.topbar .toggleSearchMenu');\n\t\tif (!searchMenuButton?.matches('.active')) return;\n\n\t\tlet delay = 333;\n\t\t\n\t\ttoggleClass(searchMenuButton, 'show', false);\n\t\t_setTimeout(delay)\n\t\t.then(() => toggleClass(searchMenuButton, 'show', true))\n\t\t.then(() => _setTimeout(delay))\n\t\t.then(() => toggleClass(searchMenuButton, 'show', false))\n\t\t.then(() => _setTimeout(delay))\n\t\t.then(() => {\n\t\t\tsearchIconBlinked = true\n\t\t\t\n\t\t\t//проверка на случай, если за время анимации иконка скрылась\n\t\t\tif (searchMenuButton.matches('.active')) {\n\t\t\t\ttoggleClass(searchMenuButton, 'show', true);\n\t\t\t}\n\t\t});\n\t},\n\tgetCartCount: function(){\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tajaxSend({ url: '/home/getCartCount' }).then(data => {\n\t\t\t\tif (data.result) resolve(data.count);\n\t\t\t\telse reject('getCartCount error');\n\t\t\t});\n\t\t});\n\t},\n\tgetCartSum: function(){\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tajaxSend({ url: '/home/getCartSum' }).then(data => {\n\t\t\t\tif (data.result) resolve(data.sum);\n\t\t\t\telse reject('getCartSum error');\n\t\t\t});\n\t\t});\n\t},\n\tgetFavoritesCount: function(){\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tajaxSend({ url: '/home/getFavoritesCount' }).then(data => {\n\t\t\t\tif (data.result) resolve(data.count);\n\t\t\t\telse reject('getFavoritesCount error');\n\t\t\t});\n\t\t});\n\t},\n\tgetNotificationsCount: function(){\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tajaxSend({ url: '/home/getNotificationsCount' }).then(data => {\n\t\t\t\tif (data.result) resolve(data.count);\n\t\t\t\telse reject('getNotificationsCount error');\n\t\t\t});\n\t\t});\n\t},\n\t_updateCartCount: function(){\n\t\tlet $count = $('.topbar .cart-count');\n\t\t$count.html(tumarket.general.cartCount);\n\t\t$count.toggleClass('d-none', tumarket.general.cartCount == 0);\n\t},\n\t_updateCartSum: function(){\n\t\tlet $cart = $('.topbar .topbar-cart');\n\t\t$cart.attr('title', tumarket.general.cartSum > 0 ? `Сумма: ${tumarket.general.cartSum.toFixed(2)}р` : null)\n\t\t$cart.toggleClass('d-none', tumarket.general.cartSum == 0);\n\t},\n\t_updateFavoritesCount: function(){\n\t\tlet $count = $('.topbar .favorites-count');\n\t\t$count.html(tumarket.general.favoritesCount);\n\t\t$count.toggleClass('d-none', tumarket.general.favoritesCount == 0);\n\t},\n\t_updateNotificationsCount: function(){\n\t\tlet $count = $('.topbar .notifications-count');\n\t\t$count.html(tumarket.general.notificationsCount);\n\t\t$count.toggleClass('d-none', tumarket.general.notificationsCount == 0);\n\t},\n\tupdateCartCount: function(){\n\t\tthis.getCartCount()\n\t\t.then(count => {\n\t\t\ttumarket.general.cartCount = count;\n\t\t\tthis._updateCartCount();\n\t\t});\n\t},\n\tupdateCartSum: function(){\n\t\tthis.getCartSum()\n\t\t.then(sum => {\n\t\t\ttumarket.general.cartSum = sum;\n\t\t\tthis._updateCartSum();\n\t\t});\n\t},\n\tupdateFavoritesCount: function(){\n\t\tthis.getFavoritesCount()\n\t\t.then(count => {\n\t\t\ttumarket.general.favoritesCount = count;\n\t\t\tthis._updateFavoritesCount();\n\t\t});\n\t},\n\tupdateNotificationsCount: function(){\n\t\tthis.getNotificationsCount()\n\t\t.then(count => {\n\t\t\ttumarket.general.notificationsCount = count;\n\t\t\tthis._updateNotificationsCount();\n\t\t});\n\t},\n\tisHeaderFloating: function(){\n\t\treturn $('.header-floating').hasClass('show');\n\t},\n\tgetFirmSettings: function(firmId) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tajaxSend({ url: '/firmRequests/getFirmSettings', data: { firmId } }).then(data => {\n\t\t\t\tif (data.result) resolve(data.value);\n\t\t\t\telse reject(data.msg);\n\t\t\t});\n\t\t});\n\t},\n\teditFailureNotificationContacts: function(firmId) {\n\t\tPromise.all([\n\t\t\tthis.getFirmSettings(firmId),\n\t\t\tthis.getUserRole(firmId),\n\t\t\tloadPrecompiledTemplates(['updateFailureNotificationContacts-form'])\n\t\t])\n\t\t.then(results => {\n\t\t\tlet form = null;\n\t\t\tlet formJson = getPrecompiledTemplate('updateFailureNotificationContacts-form')();\n\t\t\tlet formFields = JSON.parse(formJson);\n\t\t\tlet formData = JSON.parse(results[0].updateFailureNotificationContacts || '{}');\n\n\t\t\tshowDialog({\n\t\t\t\ttitle: 'Контакты при сбоях в обновлении',\n\t\t\t\tcontent: '
',\n\t\t\t\tbuttonText: 'Сохранить',\n\t\t\t\tonShown: () => {\n\t\t\t\t\timport(\"./form/form.js\").then(({ tu_form }) => {\n\t\t\t\t\t\ttu_form.create({\n\t\t\t\t\t\t\tcontainer: '.contacts-form',\n\t\t\t\t\t\t\tfields: formFields,\n\t\t\t\t\t\t\tdata: formData,\n\t\t\t\t\t\t\tuserRoles: [results[1]]\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.then(f => form = f);\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tonSubmit: () => {\n\t\t\t\t\tif (!form) return;\n\n\t\t\t\t\tif (!form.validate()) {\n\t\t\t\t\t\tbootstrapAlert('Не все поля заполнены корректно', { type: 'danger' });\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet data = form.getData();\n\n\t\t\t\t\tfunction alert(){\n\t\t\t\t\t\tbootstrapAlert('Контакт с выбранным приоритетом должен быть заполнен', { type: 'danger' });\n\t\t\t\t\t}\n\n\t\t\t\t\tif (data.tech.priority == 'phone' && !data.tech.phone) {\n\t\t\t\t\t\talert();\n\t\t\t\t\t\tform.addHighlight({ name: 'tech', field: 'phone' });\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (data.tech.priority == 'email' && !data.tech.email) {\n\t\t\t\t\t\talert();\n\t\t\t\t\t\tform.addHighlight({ name: 'tech', field: 'email' });\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (data.org.priority == 'phone' && !data.org.phone) {\n\t\t\t\t\t\talert();\n\t\t\t\t\t\tform.addHighlight({ name: 'org', field: 'phone' });\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (data.org.priority == 'email' && !data.org.email) {\n\t\t\t\t\t\talert();\n\t\t\t\t\t\tform.addHighlight({ name: 'org', field: 'email' });\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.updateFirmSettings(firmId, { updateFailureNotificationContacts: JSON.stringify(data) })\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tbootstrapAlert('Сохранено', { type: 'success' });\n\t\t\t\t\t\tcloseDialog();\n\t\t\t\t\t})\n\t\t\t\t\t.catch(msg => bootstrapAlert(msg || 'Ошибка', { type: 'danger' }));\n\t\t\t\t}\n\t\t\t});\n\t\t})\n\t\t.catch(msg => showAlert(msg || 'Ошибка', { type: 'danger2' }))\n\t},\n\tupdateFirmSettings: function(firmId, settings) {\n\t\tsettings.firmId = firmId;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\trequest('firm-settings-update', settings).then(data => {\n\t\t\t\tif (data.result) resolve();\n\t\t\t\telse reject(data.msg);\n\t\t\t});\n\t\t});\n\t},\n\tcheckPermissions: function(firmID){\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tajaxSend({ url: '/firmRequests/checkPermissions', data: { firmID } }).then(data => {\n\t\t\t\tif (data.result) resolve(data.value);\n\t\t\t\telse reject(data.msg);\n\t\t\t});\n\t\t});\n\t},\n\tgetUserRole: function(firmID){\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tajaxSend({ url: '/firmRequests/getUserRole', data: { firmID } }).then(data => {\n\t\t\t\tif (data.result) resolve(data.value);\n\t\t\t\telse reject(data.msg);\n\t\t\t});\n\t\t});\n\t},\n\t/**\n\t * Создает плавающее окно\n\t * По умолчанию у него display: none. Чтобы показать, $('.floating-window', $wrapper).removeClass('d-none'),\n\t * где $wrapper - то, что возвращает эта функция\n\t * @name уникальный идентификатор. Если уже существует, берется существующее окно.\n\t * @html\n\t * @top\n\t * @bottom\n\t * @left\n\t * @right\n\t * @returns {object} Обертка над окном\n\t */\n\tgetFloatingWindow: function(options){\n\t\tlet $wrapper = $('.floating-window-wrapper[data-name=\"' + options.name + '\"]');\n\n\t\tif (!$wrapper.length) {\n\t\t\t$wrapper = $(`\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t${options.html}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t`);\n\n\t\t\tlet $window = $('.floating-window', $wrapper);\n\t\t\tif (options.top) $window.css('top', options.top);\n\t\t\tif (options.bottom) $window.css('bottom', options.bottom);\n\t\t\tif (options.left) $window.css('left', options.left);\n\t\t\tif (options.right) $window.css('right', options.right);\n\t\t\t$('body').append($wrapper);\n\n\t\t\ttumGlobal.onClickOutside($window.add(options.button), () => $window.addClass('d-none'));\n\t\t}\n\t\t\n\t\treturn $wrapper;\n\t},\n\tinitFloatingWindows: function(){\n\t\taddEventDelegate(document, 'click', '[data-toggle=\"floatingwindow\"]', element => {\n\t\t\tif (isMob()) {\n\t\t\t\tshowDialog({\n content: `
${$($(element).attr('data-contenttarget')).html()}
`,\n pinToBottom: true,\n\t\t\t\t\tclasses: \"opened-as-floating\"\n });\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet options = {\n\t\t\t\tname: $(element).attr('data-name'),\n\t\t\t\thtml: $($(element).attr('data-contenttarget')).html(),\n\t\t\t\ttop: $(element).attr('data-top'),\n\t\t\t\tbottom: $(element).attr('data-bottom'),\n\t\t\t\tleft: $(element).attr('data-left'),\n\t\t\t\tright: $(element).attr('data-right'),\n\t\t\t\tbutton: $(element)\n\t\t\t};\n\n\t\t\tlet $windowWrapper = this.getFloatingWindow(options);\n\t\t\t$('.floating-window', $windowWrapper).toggleClass('d-none');\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.floating-window-close', element => {\n\t\t\tlet $window = $(element).closest('.floating-window');\n\t\t\t$window.toggleClass('d-none');\n\n\t\t\t$('.modal.show.opened-as-floating').modal('hide');\n\t\t});\n\t},\n\tsetSeoFooterCookie: function(value){\n\t\treturn new Promise(resolve => ajaxSend({ url: '/home/setSeoFooterCookie', data: { value } }).then(resolve));\n\t},\n\tgetFirmSchedule: function(firmID, depID){\n\t\treturn new Promise(resolve => ajaxSend({ url: '/FirmRequests/GetFirmSchedule', data: { firmID: firmID, depID: depID } }).then(resolve));\n\t}\n}\n\nArray.prototype.diff = function (a) {\n\treturn this.filter(function (i) {\n\t\treturn a.indexOf(i) === -1;\n\t});\n};\n\nexport default tumCommon;","import { toggleClass } from \"./dom\";\n\n/**\n * \n * @param {HTMLElement} element \n * @param {boolean} value\n */\nfunction setToggle(element, value) {\n toggleClass(element, 'fa-toggle-on', value);\n toggleClass(element, 'fa-toggle-off', value == undefined ? undefined : !value);\n element.dispatchEvent(new Event(\"tum.toggle.change\", { bubbles: true }));\n}\n\nexport { setToggle };\n","let _version = \"\";\nlet _domain = \"\";\n\n/**\n * @typedef {object} CookieOptions\n * @property {string} version\n * @property {string} domain\n */\n\n/**\n * \n * @param {CookieOptions} param0 \n */\nfunction initCookies({ version, domain }) {\n _version = version;\n _domain = domain;\n}\n\n/**\n * \n * @param {string} name \n * @param {string} value \n * @param {number} [days] \n */\nfunction setCookie(name, value, days = 30) {\n if (_version) {\n name = name + \"_\" + _version;\n }\n\n var expires;\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\n expires = \"; expires=\" + date.toUTCString();\n } else {\n expires = \"\";\n }\n\n var domain = \"\";\n if (_domain) {\n var domainName = _domain.startsWith(\".\") ? _domain.substring(1) : _domain;\n\n if (!location.hostname.includes(domainName)) {\n _domain = location.hostname;\n }\n\n if (location.href.toLowerCase().indexOf(domainName.toLowerCase()) > -1) {\n domain = \"; domain=\" + _domain;\n }\n }\n\n document.cookie = name + \"=\" + encodeURIComponent(value) + expires + domain + \"; path=/\";\n}\n\n/**\n * \n * @param {string} c_name \n * @returns {string}\n */\nfunction getCookie(c_name) {\n if (_version) {\n c_name = c_name + \"_\" + _version;\n }\n\n if (document.cookie.length > 0) {\n var c_start = document.cookie.indexOf(c_name + \"=\");\n if (c_start != -1) {\n c_start = c_start + c_name.length + 1;\n var c_end = document.cookie.indexOf(\";\", c_start);\n if (c_end == -1) {\n c_end = document.cookie.length;\n }\n return decodeURIComponent(document.cookie.substring(c_start, c_end));\n }\n }\n\n return \"\";\n}\n\nwindow.getCookie = getCookie;\nwindow.setCookie = setCookie;\n\nexport { getCookie, setCookie, initCookies };","/* global tumarket */\n\nimport * as $ from \"jquery\";\nimport { openProgressbar, closeProgressbar } from \"./progressbar\";\n\n/**\n * @typedef {object} Lib\n * @property {any} [conditionObject]\n * @property {string} [cssLink]\n * @property {string} [jsLink]\n * @property {boolean} [showProgressbar=true]\n */\n\n/**\n * \n * @param {Lib} param0 \n * @returns \n */\nfunction loadLib({ jsLink, cssLink, conditionObject, showProgressbar = true, useVersion = true }) {\n if (cssLink) {\n if (useVersion) {\n cssLink = `${cssLink}?v=${tumarket.cacheDate || ''}`;\n }\n\n if (!document.querySelector(`link[rel=\"stylesheet\"][href=\"${cssLink}\"]`)) {\n $('head').append(``);\n }\n\n return Promise.resolve();\n }\n\n if (!conditionObject) {\n if (showProgressbar) openProgressbar();\n \n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n document.body.appendChild(script);\n script.onload = resolve;\n script.onerror = reject;\n script.async = true;\n script.src = jsLink;\n }).then(() => {\n if (showProgressbar) closeProgressbar();\n });\n }\n\n return Promise.resolve();\n}\n\nexport { loadLib };\n","import * as $ from \"jquery\";\n\nfunction openProgressbar() {\n if (!$('.as-progCont').length){\n $('body').append(\"
\");\n }\n\n $('.as-progCont').html('
Подождите...
');\n}\n\nfunction closeProgressbar() {\n $('.as-overlay').fadeOut('slow', function () {\n $(this).remove();\n });\n}\n\nexport { openProgressbar, closeProgressbar };\n","function newUuid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n}\n\nexport { newUuid };","/*\n * Date Format 1.2.3\n * (c) 2007-2009 Steven Levithan \n * MIT license\n *\n * Includes enhancements by Scott Trenda \n * and Kris Kowal \n *\n * Accepts a date, a mask, or a date and a mask.\n * Returns a formatted version of the given date.\n * The date defaults to the current date/time.\n * The mask defaults to dateFormat.masks.default.\n */\n\n/* forked from https://stevenlevithan.com/assets/misc/date.format.js */\n\nvar dateFormat = function () {\n\tvar\ttoken = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\\1?|[LloSZ]|\"[^\"]*\"|'[^']*'/g,\n\t\ttimezone = /\\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\\d{4})?)\\b/g,\n\t\ttimezoneClip = /[^-+\\dA-Z]/g,\n\t\tpad = function (val, len) {\n\t\t\tval = String(val);\n\t\t\tlen = len || 2;\n\t\t\twhile (val.length < len) val = \"0\" + val;\n\t\t\treturn val;\n\t\t};\n\n\t// Regexes and supporting functions are cached through closure\n\treturn function (date, mask, utc) {\n\t\t// You can't provide utc if you skip other args (use the \"UTC:\" mask prefix)\n\t\tif (arguments.length == 1 && Object.prototype.toString.call(date) == \"[object String]\" && !/\\d/.test(date)) {\n\t\t\tmask = date;\n\t\t\tdate = undefined;\n\t\t}\n\n\t\t// Passing date through Date applies Date.parse, if necessary\n\t\tdate = date ? new Date(date) : new Date;\n\t\tif (isNaN(date)) throw SyntaxError(\"invalid date\");\n\n\t\tmask = String(mask);\n\n\t\t// Allow setting the utc argument via the mask\n\t\tif (mask.slice(0, 4) == \"UTC:\") {\n\t\t\tmask = mask.slice(4);\n\t\t\tutc = true;\n\t\t}\n\n\t\tvar\t_ = utc ? \"getUTC\" : \"get\",\n\t\t\td = date[_ + \"Date\"](),\n\t\t\tm = date[_ + \"Minutes\"](),\n\t\t\ty = date[_ + \"FullYear\"](),\n\t\t\tH = date[_ + \"Hours\"](),\n\t\t\tM = date[_ + \"Month\"](),\n\t\t\ts = date[_ + \"Seconds\"](),\n\t\t\tL = date[_ + \"Milliseconds\"](),\n\t\t\to = utc ? 0 : date.getTimezoneOffset(),\n\t\t\tflags = {\n\t\t\t\td: d,\n\t\t\t\tdd: pad(d),\n\t\t\t\tm: m,\n\t\t\t\tmm: pad(m),\n\t\t\t\tyy: String(y).slice(2),\n\t\t\t\tyyyy: y,\n\t\t\t\th: H % 12 || 12,\n\t\t\t\thh: pad(H % 12 || 12),\n\t\t\t\tH: H,\n\t\t\t\tHH: pad(H),\n\t\t\t\tM: M + 1,\n\t\t\t\tMM: pad(M + 1),\n\t\t\t\ts: s,\n\t\t\t\tss: pad(s),\n\t\t\t\tl: pad(L, 3),\n\t\t\t\tL: pad(L > 99 ? Math.round(L / 10) : L),\n\t\t\t\tt: H < 12 ? \"a\" : \"p\",\n\t\t\t\ttt: H < 12 ? \"am\" : \"pm\",\n\t\t\t\tT: H < 12 ? \"A\" : \"P\",\n\t\t\t\tTT: H < 12 ? \"AM\" : \"PM\",\n\t\t\t\tZ: utc ? \"UTC\" : (String(date).match(timezone) || [\"\"]).pop().replace(timezoneClip, \"\"),\n\t\t\t\to: (o > 0 ? \"-\" : \"+\") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),\n\t\t\t\tS: [\"th\", \"st\", \"nd\", \"rd\"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]\n\t\t\t};\n\n\t\treturn mask.replace(token, function ($0) {\n\t\t\treturn $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);\n\t\t});\n\t};\n}();\n\nexport default dateFormat;"],"names":["_setTimeout","ms","Promise","resolve","setTimeout","searchIconBlinked","tumCommon","options","hideFloatingHeader","init","this","initCallbacks","checkAuthorization","updateCartInfo","checkCookies","initHeader","initFloatingHeader","initCtuCloud","initFloatingWindows","initCacheControls","initOperatorControls","document","on","e","stopPropagation","element","content","attr","copyToClipboard","type","querySelector","addEventListener","remove","closest","dropdown","tumarket","isAdmin","el","querySelectorAll","showAdminOnlyStuff","url","data","prefix","dataset","firmId","then","result","event","preventDefault","self","isMob","window","updateFloatingHeader","trigger","showFloatingHeader","showFloatingHeader_desktop","showFloatingHeader_mob","toggleTopBar","toggleFloatingHeader","scrollY","height","scrollTop","$cloud","length","scrollWidth","offsetWidth","$back","$forward","removeClass","addClass","maxScrollLeft","updateButtons","showBack","scrollLeft","showForward","toggleClass","animate","Math","max","min","updateCacheToggle","location","reload","updateOperatorAddonToggle","loadLivetex","callback","LiveTex","liveTex","liveTexID","liveTex_object","onLiveTexReady","hideLabel","jsLink","conditionObject","_LiveTex","name","value","duration","target","undefined","dispatchEvent","Event","bubbles","setToggle","scrollUp","collapseLinkClick","collapseLinkClick2","collapseLinkInfoClick","checkPageHeight","getShortUrl","docHeight","pos","offset","show","c_top","top","c_left","left","width","mouseup","container","is","has","hide","shown","hasClass","setSeoFooterCookie","showSearchTypes","getAttribute","text","elem","showHintDeliv","defineSearchType","defineSearchOpen","showWelcomeWindow","showFirmOnMap","lat","long","firmID","editFailureNotificationContacts","msg","html","tum_searchMenu","toggleMenu","highlightSearch","focusSearch","main","highlight","focus","code","toggleSearchTypes","setSearchType","cookieEnabled","navigator","cartCnt","general","cartCount","pathname","startsWith","reg","saveCartItems","prop","elm","selector","id","scrollHeight","innerHeight","searchType","first","click","txt","close","hintBlock","find","href","title","onShown","tu_maps","currentMap","create","containerId","center","zoom","onLoad","ymap","modules","map","placemark","Placemark","showBalloon","getBalloonContent","showCustomBalloon","events","add","tumStats","logEvent","objectType","eventType","geoObjects","onClosed","dropSettingsModal","_getSearchBarTop","getBoundingClientRect","updateSearchMenuButton","searchBarTop","searchMenuButton","blinkSearchIcon","active","matches","setInterval","exists","getCartCount","reject","count","getCartSum","sum","getFavoritesCount","getNotificationsCount","_updateCartCount","$count","_updateCartSum","$cart","cartSum","toFixed","_updateFavoritesCount","favoritesCount","_updateNotificationsCount","notificationsCount","updateCartCount","updateCartSum","updateFavoritesCount","updateNotificationsCount","isHeaderFloating","getFirmSettings","all","getUserRole","results","form","formJson","formFields","JSON","parse","formData","updateFailureNotificationContacts","buttonText","tu_form","fields","userRoles","f","onSubmit","validate","getData","alert","tech","priority","phone","email","org","updateFirmSettings","stringify","catch","addHighlight","field","settings","checkPermissions","getFloatingWindow","$wrapper","$window","css","bottom","right","append","onClickOutside","button","pinToBottom","classes","$windowWrapper","modal","getFirmSchedule","depID","Array","prototype","diff","a","filter","i","indexOf","_version","_domain","initCookies","version","domain","setCookie","days","expires","date","Date","setTime","getTime","toUTCString","domainName","substring","hostname","includes","toLowerCase","cookie","encodeURIComponent","getCookie","c_name","c_start","c_end","decodeURIComponent","loadLib","cssLink","showProgressbar","useVersion","cacheDate","script","createElement","body","appendChild","onload","onerror","async","src","openProgressbar","closeProgressbar","fadeOut","newUuid","replace","c","r","random","toString","token","timezone","timezoneClip","pad","val","len","String","mask","utc","arguments","Object","call","test","isNaN","SyntaxError","slice","_","d","m","y","H","M","s","L","o","getTimezoneOffset","flags","dd","mm","yy","yyyy","h","hh","HH","MM","ss","l","round","t","tt","T","TT","Z","match","pop","floor","abs","S","$0"],"sourceRoot":""}