{"version":3,"file":"main.js","mappings":"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","sources":["webpack://ever-clean.co.uk/webpack/runtime/chunk loaded","webpack://ever-clean.co.uk/./js/src/pages/product.js","webpack://ever-clean.co.uk/./js/src/pages/singlecatcare.js","webpack://ever-clean.co.uk/./js/src/pages/home.js","webpack://ever-clean.co.uk/./js/src/pages/products.js","webpack://ever-clean.co.uk/external var \"jQuery\"","webpack://ever-clean.co.uk/./js/src/pages/catcare.js","webpack://ever-clean.co.uk/./js/src/pages/faq.js","webpack://ever-clean.co.uk/./js/src/pages/catcare-new.js","webpack://ever-clean.co.uk/./js/src/pages/aboutus.js","webpack://ever-clean.co.uk/./js/src/components/accessible-menu.js","webpack://ever-clean.co.uk/./js/src/libs/zoomsl.js","webpack://ever-clean.co.uk/./js/src/pages/findus.js","webpack://ever-clean.co.uk/./js/src/libs/maps-clustering.js","webpack://ever-clean.co.uk/./js/src/main.js","webpack://ever-clean.co.uk/./js/src/components/cookies-bar.js","webpack://ever-clean.co.uk/./js/src/components/gtm.js","webpack://ever-clean.co.uk/./js/src/components/mobile-nav.js","webpack://ever-clean.co.uk/webpack/bootstrap","webpack://ever-clean.co.uk/webpack/runtime/compat get default export","webpack://ever-clean.co.uk/webpack/runtime/define property getters","webpack://ever-clean.co.uk/webpack/runtime/global","webpack://ever-clean.co.uk/webpack/runtime/hasOwnProperty shorthand","webpack://ever-clean.co.uk/webpack/runtime/make namespace object","webpack://ever-clean.co.uk/webpack/runtime/jsonp chunk loading","webpack://ever-clean.co.uk/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","let product = {\n init: function () {\n product.contentReadMore();\n product.contentReadMoreToggle();\n product.imageZoom();\n product.contentSkip();\n\n $(window).resize(function () {\n product.contentReadMore();\n product.imageZoom();\n });\n },\n\n contentReadMore: function () {\n if ($(window).width() <= 768) {\n $('.product-intro').addClass('read-more');\n } else {\n $('.product-intro').removeClass('read-more');\n }\n },\n\n contentReadMoreToggle: function () {\n $(document).on('click', '.product-intro__content--read-more button', function (e) {\n e.preventDefault();\n\n $('.product-intro').toggleClass('read-more--open');\n });\n },\n\n contentSkip: function () {\n $(document).on('click', '.single-product .skip-navigation', function (e) {\n e.preventDefault();\n $('html, body').animate(\n {\n scrollTop: $('.product-intro').offset().top - 230,\n },\n 1000\n );\n });\n },\n\n imageZoom: function () {\n if ($(window).width() > 768) {\n $('.image-zoom').imagezoomsl({\n innerzoom: true,\n magnifierborder: 'none',\n zoomrange: [2, 2],\n zoomstart: 2,\n });\n }\n },\n};\n\n$(document).ready(function () {\n product.init();\n});\n","let singlecatcare = {\n init: function () {\n singlecatcare.contentSkip();\n },\n\n contentSkip: function () {\n $(document).on('click', '.single-ccl_cat_care .skip-navigation', function (e) {\n e.preventDefault();\n $('html, body').animate(\n {\n scrollTop: $('.article-container__copy').offset().top - 100,\n },\n 1000\n );\n });\n },\n};\n\n$(document).ready(function () {\n singlecatcare.init();\n});\n","let home = {\n init: function () {\n home.contentSkip();\n },\n\n contentSkip: function () {\n $(document).on('click', '.home .skip-navigation', function (e) {\n e.preventDefault();\n $('html, body').animate(\n {\n scrollTop: $('.why-us').offset().top - 100,\n },\n 1000\n );\n });\n },\n};\n\n$(document).ready(function () {\n home.init();\n});\n","let products = {\n init: function () {\n products.toggle();\n products.headerHeightAdjustments();\n },\n\n toggle: function () {\n $(document).on('click', '.products__filters__items a', function (e) {\n e.preventDefault();\n\n let $this = $(this),\n activeFilter = $this.attr('data-filter');\n $('.products__filters__items a').removeClass('active');\n $this.addClass('active');\n\n if (activeFilter === 'all') {\n $('.products__grid__item').show();\n } else {\n $('.products__grid__item').each(function () {\n let $that = $(this);\n if (!$that.hasClass(activeFilter)) {\n $that.hide();\n } else {\n $that.show();\n }\n });\n\n $('.category_description').removeClass('active');\n\n $('.category_description').each(function () {\n let $data = $(this).data('filter');\n if (activeFilter === $data) {\n $(this).addClass('active');\n }\n });\n }\n });\n },\n\n headerHeightAdjustments: function () {\n let $productSubtitleHeaders = $('.page-template-template-products .category__grid__item .has-subtitle');\n let maxHeight = 0;\n\n // find tallest then set them all to that height for design consistency\n $productSubtitleHeaders.each(function () {\n let $this = $(this);\n\n if (Math.ceil($this.outerHeight()) > maxHeight) {\n maxHeight = Math.ceil($this.outerHeight());\n }\n });\n\n $('.page-template-template-products .category__grid__item h3').css('height', maxHeight);\n },\n};\n\n$(document).ready(function () {\n products.init();\n});\n","module.exports = jQuery;","let catcare = {\n init: function () {\n catcare.contentSkip();\n },\n\n contentSkip: function () {\n $(document).on('click', '.page-template-template-catcare .skip-navigation', function (e) {\n e.preventDefault();\n $('html, body').animate(\n {\n scrollTop: $('.category__filters').offset().top - 50,\n },\n 1000\n );\n });\n },\n};\n\n$(document).ready(function () {\n catcare.init();\n});\n","let faq = {\n init: function () {\n faq.contentSkip();\n faq.handleAccordion();\n },\n\n contentSkip: function () {\n $(document).on('click', '.page-template-template-faq .skip-navigation', function (e) {\n e.preventDefault();\n $('html, body').animate(\n {\n scrollTop: $('.category__filters').offset().top - 50,\n },\n 1000\n );\n });\n },\n handleAccordion: function () {\n const faqItems = document.querySelectorAll('.page-template-template-faq-new .faq-accordion__item');\n\n faqItems.forEach((item) => {\n item.addEventListener('click', (e) => {\n let answer = item.querySelector('.faq-accordion__answer');\n answer.addEventListener(\n 'click',\n (e) => {\n if (e.target.hasAttribute('href')) {\n e.stopImmediatePropagation();\n } else {\n e.preventDefault();\n e.stopImmediatePropagation();\n }\n },\n true\n );\n\n let content = e.currentTarget;\n\n if (content.classList.contains('open')) {\n content.classList.remove('open');\n return;\n }\n\n const open = document.querySelectorAll('.page-template-template-faq-new .faq-accordion__item.open');\n\n open.forEach((item) => {\n item.classList.remove('open');\n });\n\n content.classList.toggle('open');\n });\n });\n },\n};\n\n$(document).ready(function () {\n faq.init();\n});\n","$(document).ready(function () {\n let $categoryLink = $('.page-template-template-catcare-new .filter-posts');\n let $h1 = $('.cat-care__banner__content h1');\n let $banner = $('.cat-care__banner');\n let $background = $('.cat-care__background');\n let $grid = $('.category__grid');\n let $items = $grid.children('.category__grid__item');\n let currentCat = 'all';\n let posts = [];\n let sortItems = (a, b) => {\n let an = a.getAttribute('data-order');\n let bn = b.getAttribute('data-order');\n\n if (an > bn) {\n return 1;\n }\n if (an < bn) {\n return -1;\n }\n return 0;\n };\n\n let filterPosts = function () {\n let cat = this.getAttribute('data-category');\n let sortedPosts = [];\n\n let categoryName = $(this).text();\n let color = $(this).attr('data-color');\n let bgColor = $(this).attr('data-bgcolor');\n let bannerImageUrl = $(this).attr('data-banner-image');\n\n $h1.text(categoryName);\n $banner.css('background-image', 'url(' + bannerImageUrl + ')');\n $background.css('background-color', bgColor);\n $categoryLink.toggleClass('is-active');\n\n $categoryLink.each(function () {\n $(this).toggleClass('is-active');\n $(this).css('background-color', '#fff');\n });\n\n $(this).css('background-color', color);\n\n $grid\n .fadeOut(300, function () {\n posts.map((item) => $(item).appendTo($grid));\n\n if (cat === 'all') {\n $items.sort(sortItems).detach().appendTo($grid);\n } else {\n $(`.category__grid__item:not([data-category=${cat}])`).each(function () {\n sortedPosts.push($(this).detach());\n });\n }\n\n posts = sortedPosts;\n currentCat = cat;\n $items.each(function () {\n $(this).show();\n });\n })\n .fadeIn(300);\n };\n\n $categoryLink.click(filterPosts);\n $categoryLink.hover(\n function () {\n let color = $(this).attr('data-color');\n $(this).css('background-color', color);\n },\n function () {\n if (!$(this).hasClass('active')) {\n $(this).css('background-color', '#fff');\n }\n }\n );\n});\n","const aboutus = {\n init () {\n aboutus.modalVideo();\n aboutus.scrollTo();\n aboutus.ourStorySlider();\n aboutus.contentSkip();\n },\n\n modalVideo () {\n const $modalAboutUs = $('#modal__about-us');\n\n $modalAboutUs.on('shown.bs.modal', (e) => {\n const src = $(e.relatedTarget).attr('data-video');\n $('#modal__about-us .thumb-pop-main').attr('src', src);\n });\n\n $modalAboutUs.on('hidden.bs.modal', (e) => {\n $('#modal__about-us .thumb-pop-main').attr('src', '');\n });\n },\n\n scrollTo () {\n $('.about-us__anchors a').on('click', function (e) {\n e.preventDefault();\n\n const offset = $($(this).attr('href')).offset().top;\n\n $('html, body').animate(\n {\n scrollTop: offset,\n },\n 1000\n );\n });\n },\n\n ourStorySlider () {\n const $ourStorySlider = $('.slick-slider.slick-slider__our-story');\n\n if ($ourStorySlider.length > 0) {\n const $dots = $('.slick-slider.slick-slider__our-story .slick-dots');\n const markup = \"
  • \";\n\n $dots.append(markup);\n\n $('.slick-slider.slick-slider__our-story .play-pause').on('click', function (e) {\n e.preventDefault();\n\n const $this = $(this);\n\n if ($this.hasClass('show-play')) {\n $this.removeClass('show-play');\n $ourStorySlider.slick('slickPlay');\n } else {\n $this.addClass('show-play');\n $ourStorySlider.slick('slickPause');\n }\n });\n }\n },\n\n contentSkip () {\n $(document).on('click', '.page-template-template-aboutus .skip-navigation', (e) => {\n e.preventDefault();\n $('html, body').animate(\n {\n scrollTop: $('.about-us__intro').offset().top - 100,\n },\n 1000\n );\n });\n },\n};\n\n$(document).ready(() => {\n if (Electro.DEBUG) {\n console.log('aboutus.init');\n }\n aboutus.init();\n});\n","$(document).ready(function () {\n // Setup the a11y nav\n $('.js-nav-global').setup_navigation();\n\n // RWD Nav Pattern\n $('body').addClass('js');\n var $menu = $('#menu'),\n $menulink = $('.menu-link'),\n $menuTrigger = $('.has-subnav > a');\n\n $menulink.click(function (e) {\n e.preventDefault();\n $menulink.toggleClass('active');\n $menu.toggleClass('active');\n });\n\n $menuTrigger.click(function (e) {\n e.preventDefault();\n var $this = $(this);\n $this.toggleClass('active').next('ul').toggleClass('active');\n });\n});\n\nvar keyCodeMap = {\n 48: '0',\n 49: '1',\n 50: '2',\n 51: '3',\n 52: '4',\n 53: '5',\n 54: '6',\n 55: '7',\n 56: '8',\n 57: '9',\n 59: ';',\n 65: 'a',\n 66: 'b',\n 67: 'c',\n 68: 'd',\n 69: 'e',\n 70: 'f',\n 71: 'g',\n 72: 'h',\n 73: 'i',\n 74: 'j',\n 75: 'k',\n 76: 'l',\n 77: 'm',\n 78: 'n',\n 79: 'o',\n 80: 'p',\n 81: 'q',\n 82: 'r',\n 83: 's',\n 84: 't',\n 85: 'u',\n 86: 'v',\n 87: 'w',\n 88: 'x',\n 89: 'y',\n 90: 'z',\n 96: '0',\n 97: '1',\n 98: '2',\n 99: '3',\n 100: '4',\n 101: '5',\n 102: '6',\n 103: '7',\n 104: '8',\n 105: '9',\n};\n\n$.fn.setup_navigation = function (settings) {\n settings = jQuery.extend(\n {\n menuHoverClass: 'show-menu',\n mouseleaveHideDuration: 1000,\n },\n settings\n );\n\n // Add ARIA role to menubar and menu items\n $(this).attr('role', 'menubar').find('li').attr('role', 'menuitem');\n\n var top_level_links = $(this).find('> li > a');\n // this is set here to make it easy to cancel the setTimeout if the user mouses back in\n var mouseleaveTimer;\n\n // Added by Terrill: (removed temporarily: doesn't fix the JAWS problem after all)\n // Add tabindex=\"0\" to all top-level links\n // Without at least one of these, JAWS doesn't read widget as a menu, despite all the other ARIA\n //$(top_level_links).attr('tabindex','0');\n\n // Set tabIndex to -1 so that top_level_links can't receive focus until menu is open\n $(top_level_links)\n .next('ul')\n .attr('data-test', 'true')\n .attr({ 'aria-hidden': 'true', role: 'menu' })\n .find('a')\n .attr('tabIndex', -1);\n\n // Adding aria-haspopup for appropriate items\n $(top_level_links).each(function () {\n if ($(this).next('ul').length > 0) $(this).parent('li').attr('aria-haspopup', 'true');\n });\n\n $(top_level_links).hover(function () {\n // cancel any setTimeout that may be preparing to hide the menu due to mouseleave function\n clearTimeout(mouseleaveTimer);\n $(this)\n .closest('ul')\n .attr('aria-hidden', 'false')\n .find('.' + settings.menuHoverClass)\n .attr('aria-hidden', 'true')\n .removeClass(settings.menuHoverClass)\n .find('a')\n .attr('tabIndex', -1);\n $(this).next('ul').attr('aria-hidden', 'false').addClass(settings.menuHoverClass).find('a').attr('tabIndex', 0);\n });\n\n $(top_level_links)\n .parent('li')\n .mouseleave(function () {\n mouseleaveTimer = setTimeout(function () {\n $('.' + settings.menuHoverClass)\n .attr('aria-hidden', 'true')\n .removeClass(settings.menuHoverClass)\n .find('a')\n .attr('tabIndex', -1);\n }, settings.mouseleaveHideDuration);\n });\n\n $(top_level_links).focus(function () {\n $(this)\n .closest('ul')\n // Removed by Terrill\n // The following was adding aria-hidden=\"false\" to root ul since menu is never hidden\n // and seemed to be causing flakiness in JAWS (needs more testing)\n // .attr('aria-hidden', 'false')\n .find('.' + settings.menuHoverClass)\n .attr('aria-hidden', 'true')\n .removeClass(settings.menuHoverClass)\n .find('a')\n .attr('tabIndex', -1);\n\n $(this).next('ul').attr('aria-hidden', 'false').addClass(settings.menuHoverClass).find('a').attr('tabIndex', 0);\n });\n\n // Bind arrow keys for navigation\n $(top_level_links).keydown(function (e) {\n if (e.keyCode == 37) {\n e.preventDefault();\n // This is the first item\n if ($(this).parent('li').prev('li').length == 0) {\n $(this).parents('ul').find('> li').last().find('a').first().focus();\n } else {\n $(this).parent('li').prev('li').find('a').first().focus();\n }\n } else if (e.keyCode == 38) {\n e.preventDefault();\n if ($(this).parent('li').find('ul').length > 0) {\n $(this)\n .parent('li')\n .find('ul')\n .attr('aria-hidden', 'false')\n .addClass(settings.menuHoverClass)\n .find('a')\n .attr('tabIndex', 0)\n .last()\n .focus();\n }\n } else if (e.keyCode == 39) {\n e.preventDefault();\n // This is the last item\n if ($(this).parent('li').next('li').length == 0) {\n $(this).parents('ul').find('> li').first().find('a').first().focus();\n } else {\n $(this).parent('li').next('li').find('a').first().focus();\n }\n } else if (e.keyCode == 40) {\n e.preventDefault();\n if ($(this).parent('li').find('ul').length > 0) {\n $(this)\n .parent('li')\n .find('ul')\n .attr('aria-hidden', 'false')\n .addClass(settings.menuHoverClass)\n .find('a')\n .attr('tabIndex', 0)\n .first()\n .focus();\n }\n } else if (e.keyCode == 13 || e.keyCode == 32) {\n // If submenu is hidden, open it\n e.preventDefault();\n $(this)\n .parent('li')\n .find('ul[aria-hidden=true]')\n .attr('aria-hidden', 'false')\n .addClass(settings.menuHoverClass)\n .find('a')\n .attr('tabIndex', 0)\n .first()\n .focus();\n } else if (e.keyCode == 27) {\n e.preventDefault();\n $('.' + settings.menuHoverClass)\n .attr('aria-hidden', 'true')\n .removeClass(settings.menuHoverClass)\n .find('a')\n .attr('tabIndex', -1);\n } else {\n $(this)\n .parent('li')\n .find('ul[aria-hidden=false] a')\n .each(function () {\n if ($(this).text().substring(0, 1).toLowerCase() == keyCodeMap[e.keyCode]) {\n $(this).focus();\n return false;\n }\n });\n }\n });\n\n var links = $(top_level_links).parent('li').find('ul').find('a');\n $(links).keydown(function (e) {\n if (e.keyCode == 38) {\n e.preventDefault();\n // This is the first item\n if ($(this).parent('li').prev('li').length == 0) {\n $(this).parents('ul').parents('li').find('a').first().focus();\n } else {\n $(this).parent('li').prev('li').find('a').first().focus();\n }\n } else if (e.keyCode == 40) {\n e.preventDefault();\n if ($(this).parent('li').next('li').length == 0) {\n $(this).parents('ul').parents('li').find('a').first().focus();\n } else {\n $(this).parent('li').next('li').find('a').first().focus();\n }\n } else if (e.keyCode == 27 || e.keyCode == 37) {\n e.preventDefault();\n $(this)\n .parents('ul')\n .first()\n .prev('a')\n .focus()\n .parents('ul')\n .first()\n .find('.' + settings.menuHoverClass)\n .attr('aria-hidden', 'true')\n .removeClass(settings.menuHoverClass)\n .find('a')\n .attr('tabIndex', -1);\n } else if (e.keyCode == 32) {\n e.preventDefault();\n window.location = $(this).attr('href');\n } else {\n var found = false;\n $(this)\n .parent('li')\n .nextAll('li')\n .find('a')\n .each(function () {\n if ($(this).text().substring(0, 1).toLowerCase() == keyCodeMap[e.keyCode]) {\n $(this).focus();\n found = true;\n return false;\n }\n });\n\n if (!found) {\n $(this)\n .parent('li')\n .prevAll('li')\n .find('a')\n .each(function () {\n if ($(this).text().substring(0, 1).toLowerCase() == keyCodeMap[e.keyCode]) {\n $(this).focus();\n return false;\n }\n });\n }\n }\n });\n\n // Hide menu if click or focus occurs outside of navigation\n $(this)\n .find('a')\n .last()\n .keydown(function (e) {\n if (e.keyCode == 9) {\n // If the user tabs out of the navigation hide all menus\n $('.' + settings.menuHoverClass)\n .attr('aria-hidden', 'true')\n .removeClass(settings.menuHoverClass)\n .find('a')\n .attr('tabIndex', -1);\n }\n });\n\n $(document).click(function () {\n $('.' + settings.menuHoverClass)\n .attr('aria-hidden', 'true')\n .removeClass(settings.menuHoverClass)\n .find('a')\n .attr('tabIndex', -1);\n });\n\n $(this).click(function (e) {\n e.stopPropagation();\n });\n};\n","/*http://zoomsl.sergeland.ru Sergey Zaragulov skype: deeserge icq: 287295769 sergeland@mail.ru*/\n\n(function ($, global) {\n 'use strict';\n\n $.fn.imagezoomsl = function (options) {\n options = options || {};\n return this.each(function () {\n //return jQuery obj\n if (!$(this).is('img')) return true;\n var that = this;\n setTimeout(function () {\n $(new Image())\n .on('load', function () {\n sergelandimagezoomer.init($(that), options);\n })\n .attr('src', $(that).attr('src'));\n }, 30);\n });\n };\n\n var sergelandimagezoomer = {};\n $.extend(sergelandimagezoomer, {\n dsetting: {\n //default settings\n\n // загрузка big картинки\n loadinggif: '', // картинка показываемая при загрузке big изображения\n loadopacity: 0.1, // прозрачность фона перекрытия tmb картинки при загрузке\tbig изображения\n loadbackground: '#878787', // цвет фона перекрытия tmb картинки при загрузке\t big изображения\n\n // лупа (cursorshade)\n cursorshade: true, // показать контейнер лупы\n magnifycursor: 'crosshair', // вид курсора мыши над tmb в формате CSS\n cursorshadecolor: '#fff', // цвет контейнера лупы в формате CSS\n cursorshadeopacity: 0.3, // прозрачность контейнера лупы\n cursorshadeborder: '1px solid black', // внешний бордюра контейнера лупы в формате CSS\n zindex: '', // z-index контейнера лупы\n stepzoom: 0.5, // шаг зуммирования при прокрутке колеса мыши\n zoomrange: [2, 2], // диапазон зуммирования\n zoomstart: 2, // стартовая установка зуммирования\n disablewheel: true, // отключить прокрутку документа колесом мыши когда курсор над картинкой tmb в случае если не задан диапазон зуммирования\n\n // подсказка (statusdiv)\n showstatus: true, // показывать при наведении на tmb help контейнер\n showstatustime: 2000, // время показа help контейнера\n statusdivborder: '1px solid black',\n statusdivbackground: '#C0C0C0',\n statusdivpadding: '4px',\n statusdivfont: 'bold 13px Arial',\n statusdivopacity: 0.8,\n\n // контейнер big картинки (magnifier)\n magnifierpos: 'right', // сторона отображения контейнера left/right\n magnifiersize: [0, 0], // размер контейнера\n magnifiereffectanimate: 'showIn', // эффект появления/скрытия fadeIn/showIn/slideIn\n innerzoom: false, // показать контейнер внутри tmb\n innerzoommagnifier: false, // показать контейнер как лупу\n descarea: false, // показать контейнер в произвольной области, область descarea должна иметь width и height\n leftoffset: 15, // отступ слева от tmb картинки\n rightoffset: 15, // отступ справа от tmb картинки\n switchsides: true, // учитывать край экрана\n magnifierborder: '1px solid black', // внешний бордюр\n\n // контейнер текста снизу к картинке\n textdnbackground: '#fff',\n textdnpadding: '10px',\n textdnfont: '13px/20px cursive',\n\n // коэффициенты скорости анимации\n scrollspeedanimate: 5 /*4*/, // прокрутки big картинки\n zoomspeedanimate: 7, // зуммирования (плавность)\n loopspeedanimate: 2.5 /*2.45342*/, // перемещения области лупы и big контейнера в режиме лупы\n magnifierspeedanimate: 350, // показа big контейнера\n\n // внешний вид\n classmagnifier: 'magnifier',\n classcursorshade: 'cursorshade',\n classstatusdiv: 'statusdiv',\n classtextdn: 'textdn',\n classtracker: 'tracker',\n },\n\n isie: (function () {\n var nAgt = navigator.userAgent;\n if (nAgt.indexOf('MSIE') != -1) return true;\n else return false;\n })(),\n\n highestzindex: function ($img) {\n var z = 0,\n $els = $img.parents().add($img),\n elz;\n $els.each(function () {\n elz = $(this).css('zIndex');\n elz = isNaN(elz) ? 0 : +elz;\n z = Math.max(z, elz);\n });\n return z;\n },\n\n getboundary: function (b, val, specs) {\n if (b == 'left') {\n var rb = -specs.img.w * specs.newpower + specs.magnifier.w;\n return val > 0 ? 0 : val < rb ? rb : val;\n } else {\n var tb = -specs.img.h * specs.newpower + specs.magnifier.h;\n return val > 0 ? 0 : val < tb ? tb : val;\n }\n },\n\n controlLoop: function ($tracker) {\n var self = this,\n specs = $tracker.data('specs');\n if (!specs) return;\n\n var coords = specs.$img.offsetsl(),\n pageX = self.cld.pageX999 - coords.left,\n pageY = self.cld.pageY999 - coords.top;\n\n self.cld.destU += (self.cld.pageX999 - self.cld.destU) / 2.45342;\n self.cld.destV += (self.cld.pageY999 - self.cld.destV) / 2.45342;\n\n specs.$statusdiv.css({\n left: self.cld.destU - 10,\n top: self.cld.destV + 20,\n });\n\n var csw = Math.round(specs.magnifier.w / specs.newpower),\n csh = Math.round(specs.magnifier.h / specs.newpower);\n\n self.cld.destK += (pageX - self.cld.destK) / specs.setting.loopspeedanimate;\n self.cld.destL += (pageY - self.cld.destL) / specs.setting.loopspeedanimate;\n\n specs.$cursorshade.css({\n left:\n specs.img.w > csw\n ? Math.min(specs.img.w - csw, Math.max(0, self.cld.destK - csw / 2)) +\n coords.left -\n specs.cursorshade999.border999.left999\n : coords.left - specs.cursorshade999.border999.left999,\n top:\n specs.img.h > csh\n ? Math.min(specs.img.h - csh, Math.max(0, self.cld.destL - csh / 2)) +\n coords.top -\n specs.cursorshade999.border999.top999\n : coords.top - specs.cursorshade999.border999.top999,\n });\n\n if (specs.setting.innerzoommagnifier) {\n self.cld.destM += (self.cld.pageX999 - self.cld.destM) / specs.setting.loopspeedanimate;\n self.cld.destN += (self.cld.pageY999 - self.cld.destN) / specs.setting.loopspeedanimate;\n\n specs.$magnifier.css({\n left: self.cld.destM - Math.round(specs.magnifier.w / 2),\n top: self.cld.destN - Math.round(specs.magnifier.h / 2),\n });\n specs.$textdn.css({\n left: self.cld.destM - Math.round(specs.magnifier.w / 2),\n top: self.cld.destN + specs.magnifier.h / 2,\n });\n }\n\n self.cld.currU += (pageX - self.cld.currU) / specs.setting.scrollspeedanimate;\n self.cld.currV += (pageY - self.cld.currV) / specs.setting.scrollspeedanimate;\n\n var newx = -self.cld.currU * specs.newpower + specs.magnifier.w / 2;\n var newy = -self.cld.currV * specs.newpower + specs.magnifier.h / 2;\n\n specs.$bigimage.css({\n left: self.getboundary('left', newx, specs),\n top: self.getboundary('top', newy, specs),\n });\n self.cld.controlTimer = setTimeout(function () {\n self.controlLoop($tracker);\n }, 30);\n },\n\n controlLoop2: function ($tracker) {\n var self = this,\n specs = $tracker.data('specs');\n if (!specs) return;\n\n specs.currM += (specs.newpower - specs.currM) / specs.setting.zoomspeedanimate;\n specs.currM = Math.round(specs.currM * 1000) / 1000;\n\n specs.$cursorshade.css({\n width:\n specs.img.w > Math.round(specs.magnifier.w / specs.currM)\n ? Math.round(specs.magnifier.w / specs.currM)\n : specs.img.w,\n height:\n specs.img.h > Math.round(specs.magnifier.h / specs.currM)\n ? Math.round(specs.magnifier.h / specs.currM)\n : specs.img.h,\n });\n specs.$bigimage.css({\n width: Math.round(specs.currM * specs.bigimage.w * (specs.img.w / specs.bigimage.w)),\n height: Math.round(specs.currM * specs.bigimage.h * (specs.img.h / specs.bigimage.h)),\n });\n\n self.cld.controlTimer2 = setTimeout(function () {\n self.controlLoop2($tracker);\n }, 30);\n },\n\n cld: {},\n\n showimage: function ($tracker) {\n var self = this,\n specs = $tracker.data('specs'),\n width = specs.setting.magnifiersize[0],\n height = specs.setting.magnifiersize[1],\n magcoords = {},\n coords = specs.$img.offsetsl(),\n func = function () {},\n left1 = 0,\n top1 = 0;\n\n magcoords.left =\n coords.left +\n (specs.setting.magnifierpos === 'left'\n ? -specs.magnifier.w - specs.setting.leftoffset\n : specs.img.w + specs.setting.rightoffset);\n if (specs.setting.switchsides && !specs.setting.innerzoom) {\n if (\n specs.setting.magnifierpos !== 'left' &&\n magcoords.left + specs.magnifier.w + specs.setting.leftoffset >= $(window).width() &&\n coords.left - specs.magnifier.w >= specs.setting.leftoffset\n )\n magcoords.left = coords.left - specs.magnifier.w - specs.setting.leftoffset;\n else if (specs.setting.magnifierpos === 'left' && magcoords.left < 0)\n magcoords.left = coords.left + specs.img.w + specs.setting.rightoffset;\n }\n\n left1 = magcoords.left;\n top1 = coords.top;\n specs.$magnifier.css({\n visibility: 'visible',\n display: 'none',\n });\n\n if (specs.setting.descarea) {\n left1 = $(specs.setting.descarea).offsetsl().left;\n top1 = $(specs.setting.descarea).offsetsl().top;\n }\n if (specs.setting.innerzoommagnifier) {\n left1 = self.cld.pageX999 - Math.round(specs.magnifier.w / 2);\n top1 = self.cld.pageY999 - Math.round(specs.magnifier.h / 2);\n }\n\n //*\n func = function () {\n specs.$textdn.stop(true, true).fadeIn(specs.setting.magnifierspeedanimate);\n if (!specs.setting.innerzoommagnifier)\n specs.$textdn.css({\n left: left1,\n top: top1 + height,\n });\n }; // */\n\n if (specs.setting.innerzoom) {\n left1 = coords.left;\n top1 = coords.top;\n\n func = function () {\n specs.$img.css({\n visibility: 'hidden',\n });\n specs.$textdn\n .css({\n left: left1,\n top: top1 + height,\n })\n .stop(true, true)\n .fadeIn(specs.setting.magnifierspeedanimate);\n };\n }\n\n switch (specs.setting.magnifiereffectanimate) {\n case 'slideIn':\n specs.$magnifier\n .css({\n left: left1,\n top: top1 - height / 3,\n width: width,\n height: height,\n })\n .stop(true, true)\n .show()\n .animate(\n {\n top: top1,\n },\n specs.setting.magnifierspeedanimate,\n 'easeOutBounceSL',\n func\n );\n break;\n case 'showIn':\n specs.$magnifier\n .css({\n left: coords.left + Math.round(specs.img.w / 2),\n top: coords.top + Math.round(specs.img.h / 2),\n width: Math.round(specs.magnifier.w / 5),\n height: Math.round(specs.magnifier.h / 5),\n })\n .stop(true, true)\n .show()\n .css({\n opacity: '0.1',\n })\n .animate(\n {\n left: left1,\n top: top1,\n opacity: '1',\n width: width,\n height: height,\n },\n specs.setting.magnifierspeedanimate,\n func\n );\n break;\n default:\n specs.$magnifier\n .css({\n left: left1,\n top: top1,\n width: width,\n height: height,\n })\n .stop(true, true)\n .fadeIn(specs.setting.magnifierspeedanimate, func);\n }\n if (specs.setting.showstatus && (specs.title999 || specs.help))\n specs.$statusdiv\n .html(specs.title999 + '
    ' + specs.help + '
    ')\n .stop(true, true)\n .fadeIn()\n .delay(specs.setting.showstatustime)\n .fadeOut('slow');\n else specs.$statusdiv.hide();\n },\n\n hideimage: function ($tracker) {\n var self = this,\n specs = $tracker.data('specs'),\n coords = specs.$img.offsetsl();\n\n switch (specs.setting.magnifiereffectanimate) {\n case 'showIn':\n specs.$magnifier.stop(true, true).animate(\n {\n left: coords.left + Math.round(specs.img.w / 2),\n top: coords.top + Math.round(specs.img.h / 2),\n opacity: '0.1',\n width: Math.round(specs.magnifier.w / 5),\n height: Math.round(specs.magnifier.h / 5),\n },\n specs.setting.magnifierspeedanimate,\n function () {\n specs.$magnifier.hide();\n }\n );\n break;\n\n default:\n specs.$magnifier.stop(true, true).fadeOut(specs.setting.magnifierspeedanimate);\n }\n },\n\n /* Init function start. */\n init: function ($img, options, gallery) {\n var setting = $.extend({}, this.dsetting, options),\n basezindex = setting.zindex || this.highestzindex($img),\n img = {\n w: $img.width(),\n h: $img.height(),\n },\n cld = new cld(),\n title = $img.attr('data-title') ? $img.attr('data-title') : '',\n help = $img.attr('data-help') ? $img.attr('data-help') : '',\n textdn = $img.attr('data-text-bottom') ? $img.attr('data-text-bottom') : '',\n self = this,\n newpower,\n key,\n $magnifier,\n $cursorshade,\n $statusdiv,\n $tracker,\n $textdn;\n\n if (img.h === 0 || img.w === 0) {\n $(new Image())\n .on('load', function () {\n self.init($img, options);\n })\n .attr('src', $img.attr('src'));\n return;\n }\n\n $img.css({\n visibility: 'visible',\n });\n setting.largeimage = $img.attr('data-large') || $img.attr('src');\n\n for (key in setting) if (setting[key] === '') setting[key] = this.dsetting[key];\n\n if (setting.zoomrange[0] < setting.zoomstart) newpower = setting.zoomstart;\n else newpower = setting.zoomrange[0];\n\n if (setting.magnifiersize.toString() === '0,0' || setting.magnifiersize.toString() === '')\n if (setting.innerzoommagnifier) setting.magnifiersize = [img.w / 2, img.h / 2];\n else setting.magnifiersize = [img.w, img.h];\n\n if (setting.descarea && $(setting.descarea).length) {\n if ($(setting.descarea).width() === 0 || $(setting.descarea).height() === 0) setting.descarea = false;\n else setting.magnifiersize = [$(setting.descarea).width(), $(setting.descarea).height()];\n } else setting.descarea = false;\n\n if (setting.innerzoom) {\n setting.magnifiersize = [img.w, img.h];\n if (!options.cursorshade) setting.cursorshade = false;\n if (!options.scrollspeedanimate) setting.scrollspeedanimate = 10;\n }\n\n if (setting.innerzoommagnifier) {\n if (!options.magnifycursor) if (window.chrome || window.sidebar) setting.magnifycursor = 'none';\n setting.cursorshade = false;\n setting.magnifiereffectanimate = 'fadeIn';\n }\n\n function cld() {\n this.pageX999 = 0;\n this.pageY999 = 0;\n }\n\n function getspecs($bigimage) {\n $tracker.data('specs', {\n setting: setting,\n title999: title,\n help: help,\n\n $img: $img,\n $magnifier: $magnifier,\n $bigimage: $bigimage,\n $statusdiv: $statusdiv,\n $cursorshade: $cursorshade,\n $textdn: $textdn,\n\n img: img,\n bigimage: {\n w: $bigimage.width(),\n h: $bigimage.height(),\n },\n magnifier: {\n w: $magnifier.width(),\n h: $magnifier.height(),\n },\n cursorshade999: {\n w: $cursorshade.width(),\n h: $cursorshade.height(),\n border999: {\n left999: parseInt($cursorshade.css('border-left-width')) || 0,\n top999: parseInt($cursorshade.css('border-top-width')) || 0,\n },\n },\n\n currM: newpower,\n newpower: newpower,\n });\n }\n\n function isImageLoaded(img) {\n if (!img.complete) return false;\n if (typeof img.naturalWidth !== 'undefined' && img.naturalWidth === 0) return false;\n return true;\n }\n\n var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'];\n var toBind =\n 'onwheel' in document || document.documentMode >= 9\n ? ['wheel']\n : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'];\n var lowestDelta, lowestDeltaXY;\n\n if ($.event.fixHooks) {\n for (var i = toFix.length; i; ) {\n $.event.fixHooks[toFix[--i]] = $.event.mouseHooks;\n }\n }\n\n $.event.special.mousewheel = {\n setup: function () {\n if (this.addEventListener) {\n for (var i = toBind.length; i; ) {\n this.addEventListener(toBind[--i], handler, false);\n }\n } else {\n this.onmousewheel = handler;\n }\n },\n\n teardown: function () {\n if (this.removeEventListener) {\n for (var i = toBind.length; i; ) {\n this.removeEventListener(toBind[--i], handler, false);\n }\n } else {\n this.onmousewheel = null;\n }\n },\n };\n\n function handler(event) {\n var orgEvent = event || window.event,\n args = [].slice.call(arguments, 1),\n delta = 0,\n deltaX = 0,\n deltaY = 0,\n absDelta = 0,\n absDeltaXY = 0,\n fn;\n event = $.event.fix(orgEvent);\n event.type = 'mousewheel';\n\n // Old school scrollwheel delta\n if (orgEvent.wheelDelta) {\n delta = orgEvent.wheelDelta;\n }\n if (orgEvent.detail) {\n delta = orgEvent.detail * -1;\n }\n\n // New school wheel delta (wheel event)\n if (orgEvent.deltaY) {\n deltaY = orgEvent.deltaY * -1;\n delta = deltaY;\n }\n if (orgEvent.deltaX) {\n deltaX = orgEvent.deltaX;\n delta = deltaX * -1;\n }\n\n // Webkit\n if (orgEvent.wheelDeltaY !== undefined) {\n deltaY = orgEvent.wheelDeltaY;\n }\n if (orgEvent.wheelDeltaX !== undefined) {\n deltaX = orgEvent.wheelDeltaX * -1;\n }\n\n // Look for lowest delta to normalize the delta values\n absDelta = Math.abs(delta);\n if (!lowestDelta || absDelta < lowestDelta) {\n lowestDelta = absDelta;\n }\n absDeltaXY = Math.max(Math.abs(deltaY), Math.abs(deltaX));\n if (!lowestDeltaXY || absDeltaXY < lowestDeltaXY) {\n lowestDeltaXY = absDeltaXY;\n }\n\n // Get a whole value for the deltas\n fn = delta > 0 ? 'floor' : 'ceil';\n delta = Math[fn](delta / lowestDelta);\n deltaX = Math[fn](deltaX / lowestDeltaXY);\n deltaY = Math[fn](deltaY / lowestDeltaXY);\n\n // Add event and delta to the front of the arguments\n args.unshift(event, delta, deltaX, deltaY);\n\n return ($.event.dispatch || $.event.handle).apply(this, args);\n }\n\n $.fn.offsetsl = function () {\n var elem = this.get(0);\n\n function getOffsetSum(elem) {\n var top999 = 0,\n left999 = 0;\n while (elem) {\n top999 = top999 + parseInt(elem.offsetTop);\n left999 = left999 + parseInt(elem.offsetLeft);\n elem = elem.offsetParent;\n }\n return {\n top: top999,\n left: left999,\n };\n }\n if (elem.getBoundingClientRect) return this.offset();\n else return getOffsetSum(elem);\n };\n\n $.easing.easeOutBounceSL = function (x, t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return c * (7.5625 * t * t) + b;\n } else if (t < 2 / 2.75) {\n return c * (7.5625 * (t -= 1.5 / 2.75) * t + 0.75) + b;\n } else if (t < 2.5 / 2.75) {\n return c * (7.5625 * (t -= 2.25 / 2.75) * t + 0.9375) + b;\n } else {\n return c * (7.5625 * (t -= 2.625 / 2.75) * t + 0.984375) + b;\n }\n };\n\n $magnifier = $('
    ')\n .attr({\n class: setting.classmagnifier,\n })\n .css({\n position: 'absolute',\n zIndex: basezindex,\n width: setting.magnifiersize[0],\n height: setting.magnifiersize[1],\n left: -10000,\n top: -10000,\n visibility: 'hidden',\n overflow: 'hidden',\n })\n .appendTo(document.body);\n\n if (!options.classmagnifier)\n $magnifier.css({\n border: setting.magnifierborder,\n });\n\n $cursorshade = $('
    ');\n if (setting.cursorshade) {\n $cursorshade\n .attr({\n class: setting.classcursorshade,\n })\n .css({\n zIndex: basezindex,\n display: 'none',\n position: 'absolute',\n width: Math.round(setting.magnifiersize[0] / setting.zoomstart),\n height: Math.round(setting.magnifiersize[1] / setting.zoomstart),\n top: 0,\n left: 0,\n })\n .appendTo(document.body);\n\n if (!options.classcursorshade)\n $cursorshade.css({\n border: setting.cursorshadeborder,\n opacity: setting.cursorshadeopacity,\n backgroundColor: setting.cursorshadecolor,\n });\n }\n\n if (!setting.loadinggif)\n setting.loadinggif =\n 'data:image/gif;base64,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';\n\n $statusdiv = $('
    ')\n .attr({\n class: setting.classstatusdiv + ' preloadevt',\n })\n .css({\n position: 'absolute',\n display: 'none',\n zIndex: basezindex,\n top: 0,\n left: 0,\n })\n .html('')\n .appendTo(document.body);\n\n $tracker = $('
    ')\n .attr({\n class: setting.classtracker,\n })\n .css({\n zIndex: basezindex,\n backgroundImage: self.isie ? 'url(cannotbe)' : 'none',\n position: 'absolute',\n width: img.w,\n height: img.h,\n left: gallery ? $img.offsetsl().left : -10000,\n top: gallery ? $img.offsetsl().top : -10000,\n })\n .appendTo(document.body);\n\n $textdn = $('
    ');\n if (textdn) {\n $textdn\n .attr({\n class: setting.classtextdn,\n })\n .css({\n position: 'absolute',\n zIndex: basezindex,\n left: 0,\n top: 0,\n display: 'none',\n })\n .html(textdn)\n .appendTo(document.body);\n if (!options.classtextdn)\n $textdn.css({\n border: setting.magnifierborder,\n background: setting.textdnbackground,\n padding: setting.textdnpadding,\n font: setting.textdnfont,\n });\n $textdn.css({\n width:\n setting.magnifiersize[0] -\n parseInt($textdn.css('padding-left')) -\n parseInt($textdn.css('padding-right')),\n });\n }\n $tracker.data('largeimage', setting.largeimage);\n\n // EVENTS\n $(window).bind('resize', function () {\n var o = $img.offsetsl();\n if ($tracker.data('loadimgevt'))\n $tracker.css({\n left: o.left,\n top: o.top,\n });\n $statusdiv.filter('.preloadevt').css({\n left: o.left + img.w / 2 - $statusdiv.width() / 2,\n top: o.top + img.h / 2 - $statusdiv.height() / 2,\n visibility: 'visible',\n });\n });\n $(document).mousemove(function (e) {\n self.cld.docX = e.pageX;\n if (self.cld.pageX999 !== self.cld.docX) {\n clearTimeout(self.cld.controlTimer);\n clearTimeout(self.cld.controlTimer2);\n $img.css({\n visibility: 'visible',\n });\n }\n });\n $img.mouseover(function (e) {\n var o = $img.offsetsl();\n $tracker\n .css({\n left: o.left,\n top: o.top,\n })\n .show();\n });\n $tracker.mouseover(function (e) {\n self.cld.pageX999 = e.pageX;\n self.cld.pageY999 = e.pageY;\n\n cld.pageX999 = e.pageX;\n cld.pageY999 = e.pageY;\n\n self.cld.docX = e.pageX;\n\n var o = $img.offsetsl(),\n pageX = self.cld.pageX999 - o.left,\n pageY = self.cld.pageY999 - o.top;\n\n self.cld.destK = pageX;\n self.cld.destL = pageY;\n\n self.cld.currU = pageX;\n self.cld.currV = pageY;\n\n self.cld.destM = self.cld.pageX999;\n self.cld.destN = self.cld.pageY999;\n\n self.cld.destU = self.cld.pageX999 - 10;\n self.cld.destV = self.cld.pageY999 + 20;\n\n $tracker.css({\n cursor: setting.magnifycursor,\n });\n setting.largeimage = $img.attr('data-large') || $img.attr('src');\n\n $statusdiv.show();\n clearTimeout(self.cld.controlTimer);\n clearTimeout(self.cld.controlTimer2);\n\n if (setting.largeimage !== $tracker.data('largeimage')) {\n $(new Image())\n .on('load', function () {})\n .attr('src', setting.largeimage);\n\n $($tracker).unbind();\n $($statusdiv).remove();\n $($cursorshade).remove();\n $($magnifier).remove();\n $($tracker).remove();\n $($textdn).remove();\n\n self.init($img, options, true);\n }\n if ($tracker.data('loadevt')) {\n $cursorshade.fadeIn();\n self.showimage($tracker);\n self.controlLoop($tracker);\n self.controlLoop2($tracker);\n }\n });\n $tracker.mousemove(function (e) {\n setting.largeimage = $img.attr('data-large') || $img.attr('src');\n if (setting.largeimage !== $tracker.data('largeimage')) {\n $(new Image())\n .on('load', function () {})\n .attr('src', setting.largeimage);\n\n $($tracker).unbind();\n $($statusdiv).remove();\n $($cursorshade).remove();\n $($magnifier).remove();\n $($tracker).remove();\n $($textdn).remove();\n\n self.init($img, options, true);\n }\n\n self.cld.pageX999 = e.pageX;\n self.cld.pageY999 = e.pageY;\n\n cld.pageX999 = e.pageX;\n cld.pageY999 = e.pageY;\n\n self.cld.docX = e.pageX;\n });\n $tracker.mouseout(function (e) {\n clearTimeout(self.cld.controlTimer);\n clearTimeout(self.cld.controlTimer2);\n $img.css({\n visibility: 'visible',\n });\n $textdn.hide();\n $cursorshade.add($statusdiv.not('.preloadevt')).stop(true, true).hide();\n });\n $tracker.one('mouseover', function (e) {\n var imgcoords = $img.offsetsl();\n var $bigimage = $('')\n .css({\n position: 'relative',\n maxWidth: 'none',\n })\n .appendTo($magnifier);\n if (!self.loaded999[setting.largeimage]) {\n $tracker.css({\n opacity: setting.loadopacity,\n background: setting.loadbackground,\n });\n $tracker.data('loadimgevt', true);\n $statusdiv.css({\n left: imgcoords.left + img.w / 2 - $statusdiv.width() / 2,\n top: imgcoords.top + img.h / 2 - $statusdiv.height() / 2,\n visibility: 'visible',\n });\n }\n $bigimage.bind('loadevt', function (event, e) {\n if (e.type === 'error') return;\n $tracker.mouseout(function (e) {\n //image onmouseout\n self.hideimage($tracker);\n clearTimeout(self.cld.controlTimer);\n clearTimeout(self.cld.controlTimer2);\n $img.css({\n visibility: 'visible',\n });\n $textdn.hide();\n $tracker.hide().css({\n left: -10000,\n top: -10000,\n });\n });\n $tracker.mouseover(function (e) {\n //image onmouseover\n specs.currM = specs.newpower;\n });\n $tracker.data('loadimgevt', false);\n $tracker.css({\n opacity: 0,\n cursor: setting.magnifycursor,\n });\n $statusdiv.empty();\n if (!options.classstatusdiv)\n $statusdiv.css({\n border: setting.statusdivborder,\n background: setting.statusdivbackground,\n padding: setting.statusdivpadding,\n font: setting.statusdivfont,\n opacity: setting.statusdivopacity,\n });\n $statusdiv.hide().removeClass('preloadevt');\n self.loaded999[setting.largeimage] = true;\n getspecs($bigimage);\n if (cld.pageX999 == self.cld.docX) {\n $cursorshade.fadeIn();\n self.showimage($tracker);\n clearTimeout(self.cld.controlTimer);\n clearTimeout(self.cld.controlTimer2);\n self.controlLoop($tracker);\n self.controlLoop2($tracker);\n }\n\n var specs = $tracker.data('specs');\n $bigimage.css({\n width: setting.zoomstart * specs.bigimage.w * (img.w / specs.bigimage.w),\n height: setting.zoomstart * specs.bigimage.h * (img.h / specs.bigimage.h),\n });\n $tracker.data('loadevt', true);\n\n if (setting.zoomrange && setting.zoomrange[1] > setting.zoomrange[0]) {\n //if zoom range enabled\n $tracker.bind('mousewheel', function (e, delta) {\n var zoomdir = delta < 0 ? 'out' : 'in',\n power = specs.newpower,\n newpower =\n zoomdir == 'in'\n ? Math.min(power + setting.stepzoom, setting.zoomrange[1])\n : Math.max(power - setting.stepzoom, setting.zoomrange[0]);\n\n specs.newpower = newpower;\n specs.delta = delta;\n e.preventDefault();\n });\n } else if (setting.disablewheel) {\n $tracker.bind('mousewheel', function (e) {\n e.preventDefault();\n });\n }\n }); //end $bigimage onload */\n\n if (isImageLoaded($bigimage.get(0)))\n $bigimage.trigger('loadevt', {\n type: 'load',\n });\n else\n $bigimage.bind('load error', function (e) {\n $bigimage.trigger('loadevt', e);\n });\n });\n },\n loaded999: {},\n });\n})(jQuery, window);\n","/**\n * global google\n */\n\nimport { Loader } from '@googlemaps/js-api-loader';\nimport { initializeMarkerCluster } from '../libs/maps-clustering';\n\nlet map;\nlet placeMarkers = [];\nconst allMarkers = [];\nlet mapPosition;\nlet activeInfoWindow;\nconst $locations_row = $('.find_us__retailers__row');\nconst searchZoom = $('.find_us__map .map').data('search-zoom');\nconst unit = $('.find_us__map .map').data('unit');\nconst miOrKm = $('.find_us__map .map').attr('data-mi-or-km');\n\nconst findus = {\n init: () => {\n findus.loader();\n findus.distributorAccordion();\n findus.initMap();\n },\n\n loader: () => {\n setTimeout(() => {\n $('.find_us__loader').fadeOut(600, function () {\n $(this).remove();\n });\n }, 1000);\n },\n\n distributorAccordion: () => {\n $('.page-template-template-findus dt').on('click', e => {\n e.preventDefault();\n\n // only show 1 expanded, close any open ones\n $('.collapse').collapse('hide');\n });\n },\n\n initMap () {\n this.settings = {\n mapSelector: '.map',\n mapProperties: '.map__properties',\n };\n const minZoom = $(this.settings.mapSelector).data('min-zoom');\n const maxZoom = $(this.settings.mapSelector).data('max-zoom');\n const mapStyles = $(this.settings.mapProperties).data('map-styles');\n\n this.mapOptions = {\n zoom: 10,\n minZoom: 10,\n maxZoom: 20,\n styles: mapStyles,\n scrollwheel: false,\n disableDefaultUI: true,\n zoomControl: true,\n mapId: '563cc0caf2497ad',\n };\n this.apiKey = `${window.__ECL_GLOBAL__.gm_api_key}`;\n\n const loader = new Loader({\n libraries: ['places', 'marker'], // Ensure marker library is loaded\n apiKey: this.apiKey,\n });\n\n loader.load().then(\n async () => {\n try {\n const { AdvancedMarkerElement } = await google.maps.importLibrary(\"marker\");\n\n const geocoder = new google.maps.Geocoder();\n $(this.settings.mapSelector).map((index, element) => {\n const $element = $(element);\n\n mapPosition = {\n lat: parseFloat($element.data('lat')),\n lng: parseFloat($element.data('lng')),\n };\n\n const $markers = $('.find_us__retailers .map__marker');\n\n const args = this.mapOptions;\n args.center = mapPosition;\n args.mapTypeId = google.maps.MapTypeId.ROADMAP;\n map = new google.maps.Map($element[0], args);\n\n const icon = {\n url: `${window.__ECL_GLOBAL__.theme_url}/img/marker.svg`,\n scaledSize: new google.maps.Size(30, 30),\n };\n\n $markers.each(function (index) {\n const lat = parseFloat($(this).data('lat'));\n const lng = parseFloat($(this).data('lng'));\n\n if (!Number.isNaN(lat) && !Number.isNaN(lng)) { // Validate lat/lng\n const latlng = new google.maps.LatLng(lat, lng);\n const createIconElement = (url, size) => {\n const iconElement = document.createElement('div');\n iconElement.innerHTML = `\"\"`;\n return iconElement;\n };\n const marker = new AdvancedMarkerElement({\n position: latlng,\n map,\n content: createIconElement(icon.url, icon.scaledSize),\n zIndex: 100,\n });\n // If marker contains HTML, add it to an infoWindow\n if ($(this).html()) {\n const infowindow = new google.maps.InfoWindow({\n content: $(this).html(),\n });\n marker.infowindow = infowindow;\n google.maps.event.addListener(marker, 'click', () => {\n if (activeInfoWindow) {\n activeInfoWindow.infowindow.close();\n activeInfoWindow = createIconElement(\n `${window.__ECL_GLOBAL__.theme_url}/img/marker.svg`,\n new google.maps.Size(30, 30)\n );\n }\n\n marker.content = createIconElement(\n `${window.__ECL_GLOBAL__.theme_url}/img/marker-active.svg`,\n new google.maps.Size(35, 35)\n );\n\n\n activeInfoWindow = marker;\n infowindow.open(map, marker);\n });\n\n\n google.maps.event.addListener(infowindow, 'closeclick', () => {\n marker.content = createIconElement(\n `${window.__ECL_GLOBAL__.theme_url}/img/marker.svg`,\n new google.maps.Size(30, 30)\n );\n });\n }\n\n allMarkers.push(marker);\n } else {\n console.warn(`Invalid lat/lng for marker at index ${index}: lat=${lat}, lng=${lng}`);\n }\n });\n\n const center = mapPosition;\n google.maps.event.addDomListener(window, 'resize', () => {\n google.maps.event.trigger(map, 'resize');\n map.setCenter(center);\n });\n\n // Create cluster\n initializeMarkerCluster(map, allMarkers);\n\n // Set default location to capital center\n findus.setNewLocation(mapPosition);\n\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n mapPosition = {\n lat: position.coords.latitude,\n lng: position.coords.longitude,\n };\n findus.setNewLocation(mapPosition);\n },\n err => {\n // console.log(err);\n }\n );\n }\n\n const input = document.getElementById('search-address');\n const autocomplete = new google.maps.places.Autocomplete(input);\n autocomplete.bindTo('bounds', map);\n\n $('.search-box__form').on('submit', e => {\n e.preventDefault();\n const inputVal = $('.search-box__form #search-address').val();\n\n if (inputVal.length !== 0) {\n geocoder.geocode(\n { address: inputVal },\n (results, status) => {\n if (status === 'OK') {\n mapPosition = {\n lat: results[0].geometry.location.lat(),\n lng: results[0].geometry.location.lng(),\n };\n findus.setNewLocation(mapPosition);\n } else {\n console.warn('Geocode was not successful for the following reason: ' + status);\n alert($('.find_us__map .map').data('error'));\n }\n }\n );\n }\n });\n\n $('body').on('click', '.retailerblock__content__button', e => {\n const $button = $(e.target);\n const $retailerBlock = $button.closest('.retailerblock');\n\n const lat = parseFloat($retailerBlock.data('lat'));\n const lng = parseFloat($retailerBlock.data('lng'));\n\n const newLatlng = new google.maps.LatLng(lat, lng);\n map.setZoom(maxZoom);\n map.setCenter(newLatlng);\n\n allMarkers.forEach((item, index) => {\n if (item.position && typeof item.position.lat === 'function' && typeof item.position.lng === 'function') {\n const markerLat = item.position.lat();\n const markerLng = item.position.lng();\n\n if (markerLat === lat && markerLng === lng) {\n google.maps.event.trigger(item, 'click');\n }\n };\n });\n });\n\n $('body').on('click', '.find_us__map .retailerblock', function (e) {\n e.preventDefault();\n $(this).find('.retailerblock__content__button').click();\n });\n\n $('body').on('click', '.find_us__map .retailerblock .retailerblock__content__button', e => {\n e.stopPropagation();\n });\n\n $('body').on(\n 'click',\n '.find_us__map .retailerblock .retailerblock__content__phone a',\n e => {\n e.stopPropagation();\n }\n );\n\n $('body').on('click', '.jsFire', e => {\n e.preventDefault();\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n mapPosition = {\n lat: position.coords.latitude,\n lng: position.coords.longitude,\n };\n findus.setNewLocation(mapPosition);\n },\n err => {\n console.error(err);\n }\n );\n }\n });\n });\n } catch (error) {\n console.error(\"Error initializing the map or markers: \", error);\n }\n },\n (err) => {\n console.error(\"Error loading Google Maps: \", err);\n }\n );\n },\n\n setNewLocation: mapPosition => {\n if (!mapPosition) {\n console.error(\"Invalid map position:\", mapPosition);\n return;\n }\n\n // Remove current place marker while searching for a new location\n placeMarkers.forEach((marker) => marker.setMap(null));\n placeMarkers = [];\n\n map.setZoom(searchZoom);\n map.setCenter(mapPosition);\n\n const iconElement = document.createElement('div');\n iconElement.innerHTML = `\"\"`;\n\n const marker = new google.maps.marker.AdvancedMarkerElement({\n position: mapPosition,\n map: map,\n content: iconElement,\n zIndex: 10,\n });\n placeMarkers.push(marker);\n\n let distances = [];\n let closest = -1;\n const $nearest_row = $('.find_us__nearest__row');\n\n // Calculate distances\n allMarkers.forEach((marker, index) => {\n const {position} = marker;\n\n // Check if position has Fg and Gg properties (new format)\n let lat, lng;\n if (position && typeof position.lat === 'function' && typeof position.lng === 'function') {\n // It's a LatLng object\n lat = position.lat();\n lng = position.lng();\n } else if (position && position.lat !== undefined && position.lng !== undefined) {\n lat = position.lat\n lng = position.lng;\n } else {\n console.warn(`Invalid position for marker at index ${index}:`, position);\n return; // Skip this marker\n }\n const R = 3958.8; // Radius of the Earth in miles\n const rlat1 = lat * (Math.PI / 180); // Convert degrees to radians\n const rlat2 = mapPosition.lat * (Math.PI / 180); // Convert degrees to radians\n const difflat = rlat2 - rlat1; // Radian difference (latitudes)\n const difflon = (mapPosition.lng - lng) * (Math.PI / 180); // Radian difference (longitudes)\n\n const d = 2 * R * Math.asin(Math.sqrt(\n Math.sin(difflat / 2) * Math.sin(difflat / 2) +\n Math.cos(rlat1) * Math.cos(rlat2) * Math.sin(difflon / 2) * Math.sin(difflon / 2)\n ));\n if (Number.isNaN(d)) {\n return; // Skip this marker\n }\n\n if (!isNaN(d)) {\n if (miOrKm === 'km') {\n const kmPrecise = d * 1.60934;\n const kmDisplay = kmPrecise.toFixed(1);\n $locations_row.find('.column:eq(' + index + ')')\n .find('.marker__distance').html(kmDisplay + ' ' + unit);\n } else {\n $locations_row.find('.column:eq(' + index + ')')\n .find('.marker__distance').html(d.toFixed(1) + ' ' + unit);\n }\n\n distances.push({\n distance: d,\n template: '
    ' + $locations_row.find('.column:eq(' + index + ')').html() + '
    ',\n });\n\n if (closest === -1 || d < distances[closest].distance) {\n closest = index;\n }\n }\n });\n\n // Sort distances\n distances.sort((a, b) => a.distance - b.distance);\n // Add distances to the nearest location table\n $nearest_row.html('');\n distances.forEach((item) => {\n if (item.distance <= 30) {\n $nearest_row.append(item.template);\n }\n });\n }\n\n};\n\n$(document).ready(() => {\n findus.init();\n});\n","import { MarkerClusterer } from '@googlemaps/markerclusterer';\n\nexport function initializeMarkerCluster(map, markers) {\n return new MarkerClusterer({ map, markers });\n}\n","import 'core-js/stable';\n\nimport 'slick-carousel';\nimport 'parsleyjs';\nimport 'bootstrap';\nimport './libs/zoomsl';\nimport './components/mobile-nav';\nimport './components/accessible-menu';\n// import \"./components/adobe-dtm\";\nimport { cookiesBar } from './components/cookies-bar';\nimport { gtm } from './components/gtm';\n\nimport './pages/aboutus';\nimport './pages/findus';\nimport './pages/product';\nimport './pages/products';\nimport './pages/home';\nimport './pages/faq';\nimport './pages/catcare';\nimport './pages/catcare-new';\nimport './pages/singlecatcare';\n\nconst search = {\n init() {\n search.open();\n search.submit();\n search.focusLost();\n },\n\n open() {\n $('.sb-icon-search').on('click', function (e) {\n e.preventDefault();\n\n const $this = $(this);\n const $container = $this.parents('.sb-search');\n\n if ($container.hasClass('sb-search-open')) {\n $container.removeClass('sb-search-open');\n $('.js-nav-global > .menu-item').removeClass('menu-item--opacity');\n } else {\n $container.addClass('sb-search-open');\n $('.js-nav-global > .menu-item').addClass('menu-item--opacity');\n $('.search-field').focus();\n }\n });\n\n $('.search-field').focus(function () {\n const $this = $(this);\n const $container = $this.parents('.sb-search');\n\n $container.addClass('sb-search-open');\n });\n },\n\n submit() {\n $('.search-submit').on('click', function (e) {\n const $this = $(this);\n const $container = $this.parents('.sb-search');\n const $input = $container.find('.search-field');\n\n if ($input.val().length > 0) {\n // performs default action of submitting the form\n } else {\n e.preventDefault();\n $container.removeClass('sb-search-open');\n $('.js-nav-global > .menu-item').removeClass('menu-item--opacity');\n }\n });\n },\n\n focusLost() {\n $('.search-field').on('focusout', function (e) {\n const $this = $(this);\n const $container = $this.parents('.sb-search');\n $container.removeClass('sb-search-open');\n $('.js-nav-global > .menu-item').removeClass('menu-item--opacity');\n $('.sb-icon-search').focus();\n });\n },\n};\n\nconst sliders = {\n init() {\n if ( Electro.DEBUG) {\n console.log('sliders.init');\n }\n sliders.bannerSlider();\n },\n bannerSlider() {\n const $bannerSlider = $('.slick-slider.slick-slider__homepage-banner');\n\n if ($bannerSlider.length > 0) {\n const $dots = $('.slick-slider.slick-slider__homepage-banner .slick-dots');\n const markup = \"
  • \";\n\n $dots.append(markup);\n\n $('.slick-slider.slick-slider__homepage-banner .play-pause').on('click', function (e) {\n e.preventDefault();\n\n const $this = $(this);\n\n if ($this.hasClass('show-play')) {\n $this.removeClass('show-play');\n $ourStorySlider.slick('slickPlay');\n } else {\n $this.addClass('show-play');\n $ourStorySlider.slick('slickPause');\n }\n });\n }\n },\n};\n\nconst filters = {\n init() {\n filters.tabWidths();\n filters.toggle();\n filters.responsiveDropdowns();\n\n // trigger filtering if there's a hash in the url\n if (window.location.hash) {\n const hash = window.location.hash.substring(1);\n $(`a[data-filter=\"${hash}\"]`).trigger('click');\n }\n\n const filter = window.Theme.filter_value;\n\n if (filter) {\n $(`a[data-filter=\"${filter}\"]`).trigger('click');\n } else {\n $('a[data-filter=\"all\"]').trigger('click');\n }\n },\n\n tabWidths() {\n const $filterTabs = $('.category__filters__items a');\n let widestWidth = 0;\n\n // find widest, and set that as the width for all of them\n $filterTabs.each(function (index) {\n const $this = $(this);\n\n if (Math.ceil($this.outerWidth()) > widestWidth) {\n widestWidth = Math.ceil($this.outerWidth());\n }\n });\n\n $filterTabs.css('width', widestWidth);\n },\n\n toggle() {\n $(document).on('click', '.category__filters__items a', function (e) {\n e.preventDefault();\n\n const $this = $(this);\n const { history } = window;\n const activeFilter = $this.attr('data-filter');\n history.pushState(null, null, $this.attr('href'));\n\n $('.category__filters__items a').removeClass('active');\n $this.addClass('active');\n\n if (activeFilter === 'all') {\n $('.category__grid__item').show();\n } else {\n $('.category__grid__item').each(function () {\n const $that = $(this);\n if (!$that.hasClass(activeFilter) && !$that.hasClass('category__grid__item--special')) {\n $that.hide();\n } else {\n $that.show();\n }\n });\n }\n\n $('.category_description').removeClass('active');\n\n $('.category_description').each(function () {\n const $data = $(this).data('filter');\n if (activeFilter === $data) {\n $(this).addClass('active');\n }\n });\n });\n },\n\n responsiveDropdowns() {\n // create the dropdown\n $('