{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./cartridges/app_bab_core/cartridge/client/default/js/storeLocator.js","webpack:///./cartridges/app_bab_core/cartridge/client/default/js/storeLocator/storeLocator.js","webpack:///./cartridges/app_bab_core/cartridge/client/default/js/utils/utilities.js","webpack:///./cartridges/app_storefront_base/cartridge/client/default/js/storeLocator/storeLocator.js","webpack:///./cartridges/app_storefront_base/cartridge/client/default/js/util.js"],"names":[],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;AClFa;;AAEb,qBAAqB,mBAAO,CAAC,uFAAW;;AAExC;AACA,mBAAmB,mBAAO,CAAC,uHAA6B;AACxD,CAAC;;;;;;;;;;;;;ACND;;AAEa;;AAEb,kBAAkB,mBAAO,CAAC,oGAAoB;AAC9C,mBAAmB,mBAAO,CAAC,iIAAgC;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8DAA8D;AAC9D;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,SAAS;;AAET;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,mBAAmB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,0BAA0B;AAC7C,2DAA2D,oBAAoB,GAAG;AAClF,0GAA0G;AAC1G;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4EAA4E,iBAAiB;AAC7F,aAAa;AACb,wCAAwC,iBAAiB;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iBAAiB;AACnD;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,0CAA0C;AACnH;AACA;AACA,wDAAwD,0CAA0C;AAClG;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA,oCAAoC,uBAAuB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0CAA0C,UAAU;AACpD;AACA,cAAc,IAAI;AAClB,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,IAAI;AAC9B,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,SAAS,IAAI,eAAe,QAAQ,eAAe,IAAI,oBAAoB;AACnI;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,6BAA6B;AAC7B;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,8EAA8E,IAAI;AAClF;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,eAAe;AACzE,6BAA6B;AAC7B;AACA,wFAAwF,sCAAsC;AAC9H,8DAA8D,eAAe;AAC7E;AACA,yBAAyB;AACzB,4DAA4D,SAAS,IAAI,eAAe,QAAQ,eAAe,IAAI,oBAAoB;AACvI;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,yBAAyB;AACzB,4DAA4D,SAAS,IAAI,eAAe,QAAQ,eAAe,IAAI,oBAAoB;AACvI;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;;;;;;;;;;;;;ACvhCa;;AAEb;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,IAAI;AACf,YAAY,OAAO;AACnB;AACA;;AAEA;AACA,8BAA8B;AAC9B,yDAAyD;AACzD;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,oBAAoB,cAAc,EAAE,gBAAgB,EAAE,wBAAwB,uBAAuB,QAAQ;;AAE7G;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACxDA;AACa;;AAEb;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,SAAS;;AAET;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;;AAET;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB,0DAA0D;;AAE1D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;;;;;;;;;;;;;ACvQa;;AAEb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA","file":"default/js/storeLocator.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./cartridges/app_bab_core/cartridge/client/default/js/storeLocator.js\");\n","'use strict';\n\nvar processInclude = require('base/util');\n\n$(document).ready(function () {\n    processInclude(require('./storeLocator/storeLocator'));\n});\n","/* globals google */\n\n'use strict';\n\nconst utilities = require('../utils/utilities');\nlet storeLocator = require('base/storeLocator/storeLocator');\n\nconst isStoreLocator = $('body').find('.store-locator-main').length > 0;\nconst isPDP = $('body').find('.product-detail').length > 0;\nconst isPLP = $('body').find('.search-results').length > 0;\nconst isCheckout = $('body').find('#checkout-main').length > 0;\nconst isCart = $('body').find('.cart-page').length > 0;\nconst isStoreLanding = $('body').find('.store-landing').length > 0;\nconst isModal = isPLP || isCheckout || isCart;\nlet prevWidth = window.innerWidth;\nconst miles = 0.000621371;\n\nfunction appendToUrl(url, params) {\n    let newUrl = url;\n    newUrl += (newUrl.indexOf('?') !== -1 ? '&' : '?') + Object.keys(params).map(function (key) {\n        return key + '=' + encodeURIComponent(params[key]);\n    }).join('&');\n\n    return newUrl;\n}\n\nfunction getPageLoadDistances() {\n    let pageLatitude = $('.store-locator-main').data('currLatitude');\n    let pageLongitude = $('.store-locator-main').data('currLongitude');\n    let pageLocation = new google.maps.LatLng(pageLatitude, pageLongitude);\n    let $storeResults = $('.results .results-list .store-details');\n\n    $storeResults.each(function () {\n        let lat = $(this).data('latitude');\n        let long = $(this).data('longitude');\n        let $storeDistance = $(this).find('.store-distance');\n\n        let storeLocation = new google.maps.LatLng(lat, long);// eslint-disable-next-line\n        let distance = google.maps.geometry.spherical.computeDistanceBetween(pageLocation, storeLocation) * miles;\n        distance = distance.toFixed(1);\n\n        $storeDistance.text(distance + ' miles');\n    });\n}\n\nfunction maps() {\n    let map;\n    let $mapCanvas = $('.map-canvas');\n    // eslint-disable-next-line\n    let infowindow = new google.maps.InfoWindow();\n\n    // Init U.S. Map in the center of the viewport\n    // eslint-disable-next-line\n    let latlng = new google.maps.LatLng(37.09024, -95.712891);\n    let mapOptions = {\n        scrollwheel: false,\n        zoom: 4,\n        center: latlng\n    };\n    // eslint-disable-next-line\n    map = new google.maps.Map($mapCanvas[0], mapOptions);\n    let mapdiv = $mapCanvas.attr('data-locations');\n\n    mapdiv = JSON.parse(mapdiv);\n\n    // eslint-disable-next-line\n    let bounds = new google.maps.LatLngBounds();\n\n    let markerDefault = $mapCanvas.data('iconDefault');\n    let markerMyWorkshop = $mapCanvas.data('iconMyWorkshop');\n\n    Object.keys(mapdiv).forEach(function (key) {\n        let item = mapdiv[key];\n        // let label = parseInt(key, 10) + 1;\n        let storeLocation = new google.maps.LatLng(item.latitude, item.longitude);\n        let marker = new google.maps.Marker({\n            position: storeLocation,\n            map: map,\n            title: item.name,\n            icon: {\n                url: item.isPreferred || item.isLanding ? markerMyWorkshop : markerDefault,\n                anchor: new google.maps.Point(13, 30),\n                scaledSize: new google.maps.Size(40, 40)\n            }\n            // label: { text: label.toString(), color: 'green', fontSize: '16px' }\n        });\n\n        marker.addListener('click', function () {\n            infowindow.setOptions({\n                content: item.infoWindowHtml\n            });\n            infowindow.open(map, marker);\n        });\n\n        // Create a minimum bound based on a set of storeLocations\n        bounds.extend(marker.position);\n\n        if (mapdiv && mapdiv.length === 1) {\n            map.setZoom(17);\n            map.setCenter(marker.position);\n        }\n    });\n\n    // Fit the all the store marks in the center of a minimum bounds when any store has been found.\n    if (mapdiv && mapdiv.length > 1) {\n        map.fitBounds(bounds);\n    }\n\n    getPageLoadDistances();\n}\n\nfunction getPrefferdStoreAddress(storeAddress) {\n    let address = storeAddress.address1;\n    if (storeAddress.address2.length > 0) {\n        address += ' ' + storeAddress.address2;\n    }\n    if (storeAddress.city.length > 0) {\n        address += ' ' + storeAddress.city;\n    }\n    if (storeAddress.stateCode.length > 0) {\n        address += ', ' + storeAddress.stateCode;\n    }\n    address += ' ' + storeAddress.postalCode;\n    return address;\n}\n\nfunction updatePrefferedDirections(direction) {\n    let $direction = $('a.store-get-directions');\n    let directionHref = $direction.attr('href');\n    let updatedDIrectionHref = directionHref.split('=');\n    let newDirectionHref = updatedDIrectionHref[0] + '=' + updatedDIrectionHref[1] + '=' + direction.address1 + ',' + direction.city + ',' + direction.stateCode + ',' + direction.postalCode;\n    return newDirectionHref;\n}\n\nfunction updateStorePhone(storePhone) {\n    let $storePhone = $('a.storelocator-phone');\n    let storePhoneHref = $storePhone.attr('href');\n    let updatedPhoneHref = storePhoneHref.split(':');\n    let newPhoneHref = updatedPhoneHref[0] + '=' + storePhone.phone;\n    return newPhoneHref;\n}\n\nfunction toggleCardVisibility(storeID, $cardBodies) {\n    $cardBodies.each(function () {\n        let $cardBody = $(this);\n        let cardStoreID = $cardBody.data('store-id');\n\n        if ((storeID !== undefined) && (cardStoreID !== undefined)) {\n            if (cardStoreID === storeID) {\n                $cardBody.closest('.card').addClass('preffered d-none');\n            } else {\n                $cardBody.closest('.card').removeClass('preffered d-none');\n            }\n        }\n    });\n}\n\nfunction makeMyWorkshop($this) {\n    let $selectedCard = $this.closest('.card');\n    let $selectedCardMakeBtn = $selectedCard.find('.makeItMyWorkshopBtn');\n    let $selectedFlag = $selectedCard.find('.preferred-ribbon');\n    let $currentWorkshop = $selectedCard.siblings('.my-workshop');\n    let $currentWorkshopMakeBtn = $currentWorkshop.find('.makeItMyWorkshopBtn');\n    let $currentFlag = $currentWorkshop.find('.preferred-ribbon');\n\n    $selectedCard.addClass('my-workshop');\n    $selectedFlag.removeClass('d-none');\n    $selectedCardMakeBtn.removeClass('d-inline-flex').addClass('d-none');\n\n    $currentWorkshop.removeClass('my-workshop');\n    $currentFlag.addClass('d-none');\n    $currentWorkshopMakeBtn.removeClass('d-none').addClass('d-inline-flex');\n}\n\nfunction makeMyWorkshopPDP($this, prefferedStoreData, storeHours) {\n    let $selectedCard = $this.closest('.card');\n    let $previousCard = $selectedCard.siblings('.my-workshop');\n    let $prefferedStore = $('.prefered-store');\n    let $bedged = $prefferedStore.find('.preferred-ribbon');\n    let $storePhone = $('.store-phone-no');\n    let storeDistance = $selectedCard.find('.store-distance').text();\n    let $myPrefferedWorkshop = $('.myPrefferedWorkshop .store-details');\n\n    // Stock msg update\n    let $stockDiv = $selectedCard.find('.stockMsg').clone(true).html();\n    $myPrefferedWorkshop.find('.stockMsg').removeClass('d-none').empty().append($stockDiv);\n    $myPrefferedWorkshop.find('.stocksInfo').addClass('d-none');\n\n    $prefferedStore.removeClass('d-none');\n    $bedged.removeClass('d-none');\n    $storePhone.removeClass('d-none');\n\n    if ($previousCard.length > 0) {\n        $previousCard.find('.preferred-ribbon').addClass('d-none');\n        $previousCard.find('.makeItMyWorkshopBtn').removeClass('d-none');\n        $previousCard.removeClass('my-workshop preffered d-none');\n    }\n\n    $selectedCard.addClass('my-workshop preffered d-none');\n\n    // Adding preffered store value\n    // Updating Store ID\n    let storeId = $this.closest('.card-body').data('store-id');\n    $myPrefferedWorkshop.data('store-id', storeId);\n    // Updating Store Name\n    $myPrefferedWorkshop.find('.store-name .storeName').text(prefferedStoreData.name);\n    // updating store Address\n    let storeAddress = getPrefferdStoreAddress(prefferedStoreData);\n    $myPrefferedWorkshop.find('.store-full-address').text(storeAddress);\n    // Updating Store Direction\n    let directionHref = updatePrefferedDirections(prefferedStoreData);\n    $myPrefferedWorkshop.find('a.store-get-direction').attr('href', directionHref);\n    $myPrefferedWorkshop.find('.store-distance').text(storeDistance);\n    // Updating Store Phone Number\n    let phoneHref = updateStorePhone(prefferedStoreData);\n    $myPrefferedWorkshop.find('a.storelocator-phone').attr('href', phoneHref).text(prefferedStoreData.phone);\n    // Updating Store Hours\n    $myPrefferedWorkshop.find('.store-hours .store-availability-info').removeClass('d-none').html(storeHours);\n\n    if (prefferedStoreData.buildParty) {\n        $myPrefferedWorkshop.find('.store-book-party').removeClass('d-none');\n    } else {\n        $myPrefferedWorkshop.find('.store-book-party').addClass('d-none');\n    }\n}\n\nfunction makeMyWorkshopForCheckout($this, prefferedStoreData, storeHours) {\n    let $selectCardID = prefferedStoreData.ID;\n    let $selectResults = $('.results .card-body[data-store-id=' + $selectCardID + ']');\n    let $selectedCard = $selectResults.closest('.card');\n    let $prefferedStore = $('.prefered-store');\n    let $bedged = $prefferedStore.find('.preferred-ribbon');\n    let $storePhone = $('.store-phone-no');\n    let storeDistance = $selectedCard.find('.store-distance').text();\n    let $myPrefferedWorkshop = $('.myPrefferedWorkshop .store-details');\n\n    $prefferedStore.removeClass('d-none');\n    $bedged.removeClass('d-none');\n    $storePhone.removeClass('d-none');\n    $('.results .card-body').closest('.card.prefered-store').removeClass('previous');\n    if ($selectResults.hasClass('checked') || $selectResults.closest('.prefered-store').hasClass('preffered') || $selectResults.closest('.prefered-store').hasClass('previous')) {\n        $selectResults.closest('.card.prefered-store').addClass('previous d-none');\n        $selectResults.find('.custom-control-input').prop('checked', '');\n    }\n\n    let $prefferedStoreResults = $('.results-card .results');\n    let $storeSelected = $prefferedStoreResults.find('.card.preffered');\n    $storeSelected.removeClass('preffered d-none');\n\n    // Adding preffered store value\n    // Updating Store ID\n    let storeId = $selectResults.closest('.card-body').data('store-id');\n    $myPrefferedWorkshop.attr('data-store-id', storeId);\n    // Updating Store Name\n    $myPrefferedWorkshop.find('.name-distance .name').text(prefferedStoreData.name);\n    $myPrefferedWorkshop.find('.name-distance .store-distance').text(storeDistance);\n    // updating store Address\n    $myPrefferedWorkshop.find('.address1').text(prefferedStoreData.address1);\n    $myPrefferedWorkshop.find('.city').text(prefferedStoreData.city);\n    $myPrefferedWorkshop.find('.stateCode .statecode').text(prefferedStoreData.stateCode);\n    $myPrefferedWorkshop.find('.stateCode .postalCode').text(prefferedStoreData.postalCode);\n    $myPrefferedWorkshop.closest('.card.custom-store-card').find('.custom-control-input').prop('checked', 'checked');\n    $myPrefferedWorkshop.closest('.card.custom-store-card').find('.card-body').addClass('checked');\n\n    // Updating Store Phone Number\n    let phoneHref = updateStorePhone(prefferedStoreData);\n    $myPrefferedWorkshop.find('a.storelocator-phone').attr('href', phoneHref).text(prefferedStoreData.phone);\n    // Updating Store Hours\n    $myPrefferedWorkshop.find('.store-hours .store-availability-info').removeClass('d-none').html(storeHours);\n}\n\nfunction getCoordinates(storePosition) {\n    let isPhoneModal = $('#modal-storeLocator-sm').length > 0;\n    let phoneModalPin = $('#modal-storeLocator-sm #store-postal-code').val();\n    let pincode = $('#store-postal-code').val();\n\n    if (isPhoneModal && (phoneModalPin !== '')) {\n        pincode = $('#modal-storeLocator-sm #store-postal-code').val();\n    }\n    // eslint-disable-next-line\n    let geocoder = new google.maps.Geocoder();\n\n    if (pincode) {\n        // User provided a pincode\n        geocoder.geocode({ address: pincode }, function (results, status) {\n            // eslint-disable-next-line\n            if (status === google.maps.GeocoderStatus.OK) {\n                let userLatitude = results[0].geometry.location.lat();\n                let userLongitude = results[0].geometry.location.lng();\n                // eslint-disable-next-line\n                let userLocation = new google.maps.LatLng(userLatitude, userLongitude);\n                calculateDistances(storePosition, userLocation, miles);\n            }\n        });\n    } else {\n        // User clicked on detect location button\n        // eslint-disable-next-line\n        if (navigator.geolocation) {\n            // eslint-disable-next-line\n            navigator.geolocation.getCurrentPosition(\n                function (position) {\n                    let userLatitude = position.coords.latitude;\n                    let userLongitude = position.coords.longitude;// eslint-disable-next-line\n                    let userLocation = new google.maps.LatLng(userLatitude, userLongitude);\n                    calculateDistances(storePosition, userLocation, miles);\n                }\n            );\n        } else {\n            // Error\n        }\n    }\n}\n\nfunction calculateDistances(storePosition, userLocation, miles) {\n    for (let i = 0; i < storePosition.length; i++) {\n        let $storeID = $('.card').find(`.card-body#store-${storePosition[i].ID}`);// eslint-disable-next-line\n        let storeLocation = new google.maps.LatLng(storePosition[i].latitude, storePosition[i].longitude);// eslint-disable-next-line\n        let distanceInMeters = google.maps.geometry.spherical.computeDistanceBetween(userLocation, storeLocation) * miles;\n        storePosition[i] = distanceInMeters.toFixed(1);\n        let $storeDistance = $storeID.find('.store-distance');\n        $storeDistance.text(storePosition[i] + ' miles');\n\n        let $anchorTag = $storeID.find('.btn-workshop-details');\n        if ($anchorTag.is(':visible')) {\n            let currentHref = $anchorTag.attr('href');\n            if (currentHref.includes('dist=undefined')) {\n                currentHref = currentHref.replace('dist=undefined', `dist=${storePosition[i]}`);\n            } else if (!currentHref.includes('dist=')) {\n                currentHref += `&dist=${storePosition[i]}`;\n            }\n            $anchorTag.attr('href', currentHref);\n        }\n    }\n}\n\nfunction pickup() {\n    const $pickupinfoSection = $('.pickupinfo-section');\n    const $shippingAddressBlock = $('.shipping-address-block');\n    const $formGroupNone = $shippingAddressBlock.find('.form-group');\n\n    if ($(\"#PickUp\").is(\":checked\")) {\n        $pickupinfoSection.removeClass('d-none');\n        $formGroupNone.addClass('d-none');\n        $shippingAddressBlock.find('.form-group.dwfrm_shipping_shippingAddress_addressFields_firstName').addClass('d-block');\n        $shippingAddressBlock.find('.form-group.dwfrm_shipping_shippingAddress_addressFields_lastName').addClass('d-block');\n        $shippingAddressBlock.find('.form-group.dwfrm_shipping_shippingAddress_addressFields_phone').addClass('d-block');\n        $('.shipping-form ').attr('data-address-mode', 'new');\n        $('.shipping-form ').find('.shipment-selector-block').addClass('d-none');\n    } else {\n        $pickupinfoSection.addClass('d-none');\n        $formGroupNone.removeClass('d-none');\n        $shippingAddressBlock.find('.form-group.dwfrm_shipping_shippingAddress_addressFields_firstName').removeClass('d-block');\n        $shippingAddressBlock.find('.form-group.dwfrm_shipping_shippingAddress_addressFields_lastName').removeClass('d-block');\n        $shippingAddressBlock.find('.form-group.dwfrm_shipping_shippingAddress_addressFields_phone').removeClass('d-block');\n        $('.shipping-form ').find('.shipment-selector-block').removeClass('d-none');\n    }\n}\n\n$('input[name=\"pickupstore\"]').on('click', function () {\n    pickup();\n    let inStoreOOS = $('.inStoreOOS').length > 0;\n    let url = $(this).data('url');\n    let isStore = {\n        isStore: $(this).data('istore'),\n        isStoreOOS: inStoreOOS\n    };\n    $.spinner().start();\n    $.ajax({\n        url: url,\n        type: 'POST',\n        dataType: 'json',\n        data: isStore,\n        success: function (data) {\n            if (data.order) {\n                $('body').trigger('checkout:updateCheckoutView',\n                    {\n                        order: data.order,\n                        customer: data.customer,\n                        options: { keepOpen: true },\n                        shippingDiscounts: data.shippingDiscounts\n                    });\n            }\n            let $saveAddress = $('input[name=dwfrm_shipping_shippingAddress_shippingSaveForFutureUse]');\n            if (data.order.shipmentType === 'isStore') {\n                if ($saveAddress.is(':checked')) {\n                    $saveAddress.attr('checked', false);\n                    $saveAddress.val(false);\n                }\n                $saveAddress.closest('.form-group').addClass('d-none');\n                $('input[name=dwfrm_shipping_shippingAddress_shippingAddressUseAsBillingAddress]').attr('checked', false);\n                $('input[name=dwfrm_shipping_shippingAddress_shippingAddressUseAsBillingAddress]').closest('.form-group').addClass('d-none');\n            } else {\n                $saveAddress.closest('.form-group').removeClass('d-none');\n                if ($saveAddress.is(':checked')) {\n                    $saveAddress.attr('checked', true);\n                    $saveAddress.val(true);\n                }\n                $('input[name=dwfrm_shipping_shippingAddress_shippingAddressUseAsBillingAddress]').closest('.form-group').removeClass('d-none');\n                $('input[name=dwfrm_shipping_shippingAddress_shippingAddressUseAsBillingAddress]').attr('checked', true);\n            }\n            const $preferredStoreDetails = $('.preferredStoreDetails');\n            const $shippingAddressBlock = $('.shipping-form');\n            if (data.error) {\n                $('.submit-shipping').attr('disabled', true);\n            } else {\n                $('.submit-shipping').attr('disabled', false);\n            }\n            if ($preferredStoreDetails.length > 0 && $(\"#PickUp\").is(\":checked\")) {\n                const address1 = $preferredStoreDetails.find('address .address1').text();\n                const city = $preferredStoreDetails.find('address .city').text();\n                const countryCode = $preferredStoreDetails.find('address .countryCode').text();\n                const statecode = $preferredStoreDetails.find('address .statecode').text();\n                const postalCode = $preferredStoreDetails.find('address .postalCode').text();\n\n                $shippingAddressBlock.find('.form-group .shippingAddressOne').val(address1);\n                $shippingAddressBlock.find('.form-group .shippingCountry').val(countryCode);\n                $shippingAddressBlock.find('.form-group .shippingState').val(statecode);\n                $shippingAddressBlock.find('.form-group .State' + countryCode).val(statecode);\n                $shippingAddressBlock.find('.form-group .shippingAddressCity').val(city);\n                $shippingAddressBlock.find('.form-group .shippingZipCode').val(postalCode);\n            } else {\n                if (data.customer.addresses.length > 0) {\n                    $('.shipping-form ').attr('data-address-mode', 'edit');\n                } else {\n                    $('.shipping-form ').attr('data-address-mode', 'new');\n                }\n                $('.shipping-form .form-group .form-control:not(.shippingCountry)').each(function () {\n                    $(this).val('');\n                });\n                $('.shipping-form .form-group .form-control.shippingCountry').val($(\".shipping-form .form-group .form-control.shippingCountry option:first\").val());\n                if (data.customer.registeredUser && data.customer.addresses.length > 0) {\n                    const $shippingAddressforRegisterUser = $('.shipping-form .shipping-address-block');\n                    const $SelectedAddressData = $('#shipmentSelector-default').find('.radio-line.checked .custom-control-input');\n                    $shippingAddressforRegisterUser.find('.form-group .shippingFirstName').val($SelectedAddressData.data('first-name'));\n                    $shippingAddressforRegisterUser.find('.form-group .shippingLastName').val($SelectedAddressData.data('last-name'));\n                    $shippingAddressforRegisterUser.find('.form-group .shippingPhoneNumber').val($SelectedAddressData.data('phone'));\n                    $shippingAddressforRegisterUser.find('.form-group .shippingAddressOne').val($SelectedAddressData.data('address1'));\n                    $shippingAddressforRegisterUser.find('.form-group .shippingAddressTwo').val($SelectedAddressData.data('address2'));\n                    $shippingAddressforRegisterUser.find('.form-group .shippingCountry').val($SelectedAddressData.data('country-code'));\n                    $shippingAddressforRegisterUser.find('.form-group .shippingState').val($SelectedAddressData.data('state-code'));\n                    $shippingAddressforRegisterUser.find('.form-group .shippingAddressCity').val($SelectedAddressData.data('city'));\n                    $shippingAddressforRegisterUser.find('.form-group .shippingZipCode').val($SelectedAddressData.data('postal-code'));\n                    let $countrySelection = $('#dwfrm_shipping .countrySelection');\n                    $countrySelection.find('.countryHide').addClass('d-none');\n                    const $countryHide = $countrySelection.find(`.State${$SelectedAddressData.data('country-code')}`).closest('.countryHide');\n                    if ($countryHide.length) {\n                        $countryHide.removeClass('d-none');\n                        $countrySelection.find(`.State${$SelectedAddressData.data('country-code')}`).val($SelectedAddressData.data('state-code'));\n                        $countrySelection.find('.country-col:not(.account-country)').addClass('col-sm-6').removeClass('col-12');\n                    } else {\n                        $countrySelection.find('.country-col').addClass('col-12').removeClass('col-sm-6 col-md-6');\n                    }\n                }\n            }\n            $.spinner().stop();\n        },\n        error: function () {\n            $.spinner().stop();\n        }\n    });\n});\n\n$('.modal-storeLocator input[name=\"radio-test\"]').on('click', function () {\n    $('.modal-storeLocator .card-body').removeClass('checked');\n    if ($('.modal-storeLocator .card-body').hasClass('checked')) {\n        $('.modal-storeLocator .card-body').removeClass('checked');\n    } else {\n        $(this).closest('.card-body').addClass('checked');\n    }\n});\n\nfunction findWorkshop() {\n    $('.store-search').on('click', '.btn-storelocator-search', function (event) {\n        event.preventDefault();\n        const $inputField = $('.store-search #store-postal-code');\n        const $postalCode = $inputField.val();\n        const $selectPickupStore = $('#select-pickup-store');\n        if ($postalCode) {\n            $('.modal-storeLocator').find('#store-postal-code').val($postalCode);\n            $selectPickupStore.find('.btn-storelocator-search').trigger('click');\n            $selectPickupStore.modal('show');\n        } else {\n            $inputField.addClass('is-invalid');\n            $('.store-search .invalid-feedback').text($inputField.attr('data-error-message'));\n        }\n    });\n}\n\nfunction selectPickupStore() {\n    $('#select-pickup-store .results-card .results').on('click', '[name=\"storelocators\"]', function () {\n        $(this).closest('#select-pickup-store ').find('[name=\"storelocators\"]').removeAttr('checked', '');\n        $(this).closest('#select-pickup-store').find('.card-body').removeClass('checked');\n        if ($(this).is(':checked')) {\n            $(this).attr('checked', 'checked');\n            $(this).closest('.card-body').addClass('checked');\n        } else {\n            $(this).closest('#select-pickup-store').find('[name=\"storelocators\"]').removeAttr('checked', '');\n            $(this).closest('#select-pickup-store').find('.card-body').removeClass('checked');\n        }\n    });\n}\n\nfunction updateStoresResults(data) {\n    let $resultsDiv = $('.results');\n    let $mapDiv = $('.map-canvas');\n    let hasResults = data.stores.length > 0;\n\n    if (!hasResults) {\n        $('.store-locator-no-results').show().removeClass('d-none');\n        $('.result-set').hide();\n    } else {\n        $('.store-locator-no-results').hide().addClass('d-none');\n        $('.result-set').show();\n    }\n\n    if (isModal && hasResults) {\n        const $modalButtons = $('.modal-dialog-storelocator .modal-buttons');\n        $modalButtons.removeClass('d-none');\n    }\n\n    $resultsDiv.empty()\n        .data('has-results', hasResults)\n        .data('radius', data.radius)\n        .data('search-key', data.searchKey);\n\n    $mapDiv.attr('data-locations', data.locations);\n\n    if ($mapDiv.data('has-google-api')) {\n        maps();\n    } else {\n        $('.store-locator-no-apiKey').show();\n    }\n    getCoordinates(data.stores);\n    console.log(\"data = \", data);\n    console.log(\"data.stores = \", data.stores);\n    console.log(\"data.storesResultsHtml = \", data.storesResultsHtml);\n    if (data.storesResultsHtml) {\n        $resultsDiv.append(data.storesResultsHtml);\n        let storeID = $('.custom-store-card .myPrefferedWorkshop .store-details').data('store-id');\n        let $cardBodies = $('.results-card .card-body');\n\n        toggleCardVisibility(storeID, $cardBodies);\n    }\n\n    // Show Store Locator Banner on any search\n    $('.store-locator-slot').show();\n    highlightDay();\n}\n\nfunction search(element) {\n    let dialog = element.closest('.in-store-inventory-dialog');\n    let spinner = dialog.length ? dialog.spinner() : $.spinner();\n    let $form = element.closest('.store-locator');\n    let radius = $('.results').data('radius');\n    let url = $form.attr('action');\n    let postalCode = $form.find('[name=\"postalCode\"]').val();\n    // eslint-disable-next-line\n    let geocoder = new google.maps.Geocoder();\n\n    let urlParams = {\n        radius: radius,\n        isPDP: isPDP,\n        isPLP: isPLP,\n        isCheckout: isCheckout,\n        isCart: isCart\n    };\n\n    spinner.start();\n    if (isPDP) {\n        var builderconfig = $('[data-builderconfig]').data('builderconfig');\n        let allPids = [];\n        Object.keys(builderconfig).forEach(function (department) {\n            allPids = allPids.concat(builderconfig[department]);\n        });\n        if ($('body').find('.product-bundle-detail').length > 0) {\n            allPids.splice(0, 1);\n        }\n        urlParams.allPids = JSON.stringify(allPids);\n    }\n    let payload = $form.is('form') ? $form.serialize() : { postalCode: postalCode };\n\n    url = appendToUrl(url, urlParams);\n    geocoder.geocode({ address: postalCode }, function (results, status) {\n        // eslint-disable-next-line\n        if (status === google.maps.GeocoderStatus.OK) {\n            let lat = results[0].geometry.location.lat();\n            let long = results[0].geometry.location.lng();\n            url = appendToUrl(url, { lat: lat, long: long });\n            $.ajax({\n                url: url,\n                type: $form.attr('method'),\n                data: payload,\n                dataType: 'json',\n                success: function (data) {\n                    updateStoresResults(data);\n                    let $resultInfo = $('.results-count');\n                    $resultInfo.find('.search-term').html(postalCode);\n                    $resultInfo.find('.search-result-terms').show();\n                    $('.select-store').prop('disabled', true);\n                    spinner.stop();\n                }\n            });\n        } else {\n            $.ajax({\n                url: url,\n                type: $form.attr('method'),\n                data: payload,\n                dataType: 'json',\n                success: function (data) {\n                    updateStoresResults(data);\n                    $('.select-store').prop('disabled', true);\n                    spinner.stop();\n                }\n            });\n        }\n    });\n    return false;\n}\n\nfunction updatePDPStockMessage(pdpStockMessage, storeNAme) {\n    var pdpStockMessageObj = JSON.parse(pdpStockMessage);\n    if (!pdpStockMessageObj && pdpStockMessageObj.length == 0) {\n        return;\n    }\n    $('.preffered-store-name').text(`at ${storeNAme}`);\n    Object.keys(pdpStockMessageObj).forEach(function (pid) {\n        $(`.${pid}stockmessage`).text(pdpStockMessageObj[pid]);\n    });\n}\n\nfunction updatePDPStockHTML(stockMsgResponse) {\n    var stockMsgResponseObj = JSON.parse(stockMsgResponse);\n    if ($('.preffered-store-name').length === 0) {\n        Object.keys(stockMsgResponseObj).forEach(function (pid) {\n            $(`.replace-${pid}`).replaceWith(stockMsgResponseObj[pid]);\n        });\n    }\n}\n\nfunction moveSearchFields() {\n    let $pageHeading = $('.page-heading');\n    let $pageHeadingWrap = $('.page-heading-wrap');\n    let $searchFields = $('.sl-search-fields');\n    let $searchFieldsWrap = $('.sl-search-fields-wrap');\n    let $map = $('.sl-map');\n\n    if (window.matchMedia('(min-width: 48em)').matches) {\n        $pageHeading.prependTo($pageHeadingWrap);\n        $searchFields.removeClass('col-12').appendTo($searchFieldsWrap);\n    } else {\n        $pageHeading.insertBefore($map);\n        $searchFields.addClass('col-12').insertBefore($map);\n    }\n}\n\nfunction moveStoreDetails() {\n    let $storeDetailsContent = $('.store-landing-details');\n    let $storeDetailsDesktop = $('.store-details-desktop');\n    let $storeDetailsMobile = $('.store-details-mobile');\n\n    if (window.matchMedia('(min-width: 48em)').matches) {\n        $storeDetailsContent.prependTo($storeDetailsDesktop);\n    } else {\n        $storeDetailsContent.appendTo($storeDetailsMobile);\n    }\n}\n\nfunction highlightDay() {\n    let days = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n    const currentDay = new Date().getDay();\n    const currentDayName = days[currentDay];\n    let $storeCards = $('.store-details');\n    let $storeHours = $storeCards.find('.store-availability-info');\n\n    $storeHours.find('li:contains(' + currentDayName + ')').each(function () {\n        $(this).addClass('current-day');\n    });\n}\n\n/**\n * Checks for Geolocation Error\n * @param {Object} error - string to check\n */\nfunction showError(error) {\n    var $detectLocationButton = $('.detect-location');\n    switch (error.code) {\n    case error.PERMISSION_DENIED:\n        $.spinner().stop();\n        console.warn('User denied the request for Geolocation.');\n        $detectLocationButton.prop('disabled', true);\n        $detectLocationButton.find('.detect-location-label').text($detectLocationButton.find('.detect-location-label').data('disabledmsg'));\n        break;\n    case error.POSITION_UNAVAILABLE:\n        $.spinner().stop();\n        console.warn('Location information is unavailable.');\n        break;\n    case error.TIMEOUT:\n        $.spinner().stop();\n        console.warn('The request to get user location timed out.');\n        break;\n    default:\n    case error.UNKNOWN_ERROR:\n        $.spinner().stop();\n        console.warn('An unknown geolocation error occurred.');\n        break;\n    }\n\n    $('#store-postal-code').prop('disabled', false);\n}\n\n$(document).ready(function () {\n    findWorkshop();\n\n    if (isCheckout) {\n        pickup();\n    }\n\n    if (isModal) {\n        selectPickupStore();\n    }\n\n    $('body').on('click', '.makeItMyWorkshopBtn', function (event) {\n        event.preventDefault();\n        const $this = $(this);\n        let url = $this.data('url');\n        let storeDistance = $this.parents('.store-details').find('.store-distance').text().replace(' miles', '');\n        let isPDP = $('body').find('.product-detail').length > 0;\n        let allPids = [];\n        if (isPDP) {\n            var builderconfig = $('[data-builderconfig]').data('builderconfig');\n            Object.keys(builderconfig).forEach(function (department) {\n                allPids = allPids.concat(builderconfig[department]);\n            });\n            if ($('body').find('.product-bundle-detail').length > 0) {\n                allPids.splice(0, 1);\n            }\n        }\n\n        let storeId = {\n            store: $this.data('store'),\n            storeDistance: $this.parents('.store-details').find('.store-distance').text(),\n            isPDP: isPDP,\n            allPids: JSON.stringify(allPids)\n        };\n        $.spinner().start();\n\n        $.ajax({\n            url: url,\n            type: 'POST',\n            dataType: 'json',\n            data: storeId,\n            success: function (data) {\n                if (!data.error) {\n                    const storeURL = $('.preferred-store-url').val() + '?StoreID=' + data.storeID + '&dist=' + storeDistance;\n                    $('.store-detail').html(`<a href=\"${storeURL}\">${data.storeName}</a>, ${data.storeCity}, ${data.storeStateCode}`);\n                }\n                if (data.pdpStockMessage && data.pdpStockMessage.length) {\n                    updatePDPStockMessage(data.pdpStockMessage, data.storeName);\n                }\n                if (data.stockMsgResponse && data.stockMsgResponse.length) {\n                    updatePDPStockHTML(data.stockMsgResponse);\n                }\n\n                if (isPDP) {\n                    makeMyWorkshopPDP($this, data.storeData, data.storeHours);\n                } else {\n                    makeMyWorkshop($this);\n                }\n                $.spinner().stop();\n            },\n            error: function () {\n                $.spinner().stop();\n            }\n        });\n    });\n\n    $('.modal-buttons .select-workshop-button').off('click').on('click', function (event) {\n        event.preventDefault();\n        const $this = $(this);\n        let url = $this.data('url');\n        const $selectPickupStore = $('#select-pickup-store');\n        let storeDistance = $selectPickupStore.find('[name=\"storelocators\"]:checked').siblings('.custom-control-label').children('.store-details').find('.store-distance').text();\n        let storeId = {\n            store: $selectPickupStore.find('[name=\"storelocators\"]:checked').siblings('.custom-control-label').children('.store-details').attr('data-store-id'),\n            storeDistance: storeDistance\n        };\n        $.spinner().start();\n\n        $.ajax({\n            url: url,\n            type: 'POST',\n            dataType: 'json',\n            data: storeId,\n            success: function (data) {\n                const storeURL = $('.preferred-store-url').val() + '?StoreID=' + data.storeID + '&dist=' + storeDistance.replace(' miles', '');\n                $selectPickupStore.modal('hide');\n                const isPLP = $('body').find('.search-results').length > 0;\n                const isChecked = $('.store-switch .storeToggle').is(\":checked\");\n                if (isPLP && data.storeID && isChecked) {\n                    window.location.href = utilities.updateURLParams(window.location.href, 'storeid', data.storeID);\n                }\n\n                if (!data.error) {\n                    const $shippingAddressBlock = $('.shipping-form');\n                    $shippingAddressBlock.find('.form-group .shippingAddressOne').val(data.storeData.address1);\n                    $shippingAddressBlock.find('.form-group .shippingCountry').val(data.storeData.countryCode);\n                    $shippingAddressBlock.find('.form-group .shippingState').val(data.storeData.stateCode);\n                    $shippingAddressBlock.find('.form-group .State' + data.storeData.countryCode).val(data.storeData.stateCode);\n                    $shippingAddressBlock.find('.form-group .shippingAddressCity').val(data.storeData.city);\n                    $shippingAddressBlock.find('.form-group .shippingZipCode').val(data.storeData.postalCode);\n                    $shippingAddressBlock.find('.storeId').val(data.storeData.ID);\n                    $('.pickupinfo-section .preferredStoreDetails').html(data.renderedTemplate);\n                    $('.prefered-store button').attr('data-target', '#select-pickup-store');\n                    $('.card.store-search').addClass('d-none');\n                    if (data.order) {\n                        $('body').trigger('checkout:updateCheckoutView',\n                            {\n                                order: data.order,\n                                customer: data.customer,\n                                options: { keepOpen: true }\n                            });\n                    }\n                    if (data.isStoreOOS) {\n                        $('.submit-shipping').attr('disabled', true);\n                    } else {\n                        $('.submit-shipping').attr('disabled', false);\n                    }\n                    if ($('body').find('.cart-page').length > 0) {\n                        const storeObjlist = JSON.parse(data.inventoryMsgObj);\n                        Object.keys(storeObjlist).forEach(key => {\n                            let $uniqueIdsKey = $(`.cart-lineitem[data-uuid=${key}]`);\n                            let $availabilityMsg = $uniqueIdsKey.find('.availability-msg');\n                            $uniqueIdsKey.find('.pdp-ship-option').removeClass('check-store-available').addClass('availableStore');\n                            $uniqueIdsKey.find('.store-locator-cart span.store-link-name').text('Change Store');\n                            if (storeObjlist[key].availabilityMessage === 'Out of Stock') {\n                                $availabilityMsg.html(`\n                                <span class=\"bold font-family-sans-serif d-block\">Not Available for workshop pickup</span>\n                                <span class=\"storename\">${data.storeName}</span>`);\n                            } else {\n                                $availabilityMsg.html(`\n                                    <span class=\"bold font-family-sans-serif d-block\">${storeObjlist[key].availabilityMessage}</span>\n                                    <span class=\"storename\">${data.storeName}</span>`);\n                            }\n                        });\n                        $('.store-detail').html(`<a href=\"${storeURL}\">${data.storeName}</a>, ${data.storeCity}, ${data.storeStateCode}`);\n                    }\n                    if (isPLP) {\n                        let $selectStoreLink = $('.select-store-link');\n\n                        $selectStoreLink.each(function () {\n                            let $selectStore = $(this).find('.select-store');\n                            let $storeName = $(this).find('.store-name');\n\n                            if ($selectStore.length) {\n                                $selectStore.hide();\n                                $storeName.text(data.storeName).attr('data-storeid', data.storeID).removeClass('d-none');\n                            } else {\n                                $storeName.text(data.storeName).attr('data-storeid', data.storeID);\n                            }\n                        });\n                        $('.store-detail').html(`<a href=\"${storeURL}\">${data.storeName}</a>, ${data.storeCity}, ${data.storeStateCode}`);\n                    }\n                }\n                makeMyWorkshopForCheckout($this, data.storeData, data.storeHours);\n                $.spinner().stop();\n            },\n            error: function () {\n                $.spinner().stop();\n            }\n        });\n    });\n});\n\n$(window).smartresize(function () {\n    let width = window.innerWidth;\n    let horzResize = false;\n    if (width !== prevWidth) {\n        horzResize = true;\n        prevWidth = width;\n    }\n\n    if (isStoreLocator && horzResize) {\n        moveSearchFields();\n    }\n\n    if (isStoreLanding && horzResize) {\n        moveStoreDetails();\n    }\n});\n\n\nstoreLocator.init = function () {\n    if ($('.map-canvas').data('has-google-api')) {\n        maps();\n    } else {\n        $('.store-locator-no-apiKey').show();\n    }\n\n    if (!$('.results').data('has-results')) {\n        $('.store-locator-no-results').show();\n    }\n\n    if (isStoreLocator) {\n        moveSearchFields();\n\n        let $mapToggle = $('.btn-map-toggle');\n        let $mapBlock = $('.sl-map');\n\n        $mapToggle.on('click', function () {\n            let $tglBtn = $(this);\n            $tglBtn.siblings('.btn').removeClass('active');\n            $tglBtn.addClass('active');\n\n            if ($tglBtn.is('.btn-map-view')) {\n                $mapBlock.addClass('js-show');\n            } else {\n                $mapBlock.removeClass('js-show');\n            }\n        });\n    }\n\n    if (isStoreLanding) {\n        moveStoreDetails();\n    }\n\n    highlightDay();\n};\n\nstoreLocator.search = function () {\n    $('.store-locator-container, .sl-search-fields').off('submit').on('submit', 'form.store-locator', function (event) {\n        event.preventDefault();\n        search($(this));\n    });\n    $('.store-locator-container, .sl-search-fields').off('click').on('click', '.btn-storelocator-search[type=\"button\"]', function (event) {\n        event.preventDefault();\n        search($(this));\n    });\n};\n\nstoreLocator.detectLocation = function () {\n    // clicking on detect location.\n    $('.detect-location').off('click').on('click', function (event) {\n        event.preventDefault();\n        $.spinner().start();\n        // eslint-disable-next-line\n        if (!navigator.geolocation) {\n            $.spinner().stop();\n            return;\n        }\n\n        $('#store-postal-code').prop('disabled', true);\n\n        // eslint-disable-next-line\n        navigator.geolocation.getCurrentPosition(function (position) {\n            var $detectLocationButton = $('.detect-location');\n            var url = $detectLocationButton.data('action');\n            var radius = $('.results').data('radius');\n            let isSLPage = $('body').find('.store-locator-main').length > 0;\n            let isPDP = $('body').find('.product-detail').length > 0;\n            let isPLP = $('body').find('.search-results').length > 0;\n            let isCheckout = $('body').find('#checkout-main').length > 0;\n            let isCart = $('body').find('.cart-page').length > 0;\n\n            if (isSLPage) {\n                radius = $('.store-form .radius').val();\n            }\n\n            var urlParams = {\n                radius: radius,\n                lat: position.coords.latitude,\n                long: position.coords.longitude,\n                isSLPage: isSLPage,\n                isPDP: isPDP,\n                isPLP: isPLP,\n                isCheckout: isCheckout,\n                isCart: isCart\n            };\n\n            if (isPDP) {\n                var builderconfig = $('[data-builderconfig]').data('builderconfig');\n                let allPids = [];\n                Object.keys(builderconfig).forEach(function (department) {\n                    allPids = allPids.concat(builderconfig[department]);\n                });\n                if ($('body').find('.product-bundle-detail').length > 0) {\n                    allPids.splice(0, 1);\n                }\n                urlParams.allPids = JSON.stringify(allPids);\n            }\n\n            url = appendToUrl(url, urlParams);\n            $.ajax({\n                url: url,\n                type: 'get',\n                dataType: 'json',\n                success: function (data) {\n                    updateStoresResults(data);\n                    $('.select-store').prop('disabled', true);\n                    $('#store-postal-code').prop('disabled', false);\n                    $.spinner().stop();\n                },\n                error: function () {\n                    $('#store-postal-code').prop('disabled', false);\n                    $.spinner().stop();\n                }\n            });\n        }, showError);\n    });\n};\n\nstoreLocator.changeRadius = function () {\n    $('.store-locator-container .refine-radius').change(function () {\n        var radius = $(this).val();\n        var searchKeys = $('.results').data('search-key');\n        var url = $(this).data('action-url');\n        var urlParams = {};\n\n        if (searchKeys.postalCode) {\n            urlParams = {\n                radius: radius,\n                postalCode: searchKeys.postalCode\n            };\n        } else if (searchKeys.lat && searchKeys.long) {\n            urlParams = {\n                radius: radius,\n                lat: searchKeys.lat,\n                long: searchKeys.long\n            };\n        }\n\n        url = appendToUrl(url, urlParams);\n        var dialog = $(this).closest('.in-store-inventory-dialog');\n        var spinner = dialog.length ? dialog.spinner() : $.spinner();\n        spinner.start();\n        $.ajax({\n            url: url,\n            type: 'get',\n            dataType: 'json',\n            success: function (data) {\n                spinner.stop();\n                updateStoresResults(data);\n                $('.select-store').prop('disabled', true);\n            }\n        });\n    });\n};\n\nmodule.exports = storeLocator;\n","'use strict';\n\n/**\n * appends params to a url\n * @param {string} url - Original url\n * @param {Object} params - Parameters to append\n * @returns {string} result url with appended parameters\n */\nconst appendParamsToUrl = function (url, params) {\n    var newUrl = url;\n    newUrl += (newUrl.indexOf('?') !== -1 ? '&' : '?') + Object.keys(params).map(function (key) {\n        return key + '=' + encodeURIComponent(params[key]);\n    }).join('&');\n\n    return newUrl;\n};\n\nconst showAlertMsg = function ($toastBox, duration) {\n    $toastBox.removeClass('d-none').removeAttr('style');\n    setTimeout(function () {\n        $toastBox.addClass('d-none');\n    }, duration);\n};\n\n/**\n *\n * @param {string} url - Orignial URL\n * @param {string} paramName - Name of the Parameter\n * @param {null} paramValue - Parameters will be delete\n * @param {undefined} paramValue - Parameters will be created\n * @param {any} paramValue - paramName value will be updated\n * @return {string} - Updated URL\n *\n */\n\nconst updateURLParams = function (url, paramName, paramValue) {\n    let urlObj = new URL(url); // eslint-disable-line no-undef\n    let urlParamObj = new URLSearchParams(urlObj.search); // eslint-disable-line no-undef\n    let updatedURL = url;\n\n    if (paramValue === null) {\n        urlParamObj.delete(paramName);\n    } else if (paramValue === undefined) {\n        urlParamObj.set(paramName, '');\n    } else if (paramValue) {\n        urlParamObj.set(paramName, paramValue);\n    }\n    updatedURL = `${urlObj.origin}${urlObj.pathname}${(urlParamObj.size ? `?${urlParamObj.toString()}` : '')}`;\n\n    return updatedURL;\n};\n\nmodule.exports = {\n    appendParamsToUrl: appendParamsToUrl,\n    showAlertMsg: showAlertMsg,\n    updateURLParams: updateURLParams\n};\n","/* globals google */\n'use strict';\n\n/**\n * appends params to a url\n * @param {string} url - Original url\n * @param {Object} params - Parameters to append\n * @returns {string} result url with appended parameters\n */\nfunction appendToUrl(url, params) {\n    var newUrl = url;\n    newUrl += (newUrl.indexOf('?') !== -1 ? '&' : '?') + Object.keys(params).map(function (key) {\n        return key + '=' + encodeURIComponent(params[key]);\n    }).join('&');\n\n    return newUrl;\n}\n\n/**\n * Uses google maps api to render a map\n */\nfunction maps() {\n    var map;\n    var infowindow = new google.maps.InfoWindow();\n\n    // Init U.S. Map in the center of the viewport\n    var latlng = new google.maps.LatLng(37.09024, -95.712891);\n    var mapOptions = {\n        scrollwheel: false,\n        zoom: 4,\n        center: latlng\n    };\n\n    map = new google.maps.Map($('.map-canvas')[0], mapOptions);\n    var mapdiv = $('.map-canvas').attr('data-locations');\n\n    mapdiv = JSON.parse(mapdiv);\n\n    var bounds = new google.maps.LatLngBounds();\n\n    // Customized google map marker icon with svg format\n    var markerImg = {\n        path: 'M13.5,30.1460153 L16.8554555,25.5 L20.0024287,25.5 C23.039087,25.5 25.5,' +\n            '23.0388955 25.5,20.0024287 L25.5,5.99757128 C25.5,2.96091298 23.0388955,0.5 ' +\n            '20.0024287,0.5 L5.99757128,0.5 C2.96091298,0.5 0.5,2.96110446 0.5,5.99757128 ' +\n            'L0.5,20.0024287 C0.5,23.039087 2.96110446,25.5 5.99757128,25.5 L10.1445445,' +\n            '25.5 L13.5,30.1460153 Z',\n        fillColor: '#0070d2',\n        fillOpacity: 1,\n        scale: 1.1,\n        strokeColor: 'white',\n        strokeWeight: 1,\n        anchor: new google.maps.Point(13, 30),\n        labelOrigin: new google.maps.Point(12, 12)\n    };\n\n    Object.keys(mapdiv).forEach(function (key) {\n        var item = mapdiv[key];\n        var lable = parseInt(key, 10) + 1;\n        var storeLocation = new google.maps.LatLng(item.latitude, item.longitude);\n        var marker = new google.maps.Marker({\n            position: storeLocation,\n            map: map,\n            title: item.name,\n            icon: markerImg,\n            label: { text: lable.toString(), color: 'white', fontSize: '16px' }\n        });\n\n        marker.addListener('click', function () {\n            infowindow.setOptions({\n                content: item.infoWindowHtml\n            });\n            infowindow.open(map, marker);\n        });\n\n        // Create a minimum bound based on a set of storeLocations\n        bounds.extend(marker.position);\n    });\n    // Fit the all the store marks in the center of a minimum bounds when any store has been found.\n    if (mapdiv && mapdiv.length !== 0) {\n        map.fitBounds(bounds);\n    }\n}\n\n/**\n * Renders the results of the search and updates the map\n * @param {Object} data - Response from the server\n */\nfunction updateStoresResults(data) {\n    var $resultsDiv = $('.results');\n    var $mapDiv = $('.map-canvas');\n    var hasResults = data.stores.length > 0;\n\n    if (!hasResults) {\n        $('.store-locator-no-results').show();\n    } else {\n        $('.store-locator-no-results').hide();\n    }\n\n    $resultsDiv.empty()\n        .data('has-results', hasResults)\n        .data('radius', data.radius)\n        .data('search-key', data.searchKey);\n\n    $mapDiv.attr('data-locations', data.locations);\n\n    if ($mapDiv.data('has-google-api')) {\n        maps();\n    } else {\n        $('.store-locator-no-apiKey').show();\n    }\n\n    if (data.storesResultsHtml) {\n        $resultsDiv.append(data.storesResultsHtml);\n    }\n}\n\n/**\n * Search for stores with new zip code\n * @param {HTMLElement} element - the target html element\n * @returns {boolean} false to prevent default event\n */\nfunction search(element) {\n    var dialog = element.closest('.in-store-inventory-dialog');\n    var spinner = dialog.length ? dialog.spinner() : $.spinner();\n    spinner.start();\n    var $form = element.closest('.store-locator');\n    var radius = $('.results').data('radius');\n    var url = $form.attr('action');\n    var urlParams = { radius: radius };\n\n    var payload = $form.is('form') ? $form.serialize() : { postalCode: $form.find('[name=\"postalCode\"]').val() };\n\n    url = appendToUrl(url, urlParams);\n\n    $.ajax({\n        url: url,\n        type: $form.attr('method'),\n        data: payload,\n        dataType: 'json',\n        success: function (data) {\n            spinner.stop();\n            updateStoresResults(data);\n            $('.select-store').prop('disabled', true);\n        }\n    });\n    return false;\n}\n\nmodule.exports = {\n    init: function () {\n        if ($('.map-canvas').data('has-google-api')) {\n            maps();\n        } else {\n            $('.store-locator-no-apiKey').show();\n        }\n\n        if (!$('.results').data('has-results')) {\n            $('.store-locator-no-results').show();\n        }\n    },\n\n    detectLocation: function () {\n        // clicking on detect location.\n        $('.detect-location').on('click', function () {\n            $.spinner().start();\n            if (!navigator.geolocation) {\n                $.spinner().stop();\n                return;\n            }\n\n            navigator.geolocation.getCurrentPosition(function (position) {\n                var $detectLocationButton = $('.detect-location');\n                var url = $detectLocationButton.data('action');\n                var radius = $('.results').data('radius');\n                var urlParams = {\n                    radius: radius,\n                    lat: position.coords.latitude,\n                    long: position.coords.longitude\n                };\n\n                url = appendToUrl(url, urlParams);\n                $.ajax({\n                    url: url,\n                    type: 'get',\n                    dataType: 'json',\n                    success: function (data) {\n                        $.spinner().stop();\n                        updateStoresResults(data);\n                        $('.select-store').prop('disabled', true);\n                    }\n                });\n            });\n        });\n    },\n\n    search: function () {\n        $('.store-locator-container form.store-locator').submit(function (e) {\n            e.preventDefault();\n            search($(this));\n        });\n        $('.store-locator-container .btn-storelocator-search[type=\"button\"]').click(function (e) {\n            e.preventDefault();\n            search($(this));\n        });\n    },\n\n    changeRadius: function () {\n        $('.store-locator-container .radius').change(function () {\n            var radius = $(this).val();\n            var searchKeys = $('.results').data('search-key');\n            var url = $(this).data('action-url');\n            var urlParams = {};\n\n            if (searchKeys.postalCode) {\n                urlParams = {\n                    radius: radius,\n                    postalCode: searchKeys.postalCode\n                };\n            } else if (searchKeys.lat && searchKeys.long) {\n                urlParams = {\n                    radius: radius,\n                    lat: searchKeys.lat,\n                    long: searchKeys.long\n                };\n            }\n\n            url = appendToUrl(url, urlParams);\n            var dialog = $(this).closest('.in-store-inventory-dialog');\n            var spinner = dialog.length ? dialog.spinner() : $.spinner();\n            spinner.start();\n            $.ajax({\n                url: url,\n                type: 'get',\n                dataType: 'json',\n                success: function (data) {\n                    spinner.stop();\n                    updateStoresResults(data);\n                    $('.select-store').prop('disabled', true);\n                }\n            });\n        });\n    },\n    selectStore: function () {\n        $('.store-locator-container').on('click', '.select-store', (function (e) {\n            e.preventDefault();\n            var selectedStore = $(':checked', '.results-card .results');\n            var data = {\n                storeID: selectedStore.val(),\n                searchRadius: $('#radius').val(),\n                searchPostalCode: $('.results').data('search-key').postalCode,\n                storeDetailsHtml: selectedStore.siblings('label').find('.store-details').html(),\n                event: e\n            };\n\n            $('body').trigger('store:selected', data);\n        }));\n    },\n    updateSelectStoreButton: function () {\n        $('body').on('change', '.select-store-input', (function () {\n            $('.select-store').prop('disabled', false);\n        }));\n    }\n};\n","'use strict';\n\nmodule.exports = function (include) {\n    if (typeof include === 'function') {\n        include();\n    } else if (typeof include === 'object') {\n        Object.keys(include).forEach(function (key) {\n            if (typeof include[key] === 'function') {\n                include[key]();\n            }\n        });\n    }\n};\n"],"sourceRoot":""}