{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./Content/javascripts/base/local-storage.js","webpack:///./Content/javascripts/components/bdc-kovisibilitychange.js","webpack:///./Content/javascripts/base/globals.js","webpack:///./Content/javascripts/content/catalog/american-blinds/catalog.js","webpack:///./Content/javascripts/base/cookies-factory.js","webpack:///./Content/javascripts/components/bdc-scroll-to-section.js","webpack:///./Content/javascripts/base/global-config.js","webpack:///./Content/javascripts/base/page-context-javascript.js","webpack:///./Content/javascripts/react/estimateBuilder/components/EstimateBanner.js","webpack:///./Content/javascripts/components/right-rails-flyout-menu.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","16","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","define","$","store","LocalStorage","extend","getFromLocalStorage","defaultValue","persist","set","remove","ko","postal","originalVisible","bindingHandlers","visible","update","element","valueAccessor","ret","publish","channel","topic","globalConfig","pageContextJavascript","_","ssm","Cookies","scrollToSection","ReactDOM","estimateBanner","React","polyfill","EstimateBanner","default","estimateBannerRoot","getElementById","render","location","localStorage","getItem","ObservableState","id","query","self","this","observableIsActive","observable","onEnter","onLeave","addState","globals","alert","breakpoint","dictionaryEntryForTerm","setBodyOverlay","bodyOverlay","addClass","removeClass","refreshValue","getComputedStyle","querySelector","getPropertyValue","replace","addEventListener","userAgent","navigator","isIE","indexOf","isIE10","atob","isIE9","require","isIOS","test","MSStream","ajaxSetup","beforeSend","settings","blindsCookie","C","cookies","cookie","split","readCookie","cacheCheck","filter","url","toLowerCase","setRequestHeader","xhr","textStatus","errorThrown","status","newDoc","open","write","responseText","close","siteId","on","preventDefault","stopImmediatePropagation","output","prismicApi","ajax","then","val","ref","refs","surefitObj","results","body","items","article","forEach","obj","index","text","surefitContent","page_h1","hero_h2_subtitle","colorbox","html","transition","width","maxWidth","maxHeight","myName","css","overflow","documentElement","style","match","msViewportStyle","createTextNode","getElementsByTagName","persistHeightWidth","widthWhole","widthEigth","heightWhole","heightEigth","parseFloat","height","minWidth","widthStorage","LocalStoragePersister","minDimension","maxDimension","serializableValue","getDimensionsEighths","heightStorage","updateQueryString","href","hash","re","RegExp","separator","filterUrl","find","attr","ajaxUrl","substring","History","pushState","state","siteName","sortUrl","sorts","search","Adapter","getState","show","hide","scrollTop","replaceWith","states","active","ev","$elem","hasClass","getUsername","substr","addAjaxCacheHeader","isInternalUser","checkInternal","callback","dateAsOf","cartOnBehalfOf","userName","userNameWithoutDomainPrefix","username","last","cssSelector","$container","offset","scrollOffset","headerHeight","outerHeight","position","top","animate","pathname","JSON","parse","action","estimateName","editText","className","propTypes","PropTypes","shape","isRequired","string","defaultProps","cookiesFactory"],"mappings":"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","file":"catalog_ab-b78ba52823f3c39e284b.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t16: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + ({}[chunkId]||chunkId) + \"-\" + \"b78ba52823f3c39e284b\" + \".js\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\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 = \"/content/build/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([2072,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","define([\r\n \"jquery\", \"store\"],\r\nfunction ($, store) {\r\n var LocalStorage = function () { };\r\n\r\n $.extend(LocalStorage.prototype, {\r\n\r\n getFromLocalStorage: function (key, defaultValue) {\r\n var value = store.get(key)\r\n if (value) {\r\n return value;\r\n }\r\n return defaultValue;\r\n },\r\n\r\n persist: function (key, value) {\r\n store.set(key, value);\r\n },\r\n\r\n remove: function(key) {\r\n store.remove(key);\r\n }\r\n\r\n });\r\n\r\n return LocalStorage;\r\n\r\n});\r\n","define([\"knockout\", \"postal\"], function (ko, postal) {\r\n //Changing other elements visibility in the page can mean our sticky isn't placed correctly anymore\r\n //For example-- a div in the container of the container of our sticky might show, causing the container of the container to grow\r\n //I've monkey-patched the ko visibility binding so it will publish a message telling our sticky to recalculate its position\r\n var originalVisible = ko.bindingHandlers.visible.update;\r\n ko.bindingHandlers.visible.update = function(element, valueAccessor) {\r\n var ret = originalVisible( element, valueAccessor );\r\n postal.publish({\r\n channel: \"DOM\",\r\n topic: \"visibilityChange\"\r\n });\r\n return ret;\r\n };\r\n});\r\n\r\n","define([\r\n \"global-config\",\r\n \"page-context-javascript\",\r\n \"underscore\",\r\n \"knockout\",\r\n \"jquery\",\r\n \"postal\",\r\n \"ssm\",\r\n \"es6-promise\",\r\n \"js-cookie\",\r\n \"scroll-to-section\",\r\n \"react-dom\",\r\n \"../react/estimateBuilder/components/EstimateBanner\",\r\n \"react\",\r\n \"right-rails-fly-out-menu\",\r\n \"colorbox\",\r\n \"sticky-kit\",\r\n \"slick\",\r\n \"unveil\",\r\n \"jquery-validate\"\r\n], function(\r\n globalConfig,\r\n pageContextJavascript,\r\n _,\r\n ko,\r\n $,\r\n postal,\r\n ssm,\r\n promise,\r\n Cookies,\r\n scrollToSection,\r\n ReactDOM,\r\n estimateBanner,\r\n React\r\n) {\r\n \"use strict\";\r\n promise.polyfill();\r\n const EstimateBanner = estimateBanner.default;\r\n\r\n const estimateBannerRoot = document.getElementById(\"estimate-banner-root\");\r\n\r\n if (estimateBannerRoot) {\r\n ReactDOM.render(\r\n ,\r\n estimateBannerRoot\r\n );\r\n }\r\n\r\n // Configures SimpleStateManager States\r\n (function(ssm) {\r\n var ObservableState = function(id, query) {\r\n var self = this;\r\n self.id = id;\r\n self.query = query;\r\n self.observableIsActive = ko.observable(false);\r\n self.onEnter = function() {\r\n self.observableIsActive(true);\r\n };\r\n self.onLeave = function() {\r\n self.observableIsActive(false);\r\n };\r\n };\r\n\r\n ssm.addState(new ObservableState(\"mobile\", \"(max-width: 767px)\"));\r\n ssm.addState(new ObservableState(\"tablet\", \"(min-device-width: 768px)\"));\r\n ssm.addState(new ObservableState(\"desktop\", \"(min-device-width: 1024px)\"));\r\n ssm.addState(\r\n new ObservableState(\r\n \"tablet-only\",\r\n \"(min-device-width: 768px) and (max-device-width: 1024px)\"\r\n )\r\n );\r\n })(ssm);\r\n\r\n var globals = {\r\n alert: function() {\r\n return window ? window.alert : {};\r\n },\r\n breakpoint: {},\r\n ssm: ssm,\r\n dictionaryEntryForTerm:\r\n \"/DictionaryManagement/Definition/DictionaryEntryForTerm\",\r\n setBodyOverlay: function(bodyOverlay) {\r\n if (bodyOverlay) {\r\n $(\"body\").addClass(\"bdc-remove-body-scrolling\");\r\n } else {\r\n $(\"body\").removeClass(\"bdc-remove-body-scrolling\");\r\n }\r\n }\r\n };\r\n\r\n _.extend(globals, window.globalConfig);\r\n _.extend(globals, pageContextJavascript);\r\n\r\n globals.breakpoint.refreshValue = function() {\r\n this.value = window\r\n .getComputedStyle(document.querySelector(\"body\"), \":before\")\r\n .getPropertyValue(\"content\")\r\n .replace(/\\\"/g, \"\");\r\n };\r\n globals.breakpoint.refreshValue();\r\n\r\n window.addEventListener(\"resize\", function(e) {\r\n globals.breakpoint.refreshValue();\r\n });\r\n\r\n window.addEventListener(\"orientationchange\", function() {\r\n globals.breakpoint.refreshValue();\r\n });\r\n\r\n // Browser specific JavaScript\r\n var userAgent = window.navigator.userAgent;\r\n var isIE =\r\n userAgent &&\r\n (userAgent.indexOf(\"MSIE \") > 0 || userAgent.indexOf(\"Trident/\") > 0);\r\n var isIE10 = document.all && window.atob;\r\n var isIE9 = document.all && document.addEventListener && !window.atob;\r\n if (isIE) {\r\n $(\"html\").addClass(\"ie\");\r\n if (isIE9) {\r\n require([\"ie9-only\"]);\r\n } else if (isIE10) {\r\n $(\"html\").addClass(\"ie10\");\r\n require([\"ie10-only\"]);\r\n }\r\n }\r\n globals.isIOS =\r\n /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\r\n globals.isIE9 = isIE9;\r\n\r\n //exposed globally for infopages\r\n window.globals = globals;\r\n window.Cookies = Cookies;\r\n window.scrollToSection = scrollToSection;\r\n //503 means we are under construction\r\n var readCookie = function(name, c, C, i) {\r\n c = document.cookie.split(\"; \");\r\n var cookies = {};\r\n for (i = c.length - 1; i >= 0; i--) {\r\n C = c[i].split(\"=\");\r\n cookies[C[0]] = C[1];\r\n }\r\n return cookies[name];\r\n };\r\n $.ajaxSetup({\r\n beforeSend: function(request, settings) {\r\n var blindsCookie = readCookie(\"internalUser\");\r\n //Look to see if the request is mentioned in the _cacheCheck list on the page\r\n if (globals.cacheCheck !== undefined) {\r\n var hasCheck = _.filter(globals.cacheCheck, function(url) {\r\n return settings.url.toLowerCase().indexOf(url.toLowerCase()) !== -1;\r\n });\r\n //If so, we send a request header for akamai to say it should not cache this response\r\n if (hasCheck.length > 0) {\r\n if (blindsCookie !== undefined) {\r\n request.setRequestHeader(\"x-blinds-internal\", \"true\");\r\n }\r\n }\r\n }\r\n },\r\n error: function(xhr, textStatus, errorThrown) {\r\n if (xhr.status === 503) {\r\n var newDoc = document.open(\"text/html\", \"replace\");\r\n newDoc.write(xhr.responseText);\r\n newDoc.close();\r\n }\r\n }\r\n });\r\n\r\n $(function() {\r\n if (globals.siteId === 3) {\r\n $(document).on('click', 'a[href*=\"/surefit\"]', function(event) {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n let output = '';\r\n const {\r\n globalConfig: { prismicApi },\r\n } = window;\r\n $.ajax({ url: prismicApi }).then(function(val) {\r\n var ref = val.refs[0].ref;\r\n $.ajax({\r\n url: `${prismicApi}/documents/search?ref=${ref}&q=[[at(my.contentpage.uid, \"surefit-guarantee-to-fit\")]]`\r\n }).then(function(surefitObj) {\r\n surefitObj.results[0].data.body[0].items[0].article.forEach(function (obj, index) {\r\n if (obj.type === 'paragraph') {\r\n output += `

${obj.text}

`;\r\n } else if (obj.type === 'list-item') {\r\n if (surefitObj.results[0].data.body[0].items[0].article[index - 1].type !== 'list-item') {\r\n output += '';\r\n }\r\n }\r\n });\r\n var surefitContent = ' \\\r\n
\\\r\n
\\\r\n
\\\r\n

' + surefitObj.results[0].data.page_h1[0].text + '

\\\r\n
\\\r\n
\\\r\n

' + surefitObj.results[0].data.hero_h2_subtitle[0].text + '

\\\r\n ' + output + ' \\\r\n
\\\r\n
';\r\n $.colorbox({\r\n html: surefitContent,\r\n transition: \"none\",\r\n width: '600px',\r\n maxWidth: '95%',\r\n maxHeight: '95%',\r\n });\r\n });\r\n });\r\n });\r\n }\r\n });\r\n\r\n // Prevents scrolling of page when any modal (colorbox) is open\r\n $(document)\r\n .on(\"cbox_open\", function(event, myName) {\r\n $(\"body\").css({\r\n overflow: \"hidden\"\r\n });\r\n })\r\n .on(\"cbox_closed\", function(event, myName) {\r\n $(\"body\").css({\r\n overflow: \"\"\r\n });\r\n });\r\n\r\n (function() {\r\n if (\r\n \"-ms-user-select\" in document.documentElement.style &&\r\n navigator.userAgent.match(/iemobile/i) === true\r\n ) {\r\n var msViewportStyle = document.createElement(\"style\");\r\n msViewportStyle.appendChild(\r\n document.createTextNode(\"@-ms-viewport{width:auto!important}\")\r\n );\r\n document.getElementsByTagName(\"head\")[0].appendChild(msViewportStyle);\r\n }\r\n })();\r\n return globals;\r\n});\r\n","define([\r\n \"globals\",\r\n \"jquery\",\r\n \"local-storage\",\r\n \"js-cookie\",\r\n \"jquery-history\"],\r\nfunction(globals, $, LocalStorage, Cookies) {\r\n\r\n \"use strict\";\r\n\r\n $(function() {\r\n\r\n /* Private Variables and Methods */\r\n var localStorage = new LocalStorage();\r\n\r\n var persistHeightWidth = function() {\r\n\r\n var widthWhole = $(\"#SelectedWidth\").val();\r\n var widthEigth = $(\"#SelectedWidthEigth\").val();\r\n var heightWhole = $(\"#SelectedHeight\").val();\r\n var heightEigth = $(\"#SelectedHeightEigth\").val();\r\n\r\n if (widthEigth == undefined) {\r\n widthEigth = 0;\r\n }\r\n if (heightEigth == undefined) {\r\n heightEigth = 0;\r\n }\r\n\r\n var width = parseFloat(widthWhole) + parseFloat(widthEigth / 8);\r\n var height = parseFloat(heightWhole) + parseFloat(heightEigth / 8);\r\n\r\n var minWidth = $(\"#SelectedWidth option:first\").val();\r\n var maxWidth = $(\"#SelectedWidth option:last\").val();\r\n\r\n var minHeight = $(\"#SelectedHeight option:first\").val();\r\n var maxHeight = $(\"#SelectedHeight option:last\").val();\r\n\r\n var widthStorage = {\r\n LocalStoragePersister: {},\r\n minDimension: minWidth,\r\n maxDimension: maxWidth,\r\n serializableValue: width,\r\n getDimensionsEighths: [{ name: \"0/0\", value: 0 }, { name: \"1/8\", value: 1 }, { name: \"1/4\", value: 2 }, { name: \"3/8\", value: 3 }, { name: \"1/2\", value: 4 }, { name: \"5/8\", value: 5 }, { name: \"3/4\", value: 6 }, { name: \"7/8\", value: 7 }]\r\n };\r\n var heightStorage = {\r\n LocalStoragePersister: {},\r\n minDimension: minWidth,\r\n maxDimension: maxWidth,\r\n serializableValue: height,\r\n getDimensionsEighths: [{ name: \"0/0\", value: 0 }, { name: \"1/8\", value: 1 }, { name: \"1/4\", value: 2 }, { name: \"3/8\", value: 3 }, { name: \"1/2\", value: 4 }, { name: \"5/8\", value: 5 }, { name: \"3/4\", value: 6 }, { name: \"7/8\", value: 7 }]\r\n };\r\n localStorage.persist(\"SELECTED_WIDTH_STORAGE_KEY\", widthStorage);\r\n localStorage.persist(\"SELECTED_HEIGHT_STORAGE_KEY\", heightStorage);\r\n\r\n Cookies.set(\"widthz\", width);\r\n Cookies.set(\"hghtz\", height);\r\n };\r\n\r\n var updateQueryString = function(key, value, url) {\r\n if (!url) url = window.location.href;\r\n var re = new RegExp(\"([?&])\" + key + \"=.*?(&|#|$)(.*)\", \"gi\"),\r\n hash;\r\n\r\n if (re.test(url)) {\r\n if (typeof value !== \"undefined\" && value !== null)\r\n return url.replace(re, \"$1\" + key + \"=\" + value + \"$2$3\");\r\n else {\r\n hash = url.split(\"#\");\r\n url = hash[0].replace(re, \"$1$3\").replace(/(&|\\?)$/, \"\");\r\n if (typeof hash[1] !== \"undefined\" && hash[1] !== null)\r\n url += \"#\" + hash[1];\r\n return url;\r\n }\r\n } else {\r\n if (typeof value !== \"undefined\" && value !== null) {\r\n var separator = url.indexOf(\"?\") !== -1 ? \"&\" : \"?\";\r\n hash = url.split(\"#\");\r\n url = hash[0] + separator + key + \"=\" + value;\r\n if (typeof hash[1] !== \"undefined\" && hash[1] !== null)\r\n url += \"#\" + hash[1];\r\n return url;\r\n } else\r\n return url;\r\n }\r\n };\r\n\r\n /* Event Handlers */\r\n $(\"body\").on(\"click\", \".bdc-searchfilter-choices-list li\", function(event) {\r\n var filterUrl = $(this).find(\"label > span\").attr(\"data-filter\");\r\n var ajaxUrl = globals.ajaxUrl + filterUrl.substring(filterUrl.indexOf(\"?\"));\r\n $(\"#gcc-ab-search-results-loader\").removeClass('dn');\r\n $(\".gcc-loading\").addClass('db');\r\n History.pushState({ state: ajaxUrl }, \"Blinds Search - \" + globals.siteName + \" has the products you're looking for!\", filterUrl);\r\n return false;\r\n });\r\n\r\n $('body').on('click', '.gcc-srch-sort span', function() {\r\n const sortUrl = $(this).attr('data-filter');\r\n const ajaxUrl = `${globals.ajaxUrl}${sortUrl.substring(sortUrl.indexOf('?'))}`;\r\n $(\"#gcc-ab-search-results-loader\").removeClass('dn');\r\n $(\".gcc-loading\").addClass('db');\r\n History.pushState({ state: ajaxUrl }, `Blinds Search - ${globals.siteName} has the products you're looking for!`, sortUrl);\r\n return false;\r\n });\r\n\r\n $(\"body\").on(\"change\", \"#SelectedWidth, #SelectedWidthEigth, #SelectedHeight, #SelectedHeightEigth\", function(event) {\r\n var widthWhole = $(\"#SelectedWidth\").val();\r\n var widthEigth = $(\"#SelectedWidthEigth\").val();\r\n var heightWhole = $(\"#SelectedHeight\").val();\r\n var heightEigth = $(\"#SelectedHeightEigth\").val();\r\n if (widthEigth == undefined) {\r\n widthEigth = 0;\r\n }\r\n if (heightEigth == undefined) {\r\n heightEigth = 0;\r\n }\r\n var width = parseFloat(widthWhole) + parseFloat(widthEigth / 8 );\r\n var height = parseFloat(heightWhole) + parseFloat(heightEigth / 8);\r\n var url = window.location.href;\r\n url = updateQueryString(\"height\", height, url);\r\n url = updateQueryString(\"width\", width, url);\r\n var ajaxUrl = globals.ajaxUrl + url.substring(url.indexOf(\"?\"));\r\n $(\"#gcc-ab-search-results-loader\").removeClass('dn');\r\n $(\".gcc-loading\").addClass('db');\r\n History.pushState({ state: ajaxUrl }, \"Blinds Search - \" + globals.siteName + \" has the products you're looking for!\", url);\r\n persistHeightWidth();\r\n });\r\n\r\n $(\"body\").on(\"click\", \"#see-more-products-btn\", function(event) {\r\n var url = $(this).attr(\"href\");\r\n var ajaxUrl = globals.ajaxUrl + url.substring(url.indexOf(\"?\"));\r\n $(\"#gcc-ab-search-results-loader\").removeClass('dn');\r\n $(\".gcc-loading\").addClass('db');\r\n History.pushState({ state: ajaxUrl }, \"Blinds Search - \" + globals.siteName + \" has the products you're looking for!\", url);\r\n return false;\r\n });\r\n\r\n $(\"body\").on(\"click\", \".bdc-productsearch-results-filter\", function(event) {\r\n $(\".bdc-searchfilter\").addClass(\"bdc-searchfilter-show\");\r\n });\r\n\r\n $(\"body\").on(\"click\", \"#bdc-searchfilter-done\", function(event) {\r\n $(\".bdc-searchfilter\").removeClass(\"bdc-searchfilter-show\");\r\n return false;\r\n });\r\n\r\n $(\"body\").on(\"change\", \"#bdc-productsearch-results-sort-items\", function(event) {\r\n var url = window.location.href;\r\n var sorts = $(this).val();\r\n var ajaxUrl = globals.ajaxUrl + window.location.search;\r\n url = updateQueryString(\"sorts\", sorts, url);\r\n ajaxUrl = updateQueryString(\"sorts\", sorts, ajaxUrl);\r\n History.pushState({ state: ajaxUrl }, \"Blinds Search - \" + globals.siteName + \" has the products you're looking for!\", url);\r\n });\r\n\r\n History.Adapter.bind(window, \"statechange\", function() {\r\n var state = History.getState().data.state || globals.ajaxUrl;\r\n $(\".mt-spinner-wrapper\").show();\r\n $(\".bdc-productsearch-results-list\").hide();\r\n $.get(state, {}, function(data) {\r\n var t = $(\"body\").scrollTop();\r\n $(\".main-content\").replaceWith(data);\r\n $(\"body\").scrollTop(t);\r\n $(\".mt-spinner-wrapper\").hide();\r\n });\r\n });\r\n\r\n var isMobile = globals.ssm.states[0].active;\r\n if (isMobile) {\r\n var ev = globals.isIOS ? \"touchstart\" : \"click\";\r\n $(\"body\").on(ev, function(event) {\r\n var $elem = $(event.target);\r\n // Filter Results\r\n if ($elem.hasClass(\"gcc-mblsrch-filter\") || $elem.hasClass(\"mt-font-filter\")) {\r\n $( \"#bdc-search-filter\" ).addClass( \"bdc-searchfilter-show\" );\r\n }\r\n });\r\n }\r\n\r\n /* Initialization */\r\n persistHeightWidth();\r\n\r\n });\r\n});\r\n","(function (root, factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD\r\n define(['underscore'], factory);\r\n } else if (typeof exports === 'object') {\r\n // Node, CommonJS-like\r\n module.exports = factory(require('underscore'));\r\n } else {\r\n // Browser globals (root is window)\r\n root.returnExports = factory(root._);\r\n }\r\n}(this, function (_) {\r\n // methods\r\n var readCookie = function(name, c, C, i) {\r\n c = document.cookie.split(\"; \");\r\n var cookies = {};\r\n for (i = c.length - 1; i >= 0; i--) {\r\n C = c[i].split(\"=\");\r\n cookies[C[0]] = C[1];\r\n }\r\n return cookies[name];\r\n };\r\n\r\n var getCartOnBehalfOf = function() {\r\n var blindsCookie = readCookie(\"CartOnBehalfOf\");\r\n return blindsCookie;\r\n }\r\n\r\n var getDateAsOf = function() {\r\n var blindsCookie = readCookie(\"dateAsOf\");\r\n if (blindsCookie === undefined) {\r\n return undefined;\r\n }\r\n //TODO: remove this entire feature!!!\r\n //var fullDateTime = blindsCookie.substr(0, blindsCookie.indexOf(\"|\"));\r\n // HACK - Spit away the time from the view\r\n return undefined;\r\n };\r\n\r\n var getUsername = function() {\r\n var blindsCookie = readCookie(\"internalUser\");\r\n if (blindsCookie === undefined) {\r\n return undefined;\r\n }\r\n return blindsCookie.substr(0, blindsCookie.indexOf(\":\"));\r\n };\r\n\r\n return {\r\n\r\n addAjaxCacheHeader: function(xhr, settings) {\r\n return addAjaxCacheHeader(xhr, settings);\r\n },\r\n\r\n isInternalUser: function() {\r\n return getUsername() !== undefined;\r\n },\r\n checkInternal: function(callback) {\r\n var name = getUsername();\r\n if (name === undefined) {\r\n callback(false);\r\n return;\r\n }\r\n callback(true);\r\n },\r\n\r\n dateAsOf: function() {\r\n return getDateAsOf();\r\n },\r\n\r\n cartOnBehalfOf: function() {\r\n return getCartOnBehalfOf();\r\n },\r\n\r\n userName: function() {\r\n return getUsername();\r\n },\r\n\r\n userNameWithoutDomainPrefix: function () {\r\n var username = getUsername();\r\n if ( username && username.indexOf( '\\\\' ) > -1 ) {\r\n username = _.last( username.split( '\\\\' ) );\r\n }\r\n return username;\r\n }\r\n };\r\n}));\r\n","define([\r\n 'jquery'],\r\nfunction ($) {\r\n var scrollToSection = function (cssSelector, callback) {\r\n let $container, scrollTop;\r\n const globals = window.globals;\r\n let offset = globals.scrollOffset || 0;\r\n if ($('#gcc-site-container').length > 0) {\r\n let headerHeight = 0;\r\n $container = $('#gcc-site-container');\r\n if (globals.breakpoint.value === 'small' || globals.breakpoint.value === 'medium') {\r\n headerHeight = ($('#gcc-header').outerHeight() + $('#gcc-header-search').outerHeight() + $('#gcc-header-banner').outerHeight());\r\n } else {\r\n headerHeight = ($('#gcc-header').outerHeight() + $('#gcc-header-banner').outerHeight());\r\n }\r\n scrollTop = $(cssSelector).position().top + offset + headerHeight;\r\n } else {\r\n $container = $('html, body');\r\n scrollTop = $(cssSelector).offset().top + offset;\r\n }\r\n $container.animate({\r\n scrollTop: scrollTop\r\n }, 1000, function() {\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n return scrollToSection;\r\n});\r\n","define(function () {\r\n return {};\r\n});\r\n","define( function () {\r\n return window.pageContextJavascript;\r\n} );\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst EstimateBanner = ({ location, data }) => {\r\n if (!location || !data) return null;\r\n if (location.pathname.toLowerCase().indexOf('estimatebuilder') !== -1) return null;\r\n\r\n const { action, estimateName } = JSON.parse(data);\r\n const editText = action === 'edit' ? 'editing' : 'adding to';\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {editText}\r\n \r\n {estimateName}\r\n \r\n You're currently {editText} {estimateName}. Click here to return to your estimate.\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nEstimateBanner.propTypes = {\r\n location: PropTypes.shape({}).isRequired,\r\n data: PropTypes.string,\r\n};\r\n\r\nEstimateBanner.defaultProps = {\r\n data: undefined,\r\n};\r\n\r\nexport default EstimateBanner;\r\n","define( [\r\n \"jquery\",\r\n \"cookies-factory\"],\r\n function ( $,cookiesFactory ) {\r\n \r\n if ( cookiesFactory.isInternalUser() ) {\r\n // hide the right rails layout menu \r\n $( \".bdc-rrf\" ).hide();\r\n $( \".slider-icons\" ).hide();\r\n }\r\n\r\n } );"],"sourceRoot":""}