{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./Content/javascripts/components/bdc-kovisibilitychange.js","webpack:///./Content/javascripts/base/globals.js","webpack:///./Content/javascripts/modules/header/header.js","webpack:///./node_modules/current-device/es/index.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","20","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","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","extend","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","sanitizedParameter","sessionStorage","isPlaUrl","href","isPlaParamiter","RegExp","exec","search","decodeURIComponent","setItem","detail","isLoggedIn","removeItem","CustomEvent","params","bubbles","cancelable","evt","createEvent","initCustomEvent","Event","_typeof","iterator","constructor","previousDevice","device","changeOrientationList","television","find","needle","hasClass","className","currentClassNames","handleOrientation","landscape","walkOnChangeOrientationList","setOrientationCache","newOrientation","macos","ios","iphone","ipod","ipad","windows","android","androidPhone","androidTablet","blackberry","blackberryPhone","blackberryTablet","windowsPhone","windowsTablet","fxos","fxosPhone","fxosTablet","meego","cordova","protocol","nodeWebkit","process","mobile","tablet","desktop","portrait","screen","orientation","includes","innerHeight","innerWidth","noConflict","onChangeOrientation","cb","orientationEvent","findMatch","arr","attachEvent","os","getUsername","substr","addAjaxCacheHeader","isInternalUser","checkInternal","callback","dateAsOf","cartOnBehalfOf","userName","userNameWithoutDomainPrefix","username","last","cssSelector","$container","scrollTop","offset","scrollOffset","headerHeight","outerHeight","position","top","animate","pathname","JSON","parse","action","estimateName","editText","propTypes","PropTypes","shape","isRequired","string","defaultProps","cookiesFactory","hide"],"mappings":"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","file":"commons-15fc7f1afadcf010054b.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\t20: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + ({\"5\":\"vendors~enews~productPreview\",\"24\":\"enews\",\"35\":\"footer\",\"36\":\"footer_ab\",\"37\":\"footer_bca\",\"38\":\"footer_jb\",\"48\":\"modals\",\"56\":\"paypal\",\"68\":\"searchBar\"}[chunkId]||chunkId) + \"-\" + \"15fc7f1afadcf010054b\" + \".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([2155,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\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","// Moving this up and out of the function sinc this is needed for down stream code\r\n// The function is not always run and that would break other integrations\r\nconst isPlaAlreadyInStorage = window.sessionStorage.getItem('pla');\r\n\r\nif (!isPlaAlreadyInStorage) {\r\n\r\n function getUrlParameter(parameter) {\r\n const sanitizedParameter = parameter\r\n .replace(/[\\[]/, '\\\\[') // eslint-disable-line\r\n .replace(/[\\]]/, '\\\\]'); // eslint-disable-line\r\n const regex = new RegExp(`[\\\\?&]${sanitizedParameter}=([^&#]*)`);\r\n const results = regex.exec(window.location.search);\r\n\r\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\r\n }\r\n \r\n const isPlaUrl = window.location.href.indexOf('/pla/') > -1;\r\n // NOTE: utm_medium comes from google as a custom parameter\r\n const isPlaParamiter = getUrlParameter('utm_medium') === 'pla';\r\n if (isPlaUrl || isPlaParamiter) window.sessionStorage.setItem('pla', 'true');\r\n}\r\n\r\ndefine([\r\n \"jquery\",\r\n \"globals\",\r\n \"lodash\",\r\n \"modernizr\"],\r\n function ($, globals, _) {\r\n\r\n\r\n \"use strict\";\r\n\r\n const device = require('current-device').default;\r\n\r\n document.addEventListener('loginStatusChange',\r\n (e) => {\r\n if (e.detail.isLoggedIn) {\r\n sessionStorage.setItem('isLoggedIn', true);\r\n $(\"#gcc-header-topnav-myaccount\").css('display', 'block');\r\n $(\"#gcc-header-topnav-myaccount-sign-in\").css('display', 'none');\r\n } else {\r\n sessionStorage.removeItem('isLoggedIn');\r\n $(\"#gcc-header-topnav-myaccount-sign-in\").css('display', 'block');\r\n $(\"#gcc-header-topnav-myaccount\").css('display', 'none');\r\n }\r\n });\r\n\r\n (function () {\r\n if (typeof window.CustomEvent === \"function\") return false; //If not IE\r\n\r\n function CustomEvent(event, params) {\r\n params = params || { bubbles: false, cancelable: false, detail: undefined };\r\n var evt = document.createEvent('CustomEvent');\r\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\r\n return evt;\r\n }\r\n\r\n CustomEvent.prototype = window.Event.prototype;\r\n\r\n window.CustomEvent = CustomEvent;\r\n })();\r\n\r\n if (globals.siteId === 1) {\r\n require([\"header-ab\"]);\r\n }\r\n else if (globals.siteId === 2) {\r\n require([\"header-bca\"]);\r\n }\r\n else if (globals.siteId === 3) {\r\n require([\"header-bdc\"]);\r\n }\r\n else if (globals.siteId === 5) {\r\n require([\"header-jb\"]);\r\n }\r\n else if (globals.siteId === 11) {\r\n require([\"header-thd\"]);\r\n }\r\n });\r\n","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n// Save the previous value of the device variable.\nvar previousDevice = window.device;\n\nvar device = {};\n\nvar changeOrientationList = [];\n\n// Add device as a global object.\nwindow.device = device;\n\n// The element.\nvar documentElement = window.document.documentElement;\n\n// The client user agent string.\n// Lowercase, so we can use the more efficient indexOf(), instead of Regex\nvar userAgent = window.navigator.userAgent.toLowerCase();\n\n// Detectable television devices.\nvar television = ['googletv', 'viera', 'smarttv', 'internet.tv', 'netcast', 'nettv', 'appletv', 'boxee', 'kylo', 'roku', 'dlnadoc', 'roku', 'pov_tv', 'hbbtv', 'ce-html'];\n\n// Main functions\n// --------------\n\ndevice.macos = function () {\n return find('mac');\n};\n\ndevice.ios = function () {\n return device.iphone() || device.ipod() || device.ipad();\n};\n\ndevice.iphone = function () {\n return !device.windows() && find('iphone');\n};\n\ndevice.ipod = function () {\n return find('ipod');\n};\n\ndevice.ipad = function () {\n return find('ipad');\n};\n\ndevice.android = function () {\n return !device.windows() && find('android');\n};\n\ndevice.androidPhone = function () {\n return device.android() && find('mobile');\n};\n\ndevice.androidTablet = function () {\n return device.android() && !find('mobile');\n};\n\ndevice.blackberry = function () {\n return find('blackberry') || find('bb10') || find('rim');\n};\n\ndevice.blackberryPhone = function () {\n return device.blackberry() && !find('tablet');\n};\n\ndevice.blackberryTablet = function () {\n return device.blackberry() && find('tablet');\n};\n\ndevice.windows = function () {\n return find('windows');\n};\n\ndevice.windowsPhone = function () {\n return device.windows() && find('phone');\n};\n\ndevice.windowsTablet = function () {\n return device.windows() && find('touch') && !device.windowsPhone();\n};\n\ndevice.fxos = function () {\n return (find('(mobile') || find('(tablet')) && find(' rv:');\n};\n\ndevice.fxosPhone = function () {\n return device.fxos() && find('mobile');\n};\n\ndevice.fxosTablet = function () {\n return device.fxos() && find('tablet');\n};\n\ndevice.meego = function () {\n return find('meego');\n};\n\ndevice.cordova = function () {\n return window.cordova && location.protocol === 'file:';\n};\n\ndevice.nodeWebkit = function () {\n return _typeof(window.process) === 'object';\n};\n\ndevice.mobile = function () {\n return device.androidPhone() || device.iphone() || device.ipod() || device.windowsPhone() || device.blackberryPhone() || device.fxosPhone() || device.meego();\n};\n\ndevice.tablet = function () {\n return device.ipad() || device.androidTablet() || device.blackberryTablet() || device.windowsTablet() || device.fxosTablet();\n};\n\ndevice.desktop = function () {\n return !device.tablet() && !device.mobile();\n};\n\ndevice.television = function () {\n var i = 0;\n while (i < television.length) {\n if (find(television[i])) {\n return true;\n }\n i++;\n }\n return false;\n};\n\ndevice.portrait = function () {\n if (screen.orientation && Object.prototype.hasOwnProperty.call(window, 'onorientationchange')) {\n return screen.orientation.type.includes('portrait');\n }\n return window.innerHeight / window.innerWidth > 1;\n};\n\ndevice.landscape = function () {\n if (screen.orientation && Object.prototype.hasOwnProperty.call(window, 'onorientationchange')) {\n return screen.orientation.type.includes('landscape');\n }\n return window.innerHeight / window.innerWidth < 1;\n};\n\n// Public Utility Functions\n// ------------------------\n\n// Run device.js in noConflict mode,\n// returning the device variable to its previous owner.\ndevice.noConflict = function () {\n window.device = previousDevice;\n return this;\n};\n\n// Private Utility Functions\n// -------------------------\n\n// Simple UA string search\nfunction find(needle) {\n return userAgent.indexOf(needle) !== -1;\n}\n\n// Check if documentElement already has a given class.\nfunction hasClass(className) {\n return documentElement.className.match(new RegExp(className, 'i'));\n}\n\n// Add one or more CSS classes to the element.\nfunction addClass(className) {\n var currentClassNames = null;\n if (!hasClass(className)) {\n currentClassNames = documentElement.className.replace(/^\\s+|\\s+$/g, '');\n documentElement.className = currentClassNames + ' ' + className;\n }\n}\n\n// Remove single CSS class from the element.\nfunction removeClass(className) {\n if (hasClass(className)) {\n documentElement.className = documentElement.className.replace(' ' + className, '');\n }\n}\n\n// HTML Element Handling\n// ---------------------\n\n// Insert the appropriate CSS class based on the _user_agent.\n\nif (device.ios()) {\n if (device.ipad()) {\n addClass('ios ipad tablet');\n } else if (device.iphone()) {\n addClass('ios iphone mobile');\n } else if (device.ipod()) {\n addClass('ios ipod mobile');\n }\n} else if (device.macos()) {\n addClass('macos desktop');\n} else if (device.android()) {\n if (device.androidTablet()) {\n addClass('android tablet');\n } else {\n addClass('android mobile');\n }\n} else if (device.blackberry()) {\n if (device.blackberryTablet()) {\n addClass('blackberry tablet');\n } else {\n addClass('blackberry mobile');\n }\n} else if (device.windows()) {\n if (device.windowsTablet()) {\n addClass('windows tablet');\n } else if (device.windowsPhone()) {\n addClass('windows mobile');\n } else {\n addClass('windows desktop');\n }\n} else if (device.fxos()) {\n if (device.fxosTablet()) {\n addClass('fxos tablet');\n } else {\n addClass('fxos mobile');\n }\n} else if (device.meego()) {\n addClass('meego mobile');\n} else if (device.nodeWebkit()) {\n addClass('node-webkit');\n} else if (device.television()) {\n addClass('television');\n} else if (device.desktop()) {\n addClass('desktop');\n}\n\nif (device.cordova()) {\n addClass('cordova');\n}\n\n// Orientation Handling\n// --------------------\n\n// Handle device orientation changes.\nfunction handleOrientation() {\n if (device.landscape()) {\n removeClass('portrait');\n addClass('landscape');\n walkOnChangeOrientationList('landscape');\n } else {\n removeClass('landscape');\n addClass('portrait');\n walkOnChangeOrientationList('portrait');\n }\n setOrientationCache();\n}\n\nfunction walkOnChangeOrientationList(newOrientation) {\n for (var index in changeOrientationList) {\n changeOrientationList[index](newOrientation);\n }\n}\n\ndevice.onChangeOrientation = function (cb) {\n if (typeof cb == 'function') {\n changeOrientationList.push(cb);\n }\n};\n\n// Detect whether device supports orientationchange event,\n// otherwise fall back to the resize event.\nvar orientationEvent = 'resize';\nif (Object.prototype.hasOwnProperty.call(window, 'onorientationchange')) {\n orientationEvent = 'orientationchange';\n}\n\n// Listen for changes in orientation.\nif (window.addEventListener) {\n window.addEventListener(orientationEvent, handleOrientation, false);\n} else if (window.attachEvent) {\n window.attachEvent(orientationEvent, handleOrientation);\n} else {\n window[orientationEvent] = handleOrientation;\n}\n\nhandleOrientation();\n\n// Public functions to get the current value of type, os, or orientation\n// ---------------------------------------------------------------------\n\nfunction findMatch(arr) {\n for (var i = 0; i < arr.length; i++) {\n if (device[arr[i]]()) {\n return arr[i];\n }\n }\n return 'unknown';\n}\n\ndevice.type = findMatch(['mobile', 'tablet', 'desktop']);\ndevice.os = findMatch(['ios', 'iphone', 'ipad', 'ipod', 'android', 'blackberry', 'windows', 'fxos', 'meego', 'television']);\n\nfunction setOrientationCache() {\n device.orientation = findMatch(['portrait', 'landscape']);\n}\n\nsetOrientationCache();\n\nexport default device;","(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":""}