{"version":3,"sources":["webpack:///app.bundle.js","webpack:///webpack/bootstrap e5839d50b44c783064c5","webpack:///./src/state.js","webpack:///./src/db.js","webpack:///./src/util.js","webpack:///./src/bar.js","webpack:///./src/circle.js","webpack:///./src/custom.js","webpack:///./src/review.js","webpack:///./src/colorpicker.js","webpack:///./src/db-maintenance.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","g","cook","pats","qty","circle","center","x","y","origin","topText","botText","scriptText","circleColor","textColor","scriptColor","circleColorName","textColorName","scriptColorName","circleFontColor","textFontColor","scriptFontColor","bar","barColor","barColorName","barFontColor","colorpicker","pickedElementID","pickedColor","pickedColorName","pickedColorTextColor","textchange","changedElementID","limits","barTopText","barBotText","circTopTextSpan","circBotTextSpan","circScriptText","db","cats","hats","GB2015","rank","pid","minq","price","list","lead","img","active","features","designs","colors","GB2015WH","nominal","fabric","copId","c1","c2","GB2015BK","GB2015CA","GB2015DG","GB2015MA","GB2015NV","GB2015OR","GB2015PU","GB2015RD","GB2015RB","GB2015TO","GB2015TX","GB210","GB210MA","GB210NV","GB210CA","GB210CG","GB210KH","GB210CB","GB210BK","GB210BR","GB210DG","GB210KLY","GB210LV","GB210AG","GB210HP","GB210LM","GB210OG","GB210OR","GB210PK","GB210PU","GB210RD","GB210RB","GB210ST","GB210TL","GB210VG","GB210WH","G25","G25AG","G25BK","G25CA","G25CB","G25DG","G25MA","G25NV","G25OR","G25PK","G25PU","G25RD","G25RB","G25ST","G25WH","GB210Y","GB210YAG","GB210YBK","GB210YCA","GB210YCB","GB210YDG","GB210YKH","GB210YMA","GB210YNV","GB210YPK","GB210YPU","GB210YRD","GB210YRB","GB210YST","GB210YWH","GB211","GB211LI","GB211MZ","GB211MG","GB211BE","GB211BK","GB211BR","GB211CA","GB211CB","GB211DG","GB211HP","GB211KE","GB211MA","GB211NV","GB211OR","GB211PK","GB211RD","GB211RB","GB211WH","GB277","GB273RC","GB278","GB274RC","GB351","GP351DC","prices","std","from","to","value","greeks","ALPHA","BETA","GAMMA","DELTA","EPSILON","ZETA","ETA","THETA","IOTA","KAPPA","LAMBDA","MU","NU","XI","OMICRON","PI","RHO","SIGMA","TAU","UPSILON","PHI","CHI","PSI","OMEGA","threads","Teal","Cardinal","Texas Orange","Royal","Tan","Light Brown","Mango","Sand","Vegas Gold","Russett","Purple","Silver","Old Gold","Brown","Yellow","Tennessee Orange","Lime","Yellow Softball","Navy","Red","Beige","Sonic Bronze","Dark Green","Athletic Gold","Light Orange","Ivory","Green","Light Purple","Maize","Carolina Blue","Khaki","Hot Pink","Pink","Dark Grey","Maroon","Plum","Black","White","Metallic Silver","Metallic Gold","rgb2name","#00bce4","#a80532","#af5711","#0061aa","#b09167","#cd9227","#f4846b","#e7e7cf","#e5ca68","#bf2c37","#2b135e","#cbd0d4","#c39809","#634a34","#ffd51d","#f4793e","#7ac142","#f3ee5f","#002d57","#e2383f","#d0c78a","#b87310","#005838","#fdb827","#f9a13a","#f6f1d1","#009b67","#b7aed6","#ffdb6a","#68aee0","#dbbe95","#e50278","#f7a6ac","#8f989d","#744143","#5a3632","#231f20","#ffffff","#a8b1b7","#c88912","#DDA0DD","#F5F5DC","#808000","#008000","#87CEFA","#2F4F4F","#556B2F","rgb2font","name2rgb","Lilac","Stone","Light Olive","Kelly","Columbia Blue","Charcoal","util","validateLength","design","id","txt","length","rgb2hex","rgb","hex","parseInt","toString","slice","match","saveCookie","compressedCookie","LZString","compressToBase64","JSON","stringify","console","log","substring","this","createCookie","loadCookie","readCookie","cookieAsString","decompressFromBase64","parse","undefined","cat","style","color","uncompressDesign","days","expires","date","Date","setTime","getTime","toGMTString","document","cookie","nameEQ","ca","split","charAt","indexOf","eraseCookie","barInit","self","$","on","e","attr","barTextChanged","barRepaintDesign","barGlobalToForm","barFormToGlobal","css","getElementById","textContent","val","handleTypography","setTimeout","width","height","textNode","bb","getBBox","widthTransform","heightTransform","setAttribute","raw","res","chars","shift","forEach","token","toUpperCase","trim","barColorChanged","btnID","txtID","circleInit","circleTextChanged","circleGlobalToForm","circleRepaintDesign","circleFormToGlobal","circleColorChanged","qval","RegExp","exec","window","location","href","review","maintenance","pathnameX","html","pathname","filename","pop","click","toggleClass","_pageStyle","_pageColor","_","keys","hide","colorpickerInit","reviewInit","writeToCart","h","makePage","clicked","dumpDb","makePriceTable","text","show","cookiedata","humandata","volusionPID","data","encodeURIComponent","ajax","url","dataType","contentType","type","error","jqXHR","textStatus","errorThrown","responseJSON","success","listprice","levels","ix","first","substr","modal","$trigger","relatedTarget","lid","updateWidget","thread","threadColor","flds","thrname","thrcode","fabcode","makeCell","cn","fabcolorcode","thrcolorcode","fabfontcolor","thrfontcolor","key","terse","xr"],"mappings":"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","file":"app.bundle.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 5);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar g = {\r\n\r\n\t\"cook\": {},\r\n\r\n\t\"pats\": {\r\n\r\n\t\t\"qty\": 0,\r\n\r\n\t\t\"circle\": {\r\n\t\t\t\"center\": { x: 310, y: 324 },\r\n\t\t\t\"origin\": { x: 20, y: 120 },\r\n\t\t\t\"topText\": \"Georgetown\",\r\n\t\t\t\"botText\": \"University\",\r\n\t\t\t\"scriptText\": \"Hoyas\",\r\n\t\t\t\"circleColor\": null,\r\n\t\t\t\"textColor\": null,\r\n\t\t\t\"scriptColor\": null,\r\n\t\t\t\"circleColorName\": null,\r\n\t\t\t\"textColorName\": null,\r\n\t\t\t\"scriptColorName\": null,\r\n\t\t\t\"circleFontColor\": null,\r\n\t\t\t\"textFontColor\": null,\r\n\t\t\t\"scriptFontColor\": null\r\n\t\t},\r\n\r\n\t\t\"bar\": {\r\n\t\t\t\"topText\": \"/phi /delta /theta\",\r\n\t\t\t\"botText\": \"Oklahoma State\",\r\n\t\t\t\"textColor\": null,\r\n\t\t\t\"barColor\": null,\r\n\t\t\t\"textColorName\": null,\r\n\t\t\t\"barColorName\": null,\r\n\t\t\t\"textFontColor\": null,\r\n\t\t\t\"barFontColor\": null\r\n\t\t}\r\n\t},\r\n\r\n\t\"colorpicker\": {\r\n\t\t\"pickedElementID\": null,\r\n\t\t\"pickedColor\": null,\r\n\t\t\"pickedColorName\": null,\r\n\t\t\"pickedColorTextColor\": null\r\n\t},\r\n\r\n\t\"textchange\": {\r\n\t\t\"changedElementID\": null\r\n\t},\r\n\r\n\t\"limits\": {\r\n\t\t\"bar\": { \r\n\t\t\t\"barTopText\": 12, \r\n\t\t\t\"barBotText\": 26\r\n\t\t},\r\n\t\t\"circle\": {\r\n\t\t\t\"circTopTextSpan\": 12,\r\n\t\t\t\"circBotTextSpan\": 16,\r\n\t\t\t\"circScriptText\": 9\r\n\t\t}\r\n\t}\r\n\r\n};\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nvar db = {\r\n\r\n\t\"cats\": {\r\n\t\t\"hats\": {\r\n\t\t\t\"GB2015\": {\r\n\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\"name\": \"GB2015 - The Classic\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GB2015RD.jpg\",\r\n\t\t\t\t\"active\": true,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"hat body is solid white, 100% cotton twill\",\r\n\t\t\t\t\t\"contrasting button, eyelets & undervisor\",\r\n\t\t\t\t\t\"low profile shape\",\r\n\t\t\t\t\t\"plastic snapback strap\",\r\n\t\t\t\t\t\"one size fits most: 7 - 7¾\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\",\r\n\t\t\t\t\t\"12 trim colors\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GB2015WH\": {\r\n\t\t\t\t\t\t\"rank\": 3,\r\n\t\t\t\t\t\t\"nominal\": \"White\",\r\n\t\t\t\t\t\t\"img\": \"GB2015WH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"127\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Cardinal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015BK\": {\r\n\t\t\t\t\t\t\"rank\": 2,\r\n\t\t\t\t\t\t\"nominal\": \"Black\",\r\n\t\t\t\t\t\t\"img\": \"GB2015BK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"116\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Red\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015CA\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Cardinal\",\r\n\t\t\t\t\t\t\"img\": \"GB2015CA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"117\",\r\n\t\t\t\t\t\t\"c1\": \"Cardinal\",\r\n\t\t\t\t\t\t\"c2\": \"Royal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015DG\": {\r\n\t\t\t\t\t\t\"rank\": 4,\r\n\t\t\t\t\t\t\"nominal\": \"Dark Green\",\r\n\t\t\t\t\t\t\"img\": \"GB2015DG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"118\",\r\n\t\t\t\t\t\t\"c1\": \"Dark Green\",\r\n\t\t\t\t\t\t\"c2\": \"Athletic Gold\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015MA\": {\r\n\t\t\t\t\t\t\"rank\": 5,\r\n\t\t\t\t\t\t\"nominal\": \"Maroon\",\r\n\t\t\t\t\t\t\"img\": \"GB2015MA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"120\",\r\n\t\t\t\t\t\t\"c1\": \"Maroon\",\r\n\t\t\t\t\t\t\"c2\": \"Royal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015NV\": {\r\n\t\t\t\t\t\t\"rank\": 6,\r\n\t\t\t\t\t\t\"nominal\": \"Navy\",\r\n\t\t\t\t\t\t\"img\": \"GB2015NV.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"121\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Cardinal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015OR\": {\r\n\t\t\t\t\t\t\"rank\": 7,\r\n\t\t\t\t\t\t\"nominal\": \"Texas Orange\",\r\n\t\t\t\t\t\t\"img\": \"GB2015OR.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"122\",\r\n\t\t\t\t\t\t\"c1\": \"Tennessee Orange\",\r\n\t\t\t\t\t\t\"c2\": \"Dark Green\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015PU\": {\r\n\t\t\t\t\t\t\"rank\": 8,\r\n\t\t\t\t\t\t\"nominal\": \"Purple\",\r\n\t\t\t\t\t\t\"img\": \"GB2015PU.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"123\",\r\n\t\t\t\t\t\t\"c1\": \"Light Purple\",\r\n\t\t\t\t\t\t\"c2\": \"Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015RD\": {\r\n\t\t\t\t\t\t\"rank\": 9,\r\n\t\t\t\t\t\t\"nominal\": \"Red\",\r\n\t\t\t\t\t\t\"img\": \"GB2015RD.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"124\",\r\n\t\t\t\t\t\t\"c1\": \"Red\",\r\n\t\t\t\t\t\t\"c2\": \"Navy\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015RB\": {\r\n\t\t\t\t\t\t\"rank\": 10,\r\n\t\t\t\t\t\t\"nominal\": \"Royal\",\r\n\t\t\t\t\t\t\"img\": \"GB2015RB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"125\",\r\n\t\t\t\t\t\t\"c1\": \"Royal\",\r\n\t\t\t\t\t\t\"c2\": \"Red\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015TO\": {\r\n\t\t\t\t\t\t\"rank\": 11,\r\n\t\t\t\t\t\t\"nominal\": \"Tennessee Orange\",\r\n\t\t\t\t\t\t\"img\": \"GB2015TO.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"131\",\r\n\t\t\t\t\t\t\"c1\": \"Tennessee Orange\",\r\n\t\t\t\t\t\t\"c2\": \"Brown\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015TX\": {\r\n\t\t\t\t\t\t\"rank\": 12,\r\n\t\t\t\t\t\t\"nominal\": \"Texas Orange\",\r\n\t\t\t\t\t\t\"img\": \"GB2015TX.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"130\",\r\n\t\t\t\t\t\t\"c1\": \"Texas Orange\",\r\n\t\t\t\t\t\t\"c2\": \"Navy\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"GB210\": {\r\n\t\t\t\t\"rank\": 2,\r\n\t\t\t\t\"name\": \"GB210 - Soft Structure\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GB210MA.jpg\",\r\n\t\t\t\t\"active\": true,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"garment washed, 100% cotton twill\",\r\n\t\t\t\t\t\"relaxed, unstructured shape\",\r\n\t\t\t\t\t\"adjustable slide buckle backstrap\",\r\n\t\t\t\t\t\"one size fits most: 7 - 7¾\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\",\r\n\t\t\t\t\t\"24 solid colors\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GB210MA\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Maroon\",\r\n\t\t\t\t\t\t\"img\": \"GB210MA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#744143\",\r\n\t\t\t\t\t\t\"copId\": \"179\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Tan\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210NV\": {\r\n\t\t\t\t\t\t\"rank\": 2,\r\n\t\t\t\t\t\t\"nominal\": \"Navy\",\r\n\t\t\t\t\t\t\"img\": \"GB210NV.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#002d57\",\r\n\t\t\t\t\t\t\"copId\": \"181\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210CA\": {\r\n\t\t\t\t\t\t\"rank\": 3,\r\n\t\t\t\t\t\t\"nominal\": \"Cardinal\",\r\n\t\t\t\t\t\t\"img\": \"GB210CA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#a80532\",\r\n\t\t\t\t\t\t\"copId\": \"167\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210CG\": {\r\n\t\t\t\t\t\t\"rank\": 4,\r\n\t\t\t\t\t\t\"nominal\": \"Charcoal\",\r\n\t\t\t\t\t\t\"img\": \"GB210CG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#2F4F4F\",\r\n\t\t\t\t\t\t\"copId\": \"168\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210KH\": {\r\n\t\t\t\t\t\t\"rank\": 5,\r\n\t\t\t\t\t\t\"nominal\": \"Khaki\",\r\n\t\t\t\t\t\t\"img\": \"GB210KH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#dbbe95\",\r\n\t\t\t\t\t\t\"copId\": \"175\",\r\n\t\t\t\t\t\t\"c1\": \"Yellow Softball\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210CB\": {\r\n\t\t\t\t\t\t\"rank\": 6,\r\n\t\t\t\t\t\t\"nominal\": \"Columbia Blue\",\r\n\t\t\t\t\t\t\"img\": \"GB210CB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#87CEFA\",\r\n\t\t\t\t\t\t\"copId\": \"169\",\r\n\t\t\t\t\t\t\"c1\": \"Beige\",\r\n\t\t\t\t\t\t\"c2\": \"Ivory\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210BK\": {\r\n\t\t\t\t\t\t\"rank\": 7,\r\n\t\t\t\t\t\t\"nominal\": \"Black\",\r\n\t\t\t\t\t\t\"img\": \"GB210BK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#231f20\",\r\n\t\t\t\t\t\t\"copId\": \"165\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Tennessee Orange\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210BR\": {\r\n\t\t\t\t\t\t\"rank\": 8,\r\n\t\t\t\t\t\t\"nominal\": \"Brown\",\r\n\t\t\t\t\t\t\"img\": \"GB210BR.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#634a34\",\r\n\t\t\t\t\t\t\"copId\": \"166\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210DG\": {\r\n\t\t\t\t\t\t\"rank\": 9,\r\n\t\t\t\t\t\t\"nominal\": \"Dark Green\",\r\n\t\t\t\t\t\t\"img\": \"GB210DG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#005838\",\r\n\t\t\t\t\t\t\"copId\": \"172\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210KLY\": {\r\n\t\t\t\t\t\t\"rank\": 10,\r\n\t\t\t\t\t\t\"nominal\": \"Kelly\",\r\n\t\t\t\t\t\t\"img\": \"GB210KLY.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#008000\",\r\n\t\t\t\t\t\t\"copId\": \"174\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210LV\": {\r\n\t\t\t\t\t\t\"rank\": 11,\r\n\t\t\t\t\t\t\"nominal\": \"Light Olive\",\r\n\t\t\t\t\t\t\"img\": \"GB210LV.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#808000\",\r\n\t\t\t\t\t\t\"copId\": \"177\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210AG\": {\r\n\t\t\t\t\t\t\"rank\": 12,\r\n\t\t\t\t\t\t\"nominal\": \"Athletic Gold\",\r\n\t\t\t\t\t\t\"img\": \"GB210AG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#fdb827\",\r\n\t\t\t\t\t\t\"copId\": \"164\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Cardinal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210HP\": {\r\n\t\t\t\t\t\t\"rank\": 13,\r\n\t\t\t\t\t\t\"nominal\": \"Hot Pink\",\r\n\t\t\t\t\t\t\"img\": \"GB210HP.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e50278\",\r\n\t\t\t\t\t\t\"copId\": \"173\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Light Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210LM\": {\r\n\t\t\t\t\t\t\"rank\": 14,\r\n\t\t\t\t\t\t\"nominal\": \"Lime\",\r\n\t\t\t\t\t\t\"img\": \"GB210LM.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#7ac142\",\r\n\t\t\t\t\t\t\"copId\": \"178\",\r\n\t\t\t\t\t\t\"c1\": \"Old Gold\",\r\n\t\t\t\t\t\t\"c2\": \"Sonic Bronze\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210OG\": {\r\n\t\t\t\t\t\t\"rank\": 15,\r\n\t\t\t\t\t\t\"nominal\": \"Old Gold\",\r\n\t\t\t\t\t\t\"img\": \"GB210OG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#c39809\",\r\n\t\t\t\t\t\t\"copId\": \"182\",\r\n\t\t\t\t\t\t\"c1\": \"Brown\",\r\n\t\t\t\t\t\t\"c2\": \"Ivory\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210OR\": {\r\n\t\t\t\t\t\t\"rank\": 16,\r\n\t\t\t\t\t\t\"nominal\": \"Texas Orange\",\r\n\t\t\t\t\t\t\"img\": \"GB210OR.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#af5711\",\r\n\t\t\t\t\t\t\"copId\": \"183\",\r\n\t\t\t\t\t\t\"c1\": \"Beige\",\r\n\t\t\t\t\t\t\"c2\": \"Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210PK\": {\r\n\t\t\t\t\t\t\"rank\": 17,\r\n\t\t\t\t\t\t\"nominal\": \"Pink\",\r\n\t\t\t\t\t\t\"img\": \"GB210PK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#f7a6ac\",\r\n\t\t\t\t\t\t\"copId\": \"184\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Maroon\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210PU\": {\r\n\t\t\t\t\t\t\"rank\": 18,\r\n\t\t\t\t\t\t\"nominal\": \"Purple\",\r\n\t\t\t\t\t\t\"img\": \"GB210PU.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#2b135e\",\r\n\t\t\t\t\t\t\"copId\": \"185\",\r\n\t\t\t\t\t\t\"c1\": \"Yellow Softball\",\r\n\t\t\t\t\t\t\"c2\": \"Mango\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210RD\": {\r\n\t\t\t\t\t\t\"rank\": 19,\r\n\t\t\t\t\t\t\"nominal\": \"Red\",\r\n\t\t\t\t\t\t\"img\": \"GB210RD.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e2383f\",\r\n\t\t\t\t\t\t\"copId\": \"186\",\r\n\t\t\t\t\t\t\"c1\": \"Royal\",\r\n\t\t\t\t\t\t\"c2\": \"Ivory\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210RB\": {\r\n\t\t\t\t\t\t\"rank\": 20,\r\n\t\t\t\t\t\t\"nominal\": \"Royal\",\r\n\t\t\t\t\t\t\"img\": \"GB210RB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#0061aa\",\r\n\t\t\t\t\t\t\"copId\": \"187\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210ST\": {\r\n\t\t\t\t\t\t\"rank\": 21,\r\n\t\t\t\t\t\t\"nominal\": \"Stone\",\r\n\t\t\t\t\t\t\"img\": \"GB210ST.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#F5F5DC\",\r\n\t\t\t\t\t\t\"copId\": \"188\",\r\n\t\t\t\t\t\t\"c1\": \"Dark Green\",\r\n\t\t\t\t\t\t\"c2\": \"Green\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210TL\": {\r\n\t\t\t\t\t\t\"rank\": 22,\r\n\t\t\t\t\t\t\"nominal\": \"Teal\",\r\n\t\t\t\t\t\t\"img\": \"GB210TL.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#00bce4\",\r\n\t\t\t\t\t\t\"copId\": \"189\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210VG\": {\r\n\t\t\t\t\t\t\"rank\": 23,\r\n\t\t\t\t\t\t\"nominal\": \"Vegas Gold\",\r\n\t\t\t\t\t\t\"img\": \"GB210VG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e5ca68\",\r\n\t\t\t\t\t\t\"copId\": \"190\",\r\n\t\t\t\t\t\t\"c1\": \"Brown\",\r\n\t\t\t\t\t\t\"c2\": \"Sonic Bronze\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210WH\": {\r\n\t\t\t\t\t\t\"rank\": 24,\r\n\t\t\t\t\t\t\"nominal\": \"White\",\r\n\t\t\t\t\t\t\"img\": \"GB210WH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"191\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Carolina Blue\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"G25\": {\r\n\t\t\t\t\"rank\": 3,\r\n\t\t\t\t\"name\": \"G25 - Classic Visor\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"G25RD.jpg\",\r\n\t\t\t\t\"active\": true,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"garment washed, 100% cotton twill\",\r\n\t\t\t\t\t\"adjustable velcro backstrap\",\r\n\t\t\t\t\t\"one size fits most: 7 - 7¾\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\",\r\n\t\t\t\t\t\"14 solid colors\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": false\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"G25AG\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Athletic Gold\",\r\n\t\t\t\t\t\t\"img\": \"G25AG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#fdb827\",\r\n\t\t\t\t\t\t\"copId\": \"164\",\r\n\t\t\t\t\t\t\"c1\": \"Cardinal\",\r\n\t\t\t\t\t\t\"c2\": \"Navy\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25BK\": {\r\n\t\t\t\t\t\t\"rank\": 2,\r\n\t\t\t\t\t\t\"nominal\": \"Black\",\r\n\t\t\t\t\t\t\"img\": \"G25BK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#231f20\",\r\n\t\t\t\t\t\t\"copId\": \"165\",\r\n\t\t\t\t\t\t\"c1\": \"Tennessee Orange\",\r\n\t\t\t\t\t\t\"c2\": \"Tennessee Orange\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25CA\": {\r\n\t\t\t\t\t\t\"rank\": 3,\r\n\t\t\t\t\t\t\"nominal\": \"Cardinal\",\r\n\t\t\t\t\t\t\"img\": \"G25CA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#a80532\",\r\n\t\t\t\t\t\t\"copId\": \"167\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Sand\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25CB\": {\r\n\t\t\t\t\t\t\"rank\": 4,\r\n\t\t\t\t\t\t\"nominal\": \"Columbia Blue\",\r\n\t\t\t\t\t\t\"img\": \"G25CB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#87CEFA\",\r\n\t\t\t\t\t\t\"copId\": \"169\",\r\n\t\t\t\t\t\t\"c1\": \"Purple\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25DG\": {\r\n\t\t\t\t\t\t\"rank\": 5,\r\n\t\t\t\t\t\t\"nominal\": \"Dark Green\",\r\n\t\t\t\t\t\t\"img\": \"G25DG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#005838\",\r\n\t\t\t\t\t\t\"copId\": \"172\",\r\n\t\t\t\t\t\t\"c1\": \"Tan\",\r\n\t\t\t\t\t\t\"c2\": \"Ivory\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25MA\": {\r\n\t\t\t\t\t\t\"rank\": 6,\r\n\t\t\t\t\t\t\"nominal\": \"Maroon\",\r\n\t\t\t\t\t\t\"img\": \"G25MA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#744143\",\r\n\t\t\t\t\t\t\"copId\": \"179\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Pink\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25NV\": {\r\n\t\t\t\t\t\t\"rank\": 7,\r\n\t\t\t\t\t\t\"nominal\": \"Navy\",\r\n\t\t\t\t\t\t\"img\": \"G25NV.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#002d57\",\r\n\t\t\t\t\t\t\"copId\": \"181\",\r\n\t\t\t\t\t\t\"c1\": \"Dark Grey\",\r\n\t\t\t\t\t\t\"c2\": \"Light Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25OR\": {\r\n\t\t\t\t\t\t\"rank\": 8,\r\n\t\t\t\t\t\t\"nominal\": \"Texas Orange\",\r\n\t\t\t\t\t\t\"img\": \"G25OR.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#af5711\",\r\n\t\t\t\t\t\t\"copId\": \"183\",\r\n\t\t\t\t\t\t\"c1\": \"Mango\",\r\n\t\t\t\t\t\t\"c2\": \"Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25PK\": {\r\n\t\t\t\t\t\t\"rank\": 9,\r\n\t\t\t\t\t\t\"nominal\": \"Pink\",\r\n\t\t\t\t\t\t\"img\": \"G25PK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#f7a6ac\",\r\n\t\t\t\t\t\t\"copId\": \"184\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Hot Pink\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25PU\": {\r\n\t\t\t\t\t\t\"rank\": 10,\r\n\t\t\t\t\t\t\"nominal\": \"Purple\",\r\n\t\t\t\t\t\t\"img\": \"G25PU.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#2b135e\",\r\n\t\t\t\t\t\t\"copId\": \"185\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Light Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25RD\": {\r\n\t\t\t\t\t\t\"rank\": 11,\r\n\t\t\t\t\t\t\"nominal\": \"Red\",\r\n\t\t\t\t\t\t\"img\": \"G25RD.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e2383f\",\r\n\t\t\t\t\t\t\"copId\": \"186\",\r\n\t\t\t\t\t\t\"c1\": \"Royal\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25RB\": {\r\n\t\t\t\t\t\t\"rank\": 12,\r\n\t\t\t\t\t\t\"nominal\": \"Royal\",\r\n\t\t\t\t\t\t\"img\": \"G25RB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#0061aa\",\r\n\t\t\t\t\t\t\"copId\": \"187\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25ST\": {\r\n\t\t\t\t\t\t\"rank\": 13,\r\n\t\t\t\t\t\t\"nominal\": \"Stone\",\r\n\t\t\t\t\t\t\"img\": \"G25ST.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#F5F5DC\",\r\n\t\t\t\t\t\t\"copId\": \"188\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25WH\": {\r\n\t\t\t\t\t\t\"rank\": 14,\r\n\t\t\t\t\t\t\"nominal\": \"White\",\r\n\t\t\t\t\t\t\"img\": \"G25WH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"191\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Carolina Blue\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"GB210Y\": {\r\n\t\t\t\t\"rank\": 4,\r\n\t\t\t\t\"name\": \"GB210Y - YOUTH version of GB210\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GB210YPK.jpg\",\r\n\t\t\t\t\"active\": false,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"garment washed, 100% cotton twill\",\r\n\t\t\t\t\t\"relaxed, unstructured shape\",\r\n\t\t\t\t\t\"adjustable slide buckle backstrap\",\r\n\t\t\t\t\t\"one size fits most: 61/2 - 7\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\",\r\n\t\t\t\t\t\"14 solid colors\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GB210YAG\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Athletic Gold\",\r\n\t\t\t\t\t\t\"img\": \"GB210YAG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#fdb827\",\r\n\t\t\t\t\t\t\"copId\": \"164\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Cardinal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YBK\": {\r\n\t\t\t\t\t\t\"rank\": 2,\r\n\t\t\t\t\t\t\"nominal\": \"Black\",\r\n\t\t\t\t\t\t\"img\": \"GB210YBK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#231f20\",\r\n\t\t\t\t\t\t\"copId\": \"165\",\r\n\t\t\t\t\t\t\"c1\": \"Tennessee Orange\",\r\n\t\t\t\t\t\t\"c2\": \"Tennessee Orange\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YCA\": {\r\n\t\t\t\t\t\t\"rank\": 3,\r\n\t\t\t\t\t\t\"nominal\": \"Cardinal\",\r\n\t\t\t\t\t\t\"img\": \"GB210YCA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#a80532\",\r\n\t\t\t\t\t\t\"copId\": \"167\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Sand\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YCB\": {\r\n\t\t\t\t\t\t\"rank\": 4,\r\n\t\t\t\t\t\t\"nominal\": \"Columbia Blue\",\r\n\t\t\t\t\t\t\"img\": \"GB210YCB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#87CEFA\",\r\n\t\t\t\t\t\t\"copId\": \"169\",\r\n\t\t\t\t\t\t\"c1\": \"Purple\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YDG\": {\r\n\t\t\t\t\t\t\"rank\": 5,\r\n\t\t\t\t\t\t\"nominal\": \"Dark Green\",\r\n\t\t\t\t\t\t\"img\": \"GB210YDG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#005838\",\r\n\t\t\t\t\t\t\"copId\": \"172\",\r\n\t\t\t\t\t\t\"c1\": \"Tan\",\r\n\t\t\t\t\t\t\"c2\": \"Ivory\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YKH\": {\r\n\t\t\t\t\t\t\"rank\": 6,\r\n\t\t\t\t\t\t\"nominal\": \"Khaki\",\r\n\t\t\t\t\t\t\"img\": \"GB210YKH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#dbbe95\",\r\n\t\t\t\t\t\t\"copId\": \"175\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YMA\": {\r\n\t\t\t\t\t\t\"rank\": 7,\r\n\t\t\t\t\t\t\"nominal\": \"Maroon\",\r\n\t\t\t\t\t\t\"img\": \"GB210YMA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#744143\",\r\n\t\t\t\t\t\t\"copId\": \"179\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Pink\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YNV\": {\r\n\t\t\t\t\t\t\"rank\": 8,\r\n\t\t\t\t\t\t\"nominal\": \"Navy\",\r\n\t\t\t\t\t\t\"img\": \"GB210YNV.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#002d57\",\r\n\t\t\t\t\t\t\"copId\": \"181\",\r\n\t\t\t\t\t\t\"c1\": \"Dark Grey\",\r\n\t\t\t\t\t\t\"c2\": \"Light Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YPK\": {\r\n\t\t\t\t\t\t\"rank\": 9,\r\n\t\t\t\t\t\t\"nominal\": \"Pink\",\r\n\t\t\t\t\t\t\"img\": \"GB210YPK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#f7a6ac\",\r\n\t\t\t\t\t\t\"copId\": \"184\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Hot Pink\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YPU\": {\r\n\t\t\t\t\t\t\"rank\": 10,\r\n\t\t\t\t\t\t\"nominal\": \"Purple\",\r\n\t\t\t\t\t\t\"img\": \"GB210YPU.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#2b135e\",\r\n\t\t\t\t\t\t\"copId\": \"185\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Light Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YRD\": {\r\n\t\t\t\t\t\t\"rank\": 11,\r\n\t\t\t\t\t\t\"nominal\": \"Red\",\r\n\t\t\t\t\t\t\"img\": \"GB210YRD.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e2383f\",\r\n\t\t\t\t\t\t\"copId\": \"186\",\r\n\t\t\t\t\t\t\"c1\": \"Royal\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YRB\": {\r\n\t\t\t\t\t\t\"rank\": 12,\r\n\t\t\t\t\t\t\"nominal\": \"Royal\",\r\n\t\t\t\t\t\t\"img\": \"GB210YRB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#0061aa\",\r\n\t\t\t\t\t\t\"copId\": \"187\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YST\": {\r\n\t\t\t\t\t\t\"rank\": 13,\r\n\t\t\t\t\t\t\"nominal\": \"Stone\",\r\n\t\t\t\t\t\t\"img\": \"GB210YST.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#F5F5DC\",\r\n\t\t\t\t\t\t\"copId\": \"188\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YWH\": {\r\n\t\t\t\t\t\t\"rank\": 14,\r\n\t\t\t\t\t\t\"nominal\": \"White\",\r\n\t\t\t\t\t\t\"img\": \"GB210YWH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"191\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Carolina Blue\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"GB211\": {\r\n\t\t\t\t\"rank\": 5,\r\n\t\t\t\t\"name\": \"GB211 - WOMEN's version of gb210\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GB211OR.jpg\",\r\n\t\t\t\t\"active\": false,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"garment washed, 100% cotton twill\",\r\n\t\t\t\t\t\"relaxed, unstructured shape\",\r\n\t\t\t\t\t\"slender, adjustable slide buckle backstrap\",\r\n\t\t\t\t\t\"one size fits most: 65/8 - 73/8\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\",\r\n\t\t\t\t\t\"18 solid colors\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GB211LI\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Lilac\",\r\n\t\t\t\t\t\t\"img\": \"GB211LI.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#DDA0DD\",\r\n\t\t\t\t\t\t\"copId\": \"292\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211MZ\": {\r\n\t\t\t\t\t\t\"rank\": 2,\r\n\t\t\t\t\t\t\"nominal\": \"Maize\",\r\n\t\t\t\t\t\t\"img\": \"GB211MZ.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffdb6a\",\r\n\t\t\t\t\t\t\"copId\": \"293\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211MG\": {\r\n\t\t\t\t\t\t\"rank\": 3,\r\n\t\t\t\t\t\t\"nominal\": \"Mango\",\r\n\t\t\t\t\t\t\"img\": \"GB211MG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#f4846b\",\r\n\t\t\t\t\t\t\"copId\": \"290\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211BE\": {\r\n\t\t\t\t\t\t\"rank\": 4,\r\n\t\t\t\t\t\t\"nominal\": \"Beige\",\r\n\t\t\t\t\t\t\"img\": \"GB211BE.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#d0c78a\",\r\n\t\t\t\t\t\t\"copId\": \"289\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211BK\": {\r\n\t\t\t\t\t\t\"rank\": 5,\r\n\t\t\t\t\t\t\"nominal\": \"Black\",\r\n\t\t\t\t\t\t\"img\": \"GB211BK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#231f20\",\r\n\t\t\t\t\t\t\"copId\": \"165\",\r\n\t\t\t\t\t\t\"c1\": \"Tennessee Orange\",\r\n\t\t\t\t\t\t\"c2\": \"Tennessee Orange\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211BR\": {\r\n\t\t\t\t\t\t\"rank\": 6,\r\n\t\t\t\t\t\t\"nominal\": \"Brown\",\r\n\t\t\t\t\t\t\"img\": \"GB211BR.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#634a34\",\r\n\t\t\t\t\t\t\"copId\": \"166\",\r\n\t\t\t\t\t\t\"c1\": \"Red\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211CA\": {\r\n\t\t\t\t\t\t\"rank\": 7,\r\n\t\t\t\t\t\t\"nominal\": \"Cardinal\",\r\n\t\t\t\t\t\t\"img\": \"GB211CA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#a80532\",\r\n\t\t\t\t\t\t\"copId\": \"167\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Sand\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211CB\": {\r\n\t\t\t\t\t\t\"rank\": 8,\r\n\t\t\t\t\t\t\"nominal\": \"Columbia Blue\",\r\n\t\t\t\t\t\t\"img\": \"GB211CB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#87CEFA\",\r\n\t\t\t\t\t\t\"copId\": \"169\",\r\n\t\t\t\t\t\t\"c1\": \"Purple\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211DG\": {\r\n\t\t\t\t\t\t\"rank\": 9,\r\n\t\t\t\t\t\t\"nominal\": \"Dark Green\",\r\n\t\t\t\t\t\t\"img\": \"GB211DG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#005838\",\r\n\t\t\t\t\t\t\"copId\": \"172\",\r\n\t\t\t\t\t\t\"c1\": \"Tan\",\r\n\t\t\t\t\t\t\"c2\": \"Ivory\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211HP\": {\r\n\t\t\t\t\t\t\"rank\": 10,\r\n\t\t\t\t\t\t\"nominal\": \"Hot Pink\",\r\n\t\t\t\t\t\t\"img\": \"GB211HP.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e50278\",\r\n\t\t\t\t\t\t\"copId\": \"173\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Light Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211KE\": {\r\n\t\t\t\t\t\t\"rank\": 11,\r\n\t\t\t\t\t\t\"nominal\": \"Kelly\",\r\n\t\t\t\t\t\t\"img\": \"GB211KE.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#008000\",\r\n\t\t\t\t\t\t\"copId\": \"174\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211MA\": {\r\n\t\t\t\t\t\t\"rank\": 12,\r\n\t\t\t\t\t\t\"nominal\": \"Maroon\",\r\n\t\t\t\t\t\t\"img\": \"GB211MA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#744143\",\r\n\t\t\t\t\t\t\"copId\": \"191\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Pink\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211NV\": {\r\n\t\t\t\t\t\t\"rank\": 13,\r\n\t\t\t\t\t\t\"nominal\": \"Navy\",\r\n\t\t\t\t\t\t\"img\": \"GB211NV.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#002d57\",\r\n\t\t\t\t\t\t\"copId\": \"181\",\r\n\t\t\t\t\t\t\"c1\": \"Dark Grey\",\r\n\t\t\t\t\t\t\"c2\": \"Cardinal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211OR\": {\r\n\t\t\t\t\t\t\"rank\": 14,\r\n\t\t\t\t\t\t\"nominal\": \"Texas Orange\",\r\n\t\t\t\t\t\t\"img\": \"GB211OR.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#af5711\",\r\n\t\t\t\t\t\t\"copId\": \"183\",\r\n\t\t\t\t\t\t\"c1\": \"Mango\",\r\n\t\t\t\t\t\t\"c2\": \"Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211PK\": {\r\n\t\t\t\t\t\t\"rank\": 15,\r\n\t\t\t\t\t\t\"nominal\": \"Pink\",\r\n\t\t\t\t\t\t\"img\": \"GB211PK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#f7a6ac\",\r\n\t\t\t\t\t\t\"copId\": \"184\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Hot Pink\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211RD\": {\r\n\t\t\t\t\t\t\"rank\": 16,\r\n\t\t\t\t\t\t\"nominal\": \"Red\",\r\n\t\t\t\t\t\t\"img\": \"GB211RD.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e2383f\",\r\n\t\t\t\t\t\t\"copId\": \"186\",\r\n\t\t\t\t\t\t\"c1\": \"Royal\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211RB\": {\r\n\t\t\t\t\t\t\"rank\": 17,\r\n\t\t\t\t\t\t\"nominal\": \"Royal\",\r\n\t\t\t\t\t\t\"img\": \"GB211RB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#0061aa\",\r\n\t\t\t\t\t\t\"copId\": \"187\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211WH\": {\r\n\t\t\t\t\t\t\"rank\": 18,\r\n\t\t\t\t\t\t\"nominal\": \"White\",\r\n\t\t\t\t\t\t\"img\": \"GB211WH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"191\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Carolina Blue\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"GB277\": {\r\n\t\t\t\t\"rank\": 6,\r\n\t\t\t\t\"name\": \"GB277 - Realtree Camo Low Profile\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GB273RC.jpg\",\r\n\t\t\t\t\"active\": true,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"AP Green Camo by RealTree®\",\r\n\t\t\t\t\t\"structured, low profile shape\",\r\n\t\t\t\t\t\"adjustable slide buckle backstrap\",\r\n\t\t\t\t\t\"garment washed cotton twill\",\r\n\t\t\t\t\t\"one size fits most: 7 - 7¾\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GB273RC\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Realtree Camo\",\r\n\t\t\t\t\t\t\"img\": \"GB273RC.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#556B2F\",\r\n\t\t\t\t\t\t\"copId\": \"294\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"GB278\": {\r\n\t\t\t\t\"rank\": 7,\r\n\t\t\t\t\"name\": \"GB278 - Realtree Camo Soft Structure\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GB274RC.jpg\",\r\n\t\t\t\t\"active\": true,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"AP Green Camo by RealTree®\",\r\n\t\t\t\t\t\"relaxed, unstructured shape\",\r\n\t\t\t\t\t\"adjustable slide buckle backstrap\",\r\n\t\t\t\t\t\"garment washed cotton twill\",\r\n\t\t\t\t\t\"one size fits most: 7 - 7¾\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GB274RC\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Realtree Camo\",\r\n\t\t\t\t\t\t\"img\": \"GB274RC.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#556B2F\",\r\n\t\t\t\t\t\t\"copId\": \"294\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"GB351\": {\r\n\t\t\t\t\"rank\": 8,\r\n\t\t\t\t\"name\": \"GB351 - Digital Camo\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GP351DC.jpg\",\r\n\t\t\t\t\"active\": false,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"miltary-style digital Camo pattern\",\r\n\t\t\t\t\t\"structured, low profile shape\",\r\n\t\t\t\t\t\"adjustable slide buckle backstrap\",\r\n\t\t\t\t\t\"garment washed cotton\",\r\n\t\t\t\t\t\"one size fits most: 7 - 7¾\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GP351DC\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Digital Camo\",\r\n\t\t\t\t\t\t\"img\": \"GP351DC.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#C0C0C0\",\r\n\t\t\t\t\t\t\"copId\": \"295\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"prices\": {\r\n\t\t\"std\": [\r\n\t\t\t{\r\n\t\t\t\t\"from\": 0,\r\n\t\t\t\t\"to\": 23,\r\n\t\t\t\t\"value\": 0\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"from\": 24,\r\n\t\t\t\t\"to\": 35,\r\n\t\t\t\t\"value\": 2\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"from\": 36,\r\n\t\t\t\t\"to\": 47,\r\n\t\t\t\t\"value\": 3\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"from\": 48,\r\n\t\t\t\t\"to\": 71,\r\n\t\t\t\t\"value\": 4\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"greeks\": {\r\n\t\t\"ALPHA\": \"Α\",\r\n\t\t\"BETA\": \"Β\",\r\n\t\t\"GAMMA\": \"Γ\",\r\n\t\t\"DELTA\": \"Δ\",\r\n\t\t\"EPSILON\": \"Ε\",\r\n\t\t\"ZETA\": \"Ζ\",\r\n\t\t\"ETA\": \"Η\",\r\n\t\t\"THETA\": \"Θ\",\r\n\t\t\"IOTA\": \"Ι\",\r\n\t\t\"KAPPA\": \"Κ\",\r\n\t\t\"LAMBDA\": \"Λ\",\r\n\t\t\"MU\": \"Μ\",\r\n\t\t\"NU\": \"Ν\",\r\n\t\t\"XI\": \"Ξ\",\r\n\t\t\"OMICRON\": \"Ο\",\r\n\t\t\"PI\": \"Π\",\r\n\t\t\"RHO\": \"Ρ\",\r\n\t\t\"SIGMA\": \"Σ\",\r\n\t\t\"TAU\": \"Τ\",\r\n\t\t\"UPSILON\": \"Υ\",\r\n\t\t\"PHI\": \"Φ\",\r\n\t\t\"CHI\": \"Χ\",\r\n\t\t\"PSI\": \"Ψ\",\r\n\t\t\"OMEGA\": \"Ω\"\r\n\t},\r\n\t\"threads\": {\r\n\t\t\"Teal\": \"#00bce4\",\r\n\t\t\"Cardinal\": \"#a80532\",\r\n\t\t\"Texas Orange\": \"#af5711\",\r\n\t\t\"Royal\": \"#0061aa\",\r\n\t\t\"Tan\": \"#b09167\",\r\n\t\t\"Light Brown\": \"#cd9227\",\r\n\t\t\"Mango\": \"#f4846b\",\r\n\t\t\"Sand\": \"#e7e7cf\",\r\n\t\t\"Vegas Gold\": \"#e5ca68\",\r\n\t\t\"Russett\": \"#bf2c37\",\r\n\t\t\"Purple\": \"#2b135e\",\r\n\t\t\"Silver\": \"#cbd0d4\",\r\n\t\t\"Old Gold\": \"#c39809\",\r\n\t\t\"Brown\": \"#634a34\",\r\n\t\t\"Yellow\": \"#ffd51d\",\r\n\t\t\"Tennessee Orange\": \"#f4793e\",\r\n\t\t\"Lime\": \"#7ac142\",\r\n\t\t\"Yellow Softball\": \"#f3ee5f\",\r\n\t\t\"Navy\": \"#002d57\",\r\n\t\t\"Red\": \"#e2383f\",\r\n\t\t\"Beige\": \"#d0c78a\",\r\n\t\t\"Sonic Bronze\": \"#b87310\",\r\n\t\t\"Dark Green\": \"#005838\",\r\n\t\t\"Athletic Gold\": \"#fdb827\",\r\n\t\t\"Light Orange\": \"#f9a13a\",\r\n\t\t\"Ivory\": \"#f6f1d1\",\r\n\t\t\"Green\": \"#009b67\",\r\n\t\t\"Light Purple\": \"#b7aed6\",\r\n\t\t\"Maize\": \"#ffdb6a\",\r\n\t\t\"Carolina Blue\": \"#68aee0\",\r\n\t\t\"Khaki\": \"#dbbe95\",\r\n\t\t\"Hot Pink\": \"#e50278\",\r\n\t\t\"Pink\": \"#f7a6ac\",\r\n\t\t\"Dark Grey\": \"#8f989d\",\r\n\t\t\"Maroon\": \"#744143\",\r\n\t\t\"Plum\": \"#5a3632\",\r\n\t\t\"Black\": \"#231f20\",\r\n\t\t\"White\": \"#ffffff\",\r\n\t\t\"Metallic Silver\": \"#a8b1b7\",\r\n\t\t\"Metallic Gold\": \"#c88912\"\r\n\t},\r\n\t\"rgb2name\": {\r\n\t\t\"#00bce4\": \"Teal\",\r\n\t\t\"#a80532\": \"Cardinal\",\r\n\t\t\"#af5711\": \"Texas Orange\",\r\n\t\t\"#0061aa\": \"Royal\",\r\n\t\t\"#b09167\": \"Tan\",\r\n\t\t\"#cd9227\": \"Light Brown\",\r\n\t\t\"#f4846b\": \"Mango\",\r\n\t\t\"#e7e7cf\": \"Sand\",\r\n\t\t\"#e5ca68\": \"Vegas Gold\",\r\n\t\t\"#bf2c37\": \"Russett\",\r\n\t\t\"#2b135e\": \"Purple\",\r\n\t\t\"#cbd0d4\": \"Silver\",\r\n\t\t\"#c39809\": \"Old Gold\",\r\n\t\t\"#634a34\": \"Brown\",\r\n\t\t\"#ffd51d\": \"Yellow\",\r\n\t\t\"#f4793e\": \"Tennessee Orange\",\r\n\t\t\"#7ac142\": \"Lime\",\r\n\t\t\"#f3ee5f\": \"Yellow Softball\",\r\n\t\t\"#002d57\": \"Navy\",\r\n\t\t\"#e2383f\": \"Red\",\r\n\t\t\"#d0c78a\": \"Beige\",\r\n\t\t\"#b87310\": \"Sonic Bronze\",\r\n\t\t\"#005838\": \"Dark Green\",\r\n\t\t\"#fdb827\": \"Athletic Gold\",\r\n\t\t\"#f9a13a\": \"Light Orange\",\r\n\t\t\"#f6f1d1\": \"Ivory\",\r\n\t\t\"#009b67\": \"Green\",\r\n\t\t\"#b7aed6\": \"Light Purple\",\r\n\t\t\"#ffdb6a\": \"Maize\",\r\n\t\t\"#68aee0\": \"Carolina Blue\",\r\n\t\t\"#dbbe95\": \"Khaki\",\r\n\t\t\"#e50278\": \"Hot Pink\",\r\n\t\t\"#f7a6ac\": \"Pink\",\r\n\t\t\"#8f989d\": \"Dark Grey\",\r\n\t\t\"#744143\": \"Maroon\",\r\n\t\t\"#5a3632\": \"Plum\",\r\n\t\t\"#231f20\": \"Black\",\r\n\t\t\"#ffffff\": \"White\",\r\n\t\t\"#a8b1b7\": \"Metallic Silver\",\r\n\t\t\"#c88912\": \"Metallic Gold\",\r\n\t\t\"#DDA0DD\": \"Lilac\",\r\n\t\t\"#F5F5DC\": \"Stone\",\r\n\t\t\"#808000\": \"Light Olive\",\r\n\t\t\"#008000\": \"Kelly\",\r\n\t\t\"#87CEFA\": \"Columbia Blue\",\r\n\t\t\"#2F4F4F\": \"Charcoal\",\r\n\t\t\"#556B2F\": \"Camo\"\r\n\t},\r\n\t\"rgb2font\": {\r\n\t\t\"#00bce4\": \"#231f20\",\r\n\t\t\"#a80532\": \"#ffffff\",\r\n\t\t\"#af5711\": \"#231f20\",\r\n\t\t\"#0061aa\": \"Royal\",\r\n\t\t\"#b09167\": \"#231f20\",\r\n\t\t\"#cd9227\": \"#231f20\",\r\n\t\t\"#f4846b\": \"#ffffff\",\r\n\t\t\"#e7e7cf\": \"#231f20\",\r\n\t\t\"#e5ca68\": \"#231f20\",\r\n\t\t\"#bf2c37\": \"#ffffff\",\r\n\t\t\"#2b135e\": \"#ffffff\",\r\n\t\t\"#cbd0d4\": \"#231f20\",\r\n\t\t\"#c39809\": \"#231f20\",\r\n\t\t\"#634a34\": \"#ffffff\",\r\n\t\t\"#ffd51d\": \"#231f20\",\r\n\t\t\"#f4793e\": \"#231f20\",\r\n\t\t\"#7ac142\": \"#231f20\",\r\n\t\t\"#f3ee5f\": \"#231f20\",\r\n\t\t\"#002d57\": \"#ffffff\",\r\n\t\t\"#e2383f\": \"#ffffff\",\r\n\t\t\"#d0c78a\": \"#231f20\",\r\n\t\t\"#b87310\": \"#231f20\",\r\n\t\t\"#005838\": \"#ffffff\",\r\n\t\t\"#fdb827\": \"#231f20\",\r\n\t\t\"#f9a13a\": \"#231f20\",\r\n\t\t\"#f6f1d1\": \"#231f20\",\r\n\t\t\"#009b67\": \"#ffffff\",\r\n\t\t\"#b7aed6\": \"#ffffff\",\r\n\t\t\"#ffdb6a\": \"#231f20\",\r\n\t\t\"#68aee0\": \"#231f20\",\r\n\t\t\"#dbbe95\": \"#231f20\",\r\n\t\t\"#e50278\": \"#231f20\",\r\n\t\t\"#f7a6ac\": \"#231f20\",\r\n\t\t\"#8f989d\": \"#ffffff\",\r\n\t\t\"#744143\": \"#ffffff\",\r\n\t\t\"#5a3632\": \"#ffffff\",\r\n\t\t\"#231f20\": \"#ffffff\",\r\n\t\t\"#ffffff\": \"#231f20\",\r\n\t\t\"#a8b1b7\": \"#231f20\",\r\n\t\t\"#c88912\": \"#231f20\",\r\n\t\t\"#DDA0DD\": \"#ffffff\",\r\n\t\t\"#F5F5DC\": \"#ffffff\",\r\n\t\t\"#808000\": \"#ffffff\",\r\n\t\t\"#008000\": \"#ffffff\",\r\n\t\t\"#87CEFA\": \"#ffffff\",\r\n\t\t\"#2F4F4F\": \"#ffffff\",\r\n\t\t\"#556B2F\": \"#af5711\"\r\n\t},\r\n\t\"name2rgb\": {\r\n\t\t\"Teal\": \"#00bce4\",\r\n\t\t\"Cardinal\": \"#a80532\",\r\n\t\t\"Texas Orange\": \"#af5711\",\r\n\t\t\"Royal\": \"#0061aa\",\r\n\t\t\"Tan\": \"#b09167\",\r\n\t\t\"Light Brown\": \"#cd9227\",\r\n\t\t\"Mango\": \"#f4846b\",\r\n\t\t\"Sand\": \"#e7e7cf\",\r\n\t\t\"Vegas Gold\": \"#e5ca68\",\r\n\t\t\"Russett\": \"#bf2c37\",\r\n\t\t\"Purple\": \"#2b135e\",\r\n\t\t\"Silver\": \"#cbd0d4\",\r\n\t\t\"Old Gold\": \"#c39809\",\r\n\t\t\"Brown\": \"#634a34\",\r\n\t\t\"Yellow\": \"#ffd51d\",\r\n\t\t\"Tennessee Orange\": \"#f4793e\",\r\n\t\t\"Lime\": \"#7ac142\",\r\n\t\t\"Yellow Softball\": \"#f3ee5f\",\r\n\t\t\"Navy\": \"#002d57\",\r\n\t\t\"Red\": \"#e2383f\",\r\n\t\t\"Beige\": \"#d0c78a\",\r\n\t\t\"Sonic Bronze\": \"#b87310\",\r\n\t\t\"Dark Green\": \"#005838\",\r\n\t\t\"Athletic Gold\": \"#fdb827\",\r\n\t\t\"Light Orange\": \"#f9a13a\",\r\n\t\t\"Ivory\": \"#f6f1d1\",\r\n\t\t\"Green\": \"#009b67\",\r\n\t\t\"Light Purple\": \"#b7aed6\",\r\n\t\t\"Maize\": \"#ffdb6a\",\r\n\t\t\"Carolina Blue\": \"#68aee0\",\r\n\t\t\"Khaki\": \"#dbbe95\",\r\n\t\t\"Hot Pink\": \"#e50278\",\r\n\t\t\"Pink\": \"#f7a6ac\",\r\n\t\t\"Dark Grey\": \"#8f989d\",\r\n\t\t\"Maroon\": \"#744143\",\r\n\t\t\"Plum\": \"#5a3632\",\r\n\t\t\"Black\": \"#231f20\",\r\n\t\t\"White\": \"#ffffff\",\r\n\t\t\"Metallic Silver\": \"#a8b1b7\",\r\n\t\t\"Metallic Gold\": \"#c88912\",\r\n\t\t\"Lilac\": \"#DDA0DD\",\r\n\t\t\"Stone\": \"#F5F5DC\",\r\n\t\t\"Light Olive\": \"#808000\",\r\n\t\t\"Kelly\": \"#008000\",\r\n\t\t\"Columbia Blue\": \"#87CEFA\",\r\n\t\t\"Charcoal\": \"#2F4F4F\"\r\n\t}\r\n}\r\n\r\nmodule.exports = db;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar g \t\t\t= __webpack_require__(0);\r\n\r\n\r\nvar util = {\r\n\r\n\t\"validateLength\" : function validateLength(design, id, txt) {\r\n\t\tif (txt.length > g.limits[design][id]) return \"Too Long\";\r\n\t\treturn txt;\r\n\t},\r\n\r\n\t\"rgb2hex\": function rgb2hex(rgb) {\r\n\t\trgb = rgb.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\r\n\t\tfunction hex(x) {\r\n\t\t\treturn (\"0\" + parseInt(x).toString(16)).slice(-2);\r\n\t\t}\r\n\t\treturn \"#\" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);\r\n\t},\r\n\r\n\r\n\t/* COOKIE Code */\r\n\t\"saveCookie\": function saveCookie() {\r\n\t\tvar compressedCookie = LZString.compressToBase64(JSON.stringify(g.cook));\r\n\t\tconsole.log(\"Cookie len is \" + compressedCookie.length + \" \" + compressedCookie.substring(0,80));\r\n\t\tthis.createCookie(\"customizer\", compressedCookie);\r\n\t\treturn compressedCookie;\r\n\t},\r\n\r\n\r\n\t\"loadCookie\": function loadCookie() {\r\n\t\tvar compressedCookie = this.readCookie(\"customizer\");\r\n\t\tvar cookieAsString = LZString.decompressFromBase64(compressedCookie);\r\n\t\tif (cookieAsString && cookieAsString.length>0) g.cook = JSON.parse(cookieAsString);\r\n\t\tconsole.log(\"Cookie is \\n\" + JSON.stringify(g.cook, null, 4));\r\n\r\n\t\tif (g.cook.cat==undefined) {\r\n\t\t\tg.cook = {\r\n\t\t\t \"cat\": \"hats\",\r\n\t\t\t \"style\": \"GB2015\",\r\n\t\t\t \"color\": \"GB2015WH\",\r\n\t\t\t \"design\": \"bar\"\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (g.cook.pats!=undefined) g.pats = g.cook.pats;\r\n\t},\r\n\r\n\t\"uncompressDesign\": function uncompressDesign(compressedCookie) {\r\n\t\tvar cookieAsString = LZString.decompressFromBase64(compressedCookie);\r\n\t\tif (cookieAsString && cookieAsString.length>0) g.cook = JSON.parse(cookieAsString);\r\n\t\tconsole.log(\"Cookie is \\n\" + JSON.stringify(g.cook, null, 4));\r\n\t},\r\n\r\n\r\n\t/* generic cookie utilities */\r\n\t\"createCookie\": function createCookie(name, value, days){\r\n\t\tvar expires = \"\";\r\n\t\tif (days) {\r\n\t\t\tvar date = new Date();\r\n\t\t\tdate.setTime(date.getTime()+(days*24*60*60*1000));\r\n\t\t\texpires = \"; expires=\"+date.toGMTString();\r\n\t\t}\r\n\t\tdocument.cookie = name + \"=\" + value + expires + \"; path=/\";\r\n\t},\r\n\r\n\t\"readCookie\": function readCookie(name){\r\n\t\tvar nameEQ = name + \"=\";\r\n\t\tvar ca = document.cookie.split(';');\r\n\t\tfor(var i=0; i < ca.length; i++) {\r\n\t\t\tvar c = ca[i];\r\n\t\t\twhile (c.charAt(0)==' ') c = c.substring(1, c.length);\r\n\t\t\tif (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\r\n\t\t}\r\n\t\treturn null;\r\n\t},\r\n\r\n\t\"eraseCookie\": function eraseCookie(name){\r\n\t\tcreateCookie(name,\"\",-1);\r\n\t}\r\n\t/* END generic cookie utilities */\r\n\r\n\t/* END COOKIE Code */\r\n\r\n}\r\n\r\nconsole.log(\"util.js loaded\");\r\n\r\nmodule.exports = util;\r\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar g \t\t\t\t= __webpack_require__(0);\r\nvar util \t\t\t= __webpack_require__(2);\r\nvar db \t\t\t\t= __webpack_require__(1);\r\n\r\nvar bar = {\r\n\r\n\r\n\t\"barInit\": function barInit(){\r\n\t\tvar self = this;\r\n\t\t\r\n\t\tconsole.log(\"barInit()\");\r\n\r\n\t\tvar cat \t= g.cook[\"cat\"];\r\n\t\tvar style \t= g.cook[\"style\"];\r\n\t\tvar color \t= g.cook[\"color\"];\r\n\r\n\t\t//$(\"#colorpicker-wrapper\").load(\"snippets/colorpicker.html\", function (){\r\n\t\t//\tcolorpicker.colorpickerInit();\r\n\t\t//});\r\n\r\n\t\t// These are the text inputs for the bar text (top and bottom)\r\n\t\t$('.form-control.bar').on('input', function(e){\r\n\t\t\tconsole.log(\"input changed for: \" + $(this).attr('id'));\r\n\t\t\tg.textchange.changedElementID = $(this).attr('id');\r\n\t\t\tself.barTextChanged();\r\n\t\t});\r\n\r\n\r\n\t\tif ((g.cook[\"pats\"]==undefined) || (g.pats.bar.textColor==undefined)) {\r\n\t\t\t// this means we need to load default colors for the product\r\n\t\t\tg.pats.bar.textColor \t\t= db.threads[ db.cats[cat][style].colors[color].c1 ];\r\n\t\t\tg.pats.bar.barColor\t\t\t= db.threads[ db.cats[cat][style].colors[color].c2 ];\r\n\t\t\t\r\n\t\t\tg.pats.bar.textColorName \t= db.rgb2name[g.pats.bar.textColor];\r\n\t\t\tg.pats.bar.barColorName \t= db.rgb2name[g.pats.bar.barColor];\r\n\r\n\t\t\tg.pats.bar.textFontColor \t= db.rgb2font[g.pats.bar.textColor];\r\n\t\t\tg.pats.bar.barFontColor \t= db.rgb2font[g.pats.bar.barColor];\r\n\t\t} \r\n\r\n\t\tthis.barRepaintDesign();\r\n\t\tthis.barGlobalToForm();\r\n\t},\r\n\r\n\r\n\t\"barFormToGlobal\": function barFormToGlobal(){\r\n\r\n\t\t// store buttons' background color\r\n\t\tg.pats.bar.barColor \t\t= util.rgb2hex($('#btnBarPickBarColor').css('background-color'));\r\n\t\tg.pats.bar.textColor \t\t= util.rgb2hex($('#btnBarPickTextColor').css('background-color'));\r\n\r\n\t\t// store bar and text color names\r\n\t\tg.pats.bar.barColorName \t= document.getElementById('btnBarPickBarColor').textContent;\r\n\t\tg.pats.bar.textColorName \t= document.getElementById('btnBarPickTextColor').textContent;\r\n\r\n\t\t// store font color used to label the colored buttons\r\n\t\tg.pats.bar.barFontColor\t\t= db.rgb2font[g.pats.bar.barColor];\r\n\t\tg.pats.bar.textFontColor\t= db.rgb2font[g.pats.bar.textColor];\r\n\r\n\t\t// store text top line and bottom line values\r\n\t\tg.pats.bar.topText \t\t\t= $(\"#txtBarTop\").val();\r\n\t\tg.pats.bar.botText \t\t\t= $(\"#txtBarBottom\").val();\r\n\r\n\t},\r\n\r\n\r\n\t\"barGlobalToForm\": function barGlobalToForm() {\r\n\r\n\t\t// This is only meaningful on the initial screen load\r\n\r\n\t\t// set Text in Buttons\r\n\t\tdocument.getElementById('btnBarPickBarColor').textContent \t= g.pats.bar.barColorName;\r\n\t\tdocument.getElementById('btnBarPickTextColor').textContent \t= g.pats.bar.textColorName;\r\n\r\n\t\t// set Background color of Buttons\r\n\t\t$('#btnBarPickBarColor').css('background-color', g.pats.bar.barColor);\r\n\t\t$('#btnBarPickTextColor').css('background-color', g.pats.bar.textColor);\r\n\r\n\t\t// set font color of color's name in button\r\n\t\t$('#btnBarPickBarColor').css('color', g.pats.bar.barFontColor);\r\n\t\t$('#btnBarPickTextColor').css('color', g.pats.bar.textFontColor);\r\n\r\n\t\t// set text value for top line and bottom line\r\n\t\t$('#txtBarTop').val(g.pats.bar.topText);\r\n\t\t$('#txtBarBottom').val(g.pats.bar.botText);\r\n\r\n\t},\r\n\r\n\r\n\t\"barRepaintDesign\": function barRepaintDesign(){\r\n\r\n\t\t// Global knows what the design should look like\r\n\t\t// Cookie knows which product (style and color)\r\n\r\n\t\tvar cat \t= g.cook[\"cat\"];\r\n\t\tvar style \t= g.cook[\"style\"];\r\n\t\tvar color \t= g.cook[\"color\"];\r\n\r\n\t\tvar fabric = db.cats[cat][style].colors[color].fabric;\r\n\r\n\t\t// Update text fields in the design\r\n\t\tdocument.getElementById('barTopText').textContent \t= util.validateLength('bar', 'barTopText', this.handleTypography(g.pats.bar.topText));\r\n\t\tdocument.getElementById('barBotText').textContent \t= util.validateLength('bar', 'barBotText', g.pats.bar.botText);\r\n\r\n\t\t// Update colors\r\n\t\t$('#background').css('fill',\tfabric);\r\n\t\t$('.barBars').css('stroke',\t\tg.pats.bar.barColor);\r\n\t\t$('.barText').css('fill', \t\tg.pats.bar.textColor);\r\n\r\n\t\tsetTimeout(function (){\r\n\t\t\t// Resize Top text to fit\r\n\t\t\tvar width=500, height=172;\r\n\t\t\tvar textNode = document.getElementById(\"barTopText\");\r\n\t\t\tvar bb = textNode.getBBox();\r\n\t\t\tvar widthTransform = width / bb.width;\r\n\t\t\tvar heightTransform = height / bb.height;\r\n\t\t\tif (widthTransform > 3) widthTransform = 3;\r\n\t\t\t//console.log(\"TOP: wt: \" + widthTransform.toFixed(2) + \" ht: \" + heightTransform.toFixed(2) + \" w/t: \" + (widthTransform / heightTransform).toFixed(2) + \" t/w: \" + (heightTransform / widthTransform).toFixed(2) );\r\n\t\t\ttextNode.setAttribute(\"transform\", \"matrix(\"+widthTransform+\", 0, 0, \"+heightTransform+\", 0,0)\");\r\n\t\t\ttextNode.setAttribute(\"x\", 254 / widthTransform);\r\n\t\t\ttextNode.setAttribute(\"y\", 118 / heightTransform);\r\n\r\n\t\t\t// Resize Bottom text to fit\r\n\t\t\tvar width=500, height=68;\r\n\t\t\tvar textNode = document.getElementById(\"barBotText\");\r\n\t\t\tvar bb = textNode.getBBox();\r\n\t\t\tvar widthTransform = width / bb.width;\r\n\t\t\tvar heightTransform = height / bb.height;\r\n\t\t\tif (widthTransform > 2) widthTransform = 2;\r\n\t\t\t//console.log(\"BOT: wt: \" + widthTransform.toFixed(2) + \" ht: \" + heightTransform.toFixed(2) + \" w/t: \" + (widthTransform / heightTransform).toFixed(2) + \" t/w: \" + (heightTransform / widthTransform).toFixed(2) );\r\n\t\t\ttextNode.setAttribute(\"transform\", \"matrix(\"+widthTransform+\", 0, 0, \"+heightTransform+\", 0,0)\");\r\n\t\t\ttextNode.setAttribute(\"x\", 254 / widthTransform);\r\n\t\t\ttextNode.setAttribute(\"y\", 176 / heightTransform);\r\n\t\t}, 300);\r\n\r\n\t},\r\n\r\n\r\n\t\"handleTypography\": function handleTypography(raw) {\r\n\r\n\t\tvar res = \"\";\r\n\r\n\t\tif (raw.substring(0,1)==\"/\") {\r\n\t\t\t// greeks look like /ALPHA /CHI /OMEGA\r\n\t\t\tvar chars = raw.split(\"/\");\r\n\t\t\tchars.shift();\r\n\t\t\tchars.forEach(function (token){\r\n\t\t\t\tres += ((db.greeks[token.toUpperCase().trim()]==undefined)?\"?\":db.greeks[token.toUpperCase().trim()]);\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tres = raw.toUpperCase();\r\n\t\t}\r\n\r\n\t\treturn res;\r\n\t},\r\n\r\n\r\n\t\"barColorChanged\": function barColorChanged() {\r\n\t\tvar self = this;\r\n\r\n\t\t// When we're fired, we need to -\r\n\t\t//\t- update the form that holds the colors chosen\r\n\t\t//\t- invoke circleFormToGlobal() to move all form fields to global\r\n\t\t//\t- invoke circleRepaintDesign() to repaint the design and the colorpicker buttons\r\n\r\n\r\n\t\tvar btnID = g.colorpicker.pickedElementID;\r\n\r\n\t\tdocument.getElementById(btnID).textContent = g.colorpicker.pickedColorName;\r\n\r\n\t\t$('#' + btnID).css('background-color', \tutil.rgb2hex(g.colorpicker.pickedColor));\r\n\t\t$('#' + btnID).css('color', \t\t\tutil.rgb2hex(g.colorpicker.pickedColorTextColor));\r\n\r\n\t\tsetTimeout(function (){\r\n\t\t\tself.barFormToGlobal();\r\n\t\t\tself.barRepaintDesign();\r\n\t\t}, 500);\r\n\t},\r\n\r\n\r\n\r\n\t\"barTextChanged\": function barTextChanged() {\r\n\r\n\t\tvar txtID = g.textchange.changedElementID;\r\n\t\tconsole.log(\"[barTextChanged] id is \" + txtID);\r\n\r\n\t\tthis.barFormToGlobal();\r\n\t\tthis.barRepaintDesign();\r\n\r\n\t}\r\n\r\n}\r\n\r\nconsole.log(\"bar.js loaded\");\r\n\r\nmodule.exports = bar;\r\n\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar g \t\t\t\t= __webpack_require__(0);\r\nvar util \t\t\t= __webpack_require__(2);\r\nvar db \t\t\t\t= __webpack_require__(1);\r\n\r\nvar circle = {\r\n\r\n\t\"circleInit\": function circleInit(){\r\n\t\tvar self = this;\r\n\r\n\t\tconsole.log(\"circleInit()\");\r\n\r\n\t\tvar cat \t= g.cook[\"cat\"];\r\n\t\tvar style \t= g.cook[\"style\"];\r\n\t\tvar color \t= g.cook[\"color\"];\r\n\r\n\t\t//$(\"#colorpicker-wrapper\").load(\"snippets/colorpicker.html\", function (){\r\n\t\t//\tcolorpicker.colorpickerInit();\r\n\t\t//});\r\n\r\n\t\t// These are the text inputs for all the text fields in the design\r\n\t\t$('.form-control.circle').on('input', function(e){\r\n\t\t\tg.textchange.changedElementID = $(this).attr('id');\r\n\t\t\tself.circleTextChanged();\r\n\t\t});\r\n\r\n\t\tif ((g.cook[\"pats\"]==undefined) || (g.pats.circle.textColor==undefined)) {\r\n\t\t\t// this means we need to load default colors for the product\r\n\t\t\tg.pats.circle.textColor \t= db.threads[ db.cats[cat][style].colors[color].c1 ];\r\n\t\t\tg.pats.circle.scriptColor \t= db.threads[ db.cats[cat][style].colors[color].c1 ];\r\n\t\t\tg.pats.circle.circleColor \t= db.threads[ db.cats[cat][style].colors[color].c2 ];\r\n\t\t\t\r\n\t\t\tg.pats.circle.textColorName \t= db.rgb2name[g.pats.circle.textColor];\r\n\t\t\tg.pats.circle.scriptColorName \t= db.rgb2name[g.pats.circle.scriptColor];\r\n\t\t\tg.pats.circle.circleColorName \t= db.rgb2name[g.pats.circle.circleColor];\r\n\r\n\t\t\tg.pats.circle.textFontColor \t= db.rgb2font[g.pats.circle.textColor];;\r\n\t\t\tg.pats.circle.scriptFontColor \t= db.rgb2font[g.pats.circle.scriptColor];\r\n\t\t\tg.pats.circle.circleFontColor \t= db.rgb2font[g.pats.circle.circleColor];\r\n\t\t} \r\n\r\n\t\tthis.circleGlobalToForm();\r\n\t\tthis.circleRepaintDesign();\r\n\r\n\t},\r\n\r\n\t\"circleFormToGlobal\": function circleFormToGlobal(){\r\n\r\n\t\t// store buttons' background color\r\n\t\tg.pats.circle.circleColor \t\t= util.rgb2hex($('#btnCirclePickCircleColor').css('background-color'));\r\n\t\tg.pats.circle.textColor \t\t= util.rgb2hex($('#btnCirclePickCircleTextColor').css('background-color'));\r\n\t\tg.pats.circle.scriptColor \t\t= util.rgb2hex($('#btnCirclePickCircleScriptColor').css('background-color'));\r\n\r\n\t\t// store bar and text color names\r\n\t\tg.pats.circle.circleColorName \t= document.getElementById('btnCirclePickCircleColor').textContent;\r\n\t\tg.pats.circle.textColorName \t= document.getElementById('btnCirclePickCircleTextColor').textContent;\r\n\t\tg.pats.circle.scriptColorName \t= document.getElementById('btnCirclePickCircleScriptColor').textContent;\r\n\r\n\t\t// store font color used to label the colored buttons\r\n\t\tg.pats.circle.circleFontColor\t= db.rgb2font[g.pats.circle.circleColor];\r\n\t\tg.pats.circle.textFontColor\t\t= db.rgb2font[g.pats.circle.textColor];\r\n\t\tg.pats.circle.scriptFontColor\t= db.rgb2font[g.pats.circle.scriptColor];\r\n\r\n\t\t// store text values\r\n\t\tg.pats.circle.topText \t\t= $(\"#txtCircleTop\").val();\r\n\t\tg.pats.circle.botText \t\t= $(\"#txtCircleBottom\").val();\r\n\t\tg.pats.circle.scriptText \t= $(\"#txtCircleScript\").val();\r\n\r\n\t},\r\n\r\n\t\"circleGlobalToForm\": function circleGlobalToForm() {\r\n\r\n\t\t// This is only meaningful on the initial screen load (I think)\r\n\r\n\t\tdocument.getElementById('btnCirclePickCircleColor').textContent \t\t= g.pats.circle.circleColorName;\r\n\t\tdocument.getElementById('btnCirclePickCircleTextColor').textContent \t= g.pats.circle.textColorName;\r\n\t\tdocument.getElementById('btnCirclePickCircleScriptColor').textContent \t= g.pats.circle.scriptColorName;\r\n\r\n\t\t$('#btnCirclePickCircleColor').css('background-color', g.pats.circle.circleColor);\r\n\t\t$('#btnCirclePickCircleTextColor').css('background-color', g.pats.circle.textColor);\r\n\t\t$('#btnCirclePickCircleScriptColor').css('background-color', g.pats.circle.scriptColor);\r\n\r\n\t\t$('#btnCirclePickCircleColor').css('color', g.pats.circle.circleFontColor);\r\n\t\t$('#btnCirclePickCircleTextColor').css('color', g.pats.circle.textFontColor);\r\n\t\t$('#btnCirclePickCircleScriptColor').css('color', g.pats.circle.scriptFontColor);\r\n\r\n\t\t$('#txtCircleTop').val(g.pats.circle.topText);\r\n\t\t$('#txtCircleScript').val(g.pats.circle.scriptText);\r\n\t\t$('#txtCircleBottom').val(g.pats.circle.botText);\r\n\r\n\t},\r\n\r\n\t\"circleRepaintDesign\": function circleRepaintDesign(){\r\n\r\n\t\t// Global knows what we want to paint\r\n\t\t// Cookie knows which item\r\n\r\n\t\tvar cat \t= g.cook[\"cat\"];\r\n\t\tvar style \t= g.cook[\"style\"];\r\n\t\tvar color \t= g.cook[\"color\"];\r\n\r\n\t\tvar fabric = db.cats[cat][style].colors[color].fabric;\r\n\r\n\t\t// Update text fields\r\n\t\tdocument.getElementById('circTopTextSpan').textContent \t= util.validateLength('circle', 'circTopTextSpan', g.pats.circle.topText.toUpperCase());\r\n\t\tdocument.getElementById('circBotTextSpan').textContent \t= util.validateLength('circle', 'circBotTextSpan', g.pats.circle.botText.toUpperCase());\r\n\t\tdocument.getElementById('circScriptText').textContent \t= util.validateLength('circle', 'circScriptText', g.pats.circle.scriptText);\r\n\r\n\t\t// Update colors\r\n\t\t$('#background').css('fill',\t\t\tfabric);\r\n\t\t$('.circleBlockText').css('fill', \t\tg.pats.circle.textColor);\r\n\t\t$('.circleScriptText').css('fill', \t\tg.pats.circle.scriptColor);\r\n\t\t$('.circleScriptText').css('stroke', \tdb.rgb2font[g.pats.circle.circleColor]);\r\n\t\t$('#circleFill').css('fill', \t\t\tg.pats.circle.circleColor);\r\n\r\n\t\t// Now, resize Script text to fit\r\n\t\t//var width=540, height=200;\r\n\t\tvar wrap \t\t\t= document.getElementById(\"circWrap\");\r\n\t\t//var textNode \t\t= document.getElementById(\"circScriptText\");\r\n\t\t//var bb \t\t\t\t= textNode.getBBox();\r\n\t\t//var widthTransform \t= width / bb.width;\r\n\t\t//var heightTransform = height / bb.height;\r\n\t\t//if (widthTransform > 3) widthTransform = 3;\r\n\t\t//console.log(\"SCR1: wt: \" + widthTransform.toFixed(2) + \" ht: \" + heightTransform.toFixed(2) + \" w/t: \" + (widthTransform / heightTransform).toFixed(2) + \" t/w: \" + (heightTransform / widthTransform).toFixed(2) );\r\n\t\t//textNode.setAttribute(\"transform\", \"matrix(\"+widthTransform+\", 0, 0, \"+heightTransform+\", 0,0)\");\r\n\t\t//textNode.setAttribute(\"x\", 310 / widthTransform);\r\n\t\t//textNode.setAttribute(\"y\", 324 / heightTransform);\r\n\r\n\t\twrap.setAttribute(\"transform\", \"rotate(-14, 310, 324)\");\r\n\r\n\t\tconsole.log(\"before timer\");\r\n\r\n\t\tsetTimeout(function (){\r\n\r\n\t\t\tconsole.log(\"just after timer\");\r\n\r\n\t\t\t// Now, resize Script text to fit\r\n\t\t\tvar width=540, height=200;\r\n\t\t\tvar wrap \t\t\t= document.getElementById(\"circWrap\");\r\n\t\t\tvar textNode \t\t= document.getElementById(\"circScriptText\");\r\n\t\t\tvar bb \t\t\t\t= textNode.getBBox();\r\n\t\t\tvar widthTransform \t= width / bb.width;\r\n\t\t\tvar heightTransform = height / bb.height;\r\n\t\t\t//console.log(\"SCR2: wt: \" + widthTransform.toFixed(2) + \" ht: \" + heightTransform.toFixed(2) + \" w/t: \" + (widthTransform / heightTransform).toFixed(2) + \" t/w: \" + (heightTransform / widthTransform).toFixed(2) );\r\n\t\t\tif (widthTransform > 4.5) widthTransform = 4.5;\r\n\r\n\t\t\ttextNode.setAttribute(\"transform\", \"matrix(\"+widthTransform+\", 0, 0, \"+heightTransform+\", 0,0)\");\r\n\r\n\t\t\ttextNode.setAttribute(\"x\", 310 / widthTransform);\r\n\t\t\ttextNode.setAttribute(\"y\", 324 / heightTransform);\r\n\r\n\t\t}, 300);\r\n\r\n\t},\r\n\r\n\t\"circleColorChanged\": function circleColorChanged() {\r\n\t\tvar self = this;\r\n\r\n\t\t// When we're fired, we need to -\r\n\t\t//\t- update the form that holds the colors chosen\r\n\t\t//\t- invoke circleFormToGlobal() to move all form fields to global\r\n\t\t//\t- invoke circleRepaintDesign() to repaint the design and the colorpicker buttons\r\n\r\n\t\tvar btnID = g.colorpicker.pickedElementID;\r\n\r\n\t\tdocument.getElementById(btnID).textContent = g.colorpicker.pickedColorName;\r\n\r\n\t\t$('#' + btnID).css('background-color', \tutil.rgb2hex(g.colorpicker.pickedColor));\r\n\t\t$('#' + btnID).css('color', \t\t\tutil.rgb2hex(g.colorpicker.pickedColorTextColor));\r\n\r\n\t\tsetTimeout(function (){\r\n\t\t\tself.circleFormToGlobal();\r\n\t\t\tself.circleRepaintDesign();\r\n\t\t}, 300);\r\n\t},\r\n\r\n\t\"circleTextChanged\": function circleTextChanged() {\r\n\t\tvar txtID = g.textchange.changedElementID;\r\n\t\tthis.circleFormToGlobal();\r\n\t\tthis.circleRepaintDesign();\r\n\t}\r\n\r\n}\r\n\r\nmodule.exports = circle;\r\n\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar g \t\t\t\t= __webpack_require__(0);\r\nvar db \t\t\t\t= __webpack_require__(1);\r\nvar bar \t\t\t= __webpack_require__(3);\r\nvar circle \t\t\t= __webpack_require__(4);\r\nvar review \t\t\t= __webpack_require__(6);\r\nvar util \t\t\t= __webpack_require__(2);\r\nvar colorpicker \t= __webpack_require__(7);\r\nvar maintenance\t\t= __webpack_require__(8);\r\n\r\nfunction customInit(pathnameX) {\r\n\t\r\n\t// This is the Document Ready code for every page\r\n\tconsole.log(\"customInit\");\r\n\r\n\t// here, every page stuff\r\n\t$(\"#menulist\").html(\r\n\t\t\t'
  • Custom Hats Home
  • '\r\n\t\t+ \t'
  • Tips and FAQ
  • '\r\n\t\t+ \t'
  • The College Shack Home
  • '\r\n\t);\r\n\r\n\r\n\t// everything below here is per-page stuff\r\n\tvar pathname = window.location.pathname;\r\n\tvar filename = pathname.split('/').pop();\r\n\r\n\tif (filename==\"custom-design-tool.html\") {\r\n\r\n\t\tg.cook = {};\r\n\t\tutil.saveCookie();\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tconsole.log(\"continue\");\r\n\t\t\twindow.location = \"choose-hat-style.html\";\r\n\t\t});\r\n\r\n\t} else if (filename==\"choose-hat-style.html\") {\r\n\r\n\t\tutil.loadCookie();\r\n\r\n\t\t// setting radio button state and active carousel member for remembered hat style\r\n\t\tif (g.cook[\"style\"]!=undefined) {\r\n\t\t\tconsole.log(\"hello\");\r\n\t\t\t$(\"#rad\"+g.cook[\"style\"]).click();\r\n\t\t\t$(\".active\").toggleClass(\"active\");\r\n\t\t\t$(\"#style-\" + g.cook.style).toggleClass(\"active\");\r\n\t\t}\r\n\r\n\t\t$(\"input\").on('click', function (){\r\n\t\t\tconsole.log(\"radio click (\" + $(this).attr(\"data-style\") + \")\");\r\n\t\t});\r\n\r\n\t\t$(\"#btnBack\").on('click', function (){\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"custom-design-tool.html\";\r\n\t\t});\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tg.cook[\"cat\"] \t= $('#xxx input:radio:checked').attr(\"data-cat\");\r\n\t\t\tg.cook[\"style\"] \t= $('#xxx input:radio:checked').attr(\"data-style\");\r\n\t\t\tg.cook[\"color\"] \t= null;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"choose-hat-color-for-\" + g.cook[\"style\"] + \".html\";\r\n\t\t});\r\n\r\n\t} else if (filename.substring(0, \"choose-hat-color-for\".length) == \"choose-hat-color-for\") {\r\n\r\n\t\tutil.loadCookie();\r\n\r\n\t\t// Here, we'd like to assure that the cookie is sensible for this particular page (style and color).\r\n\t\t// This is a problem if the user got here via Google - the cookie will have inappropriate defaults.\r\n\t\tif (g.cook[\"style\"] != _pageStyle) {\r\n\t\t\tg.cook[\"style\"] = _pageStyle;\r\n\t\t\tg.cook[\"color\"] = _pageColor;\r\n\t\t}\r\n\r\n\t\t// setting radio button state and active carousel member for remembered hat color\r\n\t\tif (g.cook[\"color\"]!=undefined){\r\n\t\t\t$(\"#rad\"+g.cook[\"color\"]).click();\r\n\t\t\t$(\".active\").toggleClass(\"active\");\r\n\t\t\t$(\"#color-\" + g.cook.color).toggleClass(\"active\");\r\n\t\t}\r\n\r\n\t\t$(\"input\").on('click', function (){\r\n\t\t\tconsole.log(\"radio click (\" + $(this).attr(\"data-color\") + \")\");\r\n\t\t});\r\n\r\n\t\t$(\"#btnBack\").on('click', function (){\r\n\t\t\tconsole.log(\"back\");\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"choose-hat-style.html\";\r\n\t\t});\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tg.cook[\"cat\"] \t= $('#xxx input:radio:checked').attr(\"data-cat\");\r\n\t\t\tg.cook[\"style\"] \t= $('#xxx input:radio:checked').attr(\"data-style\");\r\n\t\t\tg.cook[\"color\"] \t= $('#xxx input:radio:checked').attr(\"data-color\");;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"designs.html\";\r\n\t\t});\r\n\r\n\r\n\t} else if (filename==\"designs.html\") {\r\n\r\n\t\tutil.loadCookie();\r\n\r\n\t\t// need to assure that only designs supported by the current style are offered here\r\n\t\t_.keys(db.cats.hats[g.cook.style].designs).forEach(function (d){\r\n\t\t\t//console.log(\"For \" + g.cook.style + \" design \" + d + \" is \" + db.cats.hats[g.cook.style].designs[d]);\r\n\t\t\tif (db.cats.hats[g.cook.style].designs[d]==false) {\r\n\t\t\t\t// this design is not supported, so suppress it\r\n\t\t\t\t$(\"#design-\" + d).hide();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\r\n\t\t// setting radio button state and active list-item member for remembered design\r\n\t\tif (g.cook[\"design\"]!=undefined) {\r\n\t\t\t$(\"#rad\"+g.cook[\"design\"]).click();\r\n\t\t\t//$(\".active\").toggleClass(\"active\");\r\n\t\t\t//$(\"#design-\" + g.cook.design).toggleClass(\"active\");\r\n\t\t}\r\n\r\n\t\t$(\"#btnBack\").on('click', function (){\r\n\t\t\tconsole.log(\"back\");\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"choose-hat-color-for-\" + g.cook[\"style\"] + \".html\";\r\n\t\t});\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tg.cook[\"design\"] \t= $('#xxx input:radio:checked').attr(\"data-design\");;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"designs-\" + g.cook[\"design\"] + \".html\";\r\n\t\t});\r\n\r\n\r\n\t} else if (filename==\"designs-bar.html\") {\r\n\r\n\t\tcolorpicker.colorpickerInit();\r\n\r\n\t\tutil.loadCookie();\r\n\t\tbar.barInit();\r\n\r\n\t\t$(\"#btnBack\").on('click', function (){\r\n\t\t\tconsole.log(\"back\");\r\n\t\t\tg.cook[\"pats\"] = g.pats;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"designs.html\";\r\n\t\t});\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tconsole.log(\"continue\");\r\n\t\t\tg.cook[\"pats\"] = g.pats;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"review.html\";\r\n\t\t});\r\n\r\n\r\n\t} else if (filename==\"designs-circle.html\") {\r\n\r\n\t\tcolorpicker.colorpickerInit();\r\n\r\n\t\tutil.loadCookie();\r\n\t\tcircle.circleInit();\r\n\r\n\t\t$(\"#btnBack\").on('click', function (){\r\n\t\t\tconsole.log(\"back\");\r\n\t\t\tg.cook[\"pats\"] = g.pats;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"designs.html\";\r\n\t\t});\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tconsole.log(\"continue\");\r\n\t\t\tg.cook[\"pats\"] = g.pats;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"review.html\";\r\n\t\t});\r\n\r\n\t} else if (filename==\"review.html\") {\r\n\r\n\t\tutil.loadCookie();\r\n\t\treview.reviewInit();\r\n\r\n\t\t$(\"#btnBack\").on('click', function (){\r\n\t\t\tconsole.log(\"back\");\r\n\t\t\tg.cook[\"qty\"] = $(\"#qty\").val();\r\n\t\t\tconsole.log(\"qty from form is \" + $(\"#qty\").val());\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"designs-\" + g.cook[\"design\"] + \".html\";\r\n\t\t});\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tconsole.log(\"continue\");\r\n\t\t\tg.cook[\"qty\"] = $(\"#qty\").val();\r\n\t\t\tutil.saveCookie();\r\n\t\t\treview.writeToCart();\r\n\t\t\t//window.location = \"custom-design-tool.html\";\r\n\t\t});\r\n\r\n\t} else if (filename==\"configger.html\") {\r\n\t\tvar h = maintenance.makePage();\r\n\t\t$(\"#hats\").html(h);\r\n\t\t$(\".clicky\").on('click', function (e){\r\n\t\t\tmaintenance.clicked($(this).attr('id'));\r\n\t\t});\r\n\t\t$(\"#dumpDb\").on('click', function (e){\r\n\t\t\tmaintenance.dumpDb();\r\n\t\t});\r\n\r\n\t} else if (filename==\"viewer.html\"){\r\n\r\n\t\t// We need to grab the encoded state from the url, vivify it, then populate the globals such that the called-for design will render.\r\n\t\tconsole.log(\"qval is (\" + qval('zozo') + \")\");\r\n\t\t// N4IgxghgLiBcIAtoGcQBoTKgTwDYFM4QBxAIQCYAGARgFZ1wB7XRgJyLKroGEBBBgCb5kASwDmAOyJgRrMAQYAHFHFABHHHEoYZchbFBh8EqPnYGQADzgBmatpDZb5ACwBfDG3EipF67CoMJ1hqKg8QKEZFABV8Sxh4Ynw2MXxIgHcpDAAjRihY+KIAVQkRADczUU0MZDBWEUV8uISQAAlGbAhUHVl5fG5mNiIAYggADkpaG3IGU3iBlnMQYfI7ADMqBlr6xoWh+BX1zZ69fsHWADkIAFtCeG4IVgEfCFxZ5r3Lm7uQUlwIMAAay2dQaUE+V1uRD+AOBJz6ADFGCZPiM1uiMe94kiUec0Rj0SCdlAceC8QcCYTwtlHqoIlECi0APSKBAiAAETKEuCgEE5UAQaQgDFyTUK8AA8oD/ghGNc+QBlXmmLFkxZwCQAV1wuByj1RsC1OowczVbEhdyNupANNYEO+Gu11tNpINVr1rFd5KtbnCGmCIFCIDcQA==\r\n\t\tutil.uncompressDesign(qval('zozo'));\r\n\r\n\t} else {\r\n\t\tconsole.log(\"!!!!!!!!!!!!!!!!!!!! Unknown page in CustomInit() - \" + filename);\r\n\t}\r\n\r\n}\r\n\r\n\r\nfunction textChanged() {\r\n\tconsole.log(\"[textChanged()] \" + g.textchange.changedElementID.substr(0, \"txtCircle\".length));\r\n\tif (g.textchange.changedElementID.substr(0, \"txtCircle\".length)==\"txtCircle\") circle.circleTextChanged();\r\n\tif (g.textchange.changedElementID.substr(0, \"txtBar\".length) ==\"txtBar\") bar.barTextChanged();\r\n}\r\n\r\nfunction qval(name) {\r\n\tvar results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);\r\n\treturn results[1] || 0;\r\n}\r\n\r\n\r\n\r\ncustomInit();\r\n\r\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar g \t\t\t\t= __webpack_require__(0);\r\nvar util \t\t\t= __webpack_require__(2);\r\nvar db \t\t\t\t= __webpack_require__(1);\r\n\r\nvar review = {\r\n\r\n\r\n\t\"reviewInit\": function reviewInit() {\r\n\r\n\t\tconsole.log(\"reviewInit()\");\r\n\r\n\t\tvar cat \t= g.cook[\"cat\"];\r\n\t\tvar style \t= g.cook[\"style\"];\r\n\t\tvar color \t= g.cook[\"color\"];\r\n\t\tvar design \t= g.cook[\"design\"];\r\n\t\tvar qty\t\t= g.cook[\"qty\"];\r\n\r\n\t\tif (qty!=undefined) $(\"#qty\").val(qty);\r\n\r\n\t\t$(\"#price-grid-div\").html( this.makePriceTable(style) );\r\n\r\n\t\t$(\"#lead-time\").text(db.cats.hats[style].lead);\r\n\r\n\t},\r\n\r\n\r\n\t\"writeToCart\": function writeToCart() {\r\n\r\n\t\tvar cat \t= g.cook[\"cat\"];\r\n\t\tvar style \t= g.cook[\"style\"];\r\n\t\tvar color \t= g.cook[\"color\"];\r\n\t\tvar design \t= g.cook[\"design\"];\r\n\r\n\t\t// we start by hinding the warning, because we may be here having just showed it\r\n\t\t$(\"#minq-warning\").hide();\r\n\r\n\t\t// first, validate MOQ\r\n\t\tvar qty = $(\"#qty\").val();\r\n\r\n\t\tif (qty < db.cats.hats[style].minq) {\r\n\t\t\t$(\"#minq-warning\").show();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Now, write to cart\r\n\r\n\t\t/* We're sending three options into the cart -\r\n\r\n\t\t\t- Option 319 is the human-readable spec for the item (style, color, design, thread colors and text)\r\n\t\t\t- Option 320 is the Base64-encoded json data that's in our cookie (which has machine readable specs for the item)\r\n\t\t\t- Option 321 is the optional Customer Note (textarea)\r\n\t\t\t\r\n\t\t\tOption 319 data needs to be urlencoded (as does the url we're posting to).\r\n\r\n\t\t\tAlso - we need the item being purchase in a couple of places.\r\n\t\t\tRecall that this is the same as the pricing scheme the item uses.\r\n\t\t\tBasic idea - we've created on Volusion product for every unique pricing schedule we need (qty discount scheme).\r\n\r\n\t\t*/\r\n\r\n\t\tvar cookiedata = util.saveCookie();\r\n\r\n\t\tvar humandata = \"Style: \" \t\t+ style\r\n\t\t\t+ \" * Color: \" \t\t\t\t+ color\r\n\t\t\t+ \" * Design: \" \t\t\t+ design;\r\n\r\n\t\tif (design==\"bar\") {\r\n\r\n\t\t\thumandata += \" * Top Text: \" \t+ g.cook.pats.bar.topText\r\n\t\t\t+ \" * Bottom Text: \" \t\t\t+ g.cook.pats.bar.botText\r\n\t\t\t+ \" * Bar Color: \" \t\t\t\t+ g.cook.pats.bar.barColor\r\n\t\t\t+ \" * Text Color: \" \t\t\t+ g.cook.pats.bar.textColor;\r\n\r\n\t\t} else if (design==\"circle\") {\r\n\r\n\t\t\thumandata += \" * Top Text: \" \t+ g.cook.pats.circle.topText\r\n\t\t\t+ \" * Bottom Text: \" \t\t\t+ g.cook.pats.circle.botText\r\n\t\t\t+ \" * Script Text: \" \t\t\t+ g.cook.pats.circle.scriptText\r\n\t\t\t+ \" * Block Text Color: \" \t\t+ g.cook.pats.circle.textColorName\r\n\t\t\t+ \" * Script Color: \" \t\t\t+ g.cook.pats.circle.scriptColorName\r\n\t\t\t+ \" * Circle Color: \" \t\t\t+ g.cook.pats.circle.circleColorName;\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvar volusionPID = db.cats.hats[style].pid;\r\n\r\n\t\tvar data = \r\n\t\t\t \"TEXTBOX___319___\" + volusionPID + \"___30=\"\t+ encodeURIComponent(humandata)\r\n\t\t\t+ \"&TEXTBOX___320___\" + volusionPID + \"___30=\" \t+ cookiedata\r\n\t\t\t+ \"&TEXTBOX___321___\" + volusionPID + \"___30=\"\t+ encodeURIComponent($(\"#customer-note\").val())\r\n\t\t\t+ \"&QTY.\" + volusionPID + \"=\" + qty\r\n\t\t\t+ \"&btnaddtocart.x=87\"\r\n\t\t\t+ \"&btnaddtocart.y=18\"\r\n\t\t\t+ \"&ReplaceCartID=\"\r\n\t\t\t+ \"&ProductCode=\" + volusionPID\r\n\t\t\t+ \"&e=\"\r\n\t\t\t+ \"&ReturnTo=/shoppingcart.asp\";\r\n\r\n\t\tconsole.log(\"DATA\\n\" + data);\r\n\r\n\t\t$.ajax({\r\n\t\t\turl: \"/ProductDetails.asp?ProductCode=\" + volusionPID,\r\n\t\t\tdata: data,\r\n\t\t\tdataType: \"text\",\r\n\t\t\tcontentType: \"application/x-www-form-urlencoded\",\r\n\t\t\ttype: 'post',\r\n\t\t\terror: function(jqXHR, textStatus, errorThrown) {\r\n\t\t\t\tconsole.log('An error has occurred: ' + JSON.stringify(jqXHR.responseJSON, null, 2) + \" : \" + textStatus + \" : \" + errorThrown);\r\n\t\t\t},\r\n\t\t\tsuccess: function(data) {\r\n\t\t\t\tconsole.log(\"POST success\");\r\n\t\t\t\twindow.location=\"/shoppingcart.asp\";\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t/*\r\n\r\n\tContent type -\r\n\r\n\t\tapplication/x-www-form-urlencoded\r\n\r\n\tRequest URL -\r\n\r\n\t\thttp://www.thecollegeshack.com/ProductDetails.asp?ProductCode=CUSTOM%2DP1\r\n\r\n\tQuery string -\r\n\r\n\t\tProductCode=CUSTOM%2DP1\r\n\r\n\r\n\tForm data -\r\n\r\n\t\tTEXTBOX___319___CUSTOM-P1___30=This+is+319&TEXTBOX___320___CUSTOM-P1___30=This+is+320&QTY.CUSTOM-P1=24&btnaddtocart.x=87&btnaddtocart.y=18&ReplaceCartID=&ProductCode=CUSTOM-P1&e=&ReturnTo=ShoppingCart.asp\r\n\r\n\r\n\tReformatted -\r\n\r\n\t\tTEXTBOX___319___CUSTOM-P1___30=This+is+319&\r\n\t\tTEXTBOX___320___CUSTOM-P1___30=This+is+320&\r\n\t\tQTY.CUSTOM-P1=24&\r\n\t\tbtnaddtocart.x=87&\r\n\t\tbtnaddtocart.y=18&\r\n\t\tReplaceCartID=&\r\n\t\tProductCode=CUSTOM-P1&\r\n\t\te=&\r\n\t\tReturnTo=ShoppingCart.asp\r\n\r\n\r\n\r\n\t*/\r\n\r\n\t},\r\n\r\n\r\n\t/* PRICE-Related */\r\n\r\n\t\"makePriceTable\": function makePriceTable(style) {\r\n\r\n\t/*\r\n\r\n\tThe coupon scheme we're using -\r\n\r\n\t\t01-23 list price\r\n\t\t23-35 drop $1\r\n\t\t36-47 drop $2\r\n\t\t48-71 drop $3\r\n\t\t72-!! drop $4\r\n\r\n\tApplies to -\r\n\r\n\t\t2015\r\n\t\t210\r\n\t\t210Y\r\n\t\t211\r\n\t\t273\r\n\t\t274\r\n\t\t351\r\n\t\tCUSTOM-P1 (this is the one we care about)\r\n\t\tg85\r\n\t\tg99\r\n\r\n\tin db -\r\n\r\n\t\"prices\": {\r\n\t\t\"std\": [\r\n\t\t\t{ \"from\": 0, \"to\": 23, \"value\": 0 },\r\n\t\t\t{ \"from\": 24, \"to\": 35, \"value\": 2 },\r\n\t\t\t{ \"from\": 36, \"to\": 47, \"value\": 3 },\r\n\t\t\t{ \"from\": 48, \"to\": 72, \"value\": 4 }\r\n\t\t]\r\n\t},\r\n\r\n\tCreate -\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t
    quantity discounts
    12-2324-3536-4748-7172+
    19.9518.9517.9516.95Call
    \r\n\tMinimum order is 12 hats.\r\n\r\n\t*/\r\n\r\n\t\tvar listprice = db.cats.hats[style].list;\r\n\t\tvar levels = db.prices[ db.cats.hats[style].price ];\r\n\r\n\t\tvar h = '\\n';\r\n\t\th += '\\n';\r\n\r\n\t\th += '\\n';\r\n\t\tlevels.forEach(function (p, ix){\r\n\t\t\tif (ix==0) p.from = db.cats.hats[style].minq;\r\n\t\t\th += '\\n';\r\n\t\t});\r\n\t\th += '\\n'; \r\n\t\th += '\\n';\r\n\r\n\t\th += '\\n';\r\n\t\tlevels.forEach(function (p, ix){\r\n\t\t\th += '\\n';\r\n\t\t});\r\n\t\th += '\\n';\r\n\t\th += '\\n';\r\n\r\n\r\n\t\th += '
    quantity discounts
    ' + p.from + '-' + p.to + '' + (levels[levels.length-1].to + 1) + '+
    ' + (listprice - p.value) + 'Call
    \\n';\r\n\t\th += 'Minimum order is ' + db.cats.hats[style].minq + ' hats.\\n';\r\n\t\treturn h;\r\n\t}\r\n\r\n\t/* End PRICE-Related */\r\n\r\n}\r\n\r\nmodule.exports = review;\r\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar g \t\t\t= __webpack_require__(0);\r\nvar bar \t\t= __webpack_require__(3);\r\nvar circle \t\t= __webpack_require__(4);\r\n\r\nvar colorpicker = {\r\n\r\n\t\"colorpickerInit\": function colorpickerInit() {\r\n\r\n\t\t// First, insert the colorpicker into the DOM\r\n\t\t//var contnt = document.getElementById('colorpickerImp').import;\r\n\t // Grab DOM from import's document.\r\n\t //var el = contnt.getElementById('colorpickerModal');\r\n\t //document.body.appendChild(el.cloneNode(true));\r\n\r\n\t console.log(\"colorpickerInit()\");\r\n\r\n\t // console.log(\"util\\n\" + JSON.stringify(util));\r\n\r\n\t\t$('#colorpicker.table > tbody > tr').click(function() {\r\n\t\t\t// this is how we know which color was selected by the colorpicker\r\n\t\t\tg.colorpicker.pickedColor \t\t\t\t= $(this).css('background-color');\r\n\t\t\tg.colorpicker.pickedColorName \t\t\t= $(this).first().html().substr(4, $(this).first().html().length -9);\r\n\t\t\tg.colorpicker.pickedColorTextColor \t\t= $(this).css('color');\r\n\t\t\t$('#colorpicker-modal').modal('hide');\r\n\r\n\t\t\tif (g.colorpicker.pickedElementID.substr(0, \"btnCirclePick\".length)\t== \"btnCirclePick\") circle.circleColorChanged();\r\n\t\t\tif (g.colorpicker.pickedElementID.substr(0, \"btnBarPick\".length)\t== \"btnBarPick\") \tbar.barColorChanged();\r\n\r\n\r\n\t\t});\r\n\r\n\t\t$('.modal').on('show.bs.modal', function (e) {\r\n\t\t\t// this is how we know which button was chosen to invoke the sole colorpicker modal\r\n\t\t\tvar $trigger = $(e.relatedTarget);\r\n\t\t\tg.colorpicker.pickedElementID = $($trigger).attr(\"id\")\r\n\t\t\tconsole.log(\"pickedElementID is \" + g.colorpicker.pickedElementID);\r\n\t\t});\r\n\r\n\t}\r\n\r\n}\r\n\r\nconsole.log(\"colorpicker.js loaded\");\r\n\r\nmodule.exports = colorpicker;\r\n\r\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar db \t= __webpack_require__(1);\r\n\r\nvar lid = \"\";\r\n\r\nvar maintenance = {\r\n\r\n\r\n\t\"clicked\": function clicked(id){\r\n\t\tvar self = this;\r\n\t\r\n\t\tconsole.log(\"clicked: (\" + id + \")\");\r\n\r\n\t\t// If a thread is clicked, then we're updating the most recently clicked item.\r\n\t\t// Otherwise, we're just remembering the item clicked.\r\n\r\n\t\tif (id.substring(0, \"thread\".length)==\"thread\") {\r\n\t\t\tif (lid==\"\") return;\r\n\t\t\tself.updateWidget(id);\r\n\t\t} else {\r\n\t\t\tlid = id;\r\n\t\t}\r\n\r\n\t},\r\n\r\n\r\n\t\"updateWidget\": function updateWidget(thread) {\r\n\r\n\t/*\r\n\tclicked: thread-Navy\r\n\r\n\tclicked: fabcol-GB2015-GB2015WH\t\tthe fabric of the hat must change\r\n\tclicked: fabfon-GB2015-GB2015WH-c1\tthe font used when writing on fabric color for this particular fabric color\r\n\tclicked: thrcol-GB2015-GB2015WH-c1\tthe recommended default thread color (c1 or c2)\r\n\tclicked: thrfon-GB2015-GB2015WH-c1\tthe font used when writing on thread color for this particular default color\r\n\r\n\t*/\r\n\r\n\t\tvar threadColor = thread.substring(\"thread-\".length, 99);\r\n\r\n\t\tvar KEY \t= 0;\r\n\t\tvar STYLE \t= 1;\r\n\t\tvar COLOR \t= 2;\r\n\t\tvar CX \t\t= 3;\r\n\r\n\t\tvar flds = lid.split(\"-\");\r\n\r\n\t\tif (flds[KEY]==\"thrcol\") {\r\n\t\t\t//console.log(\"Set Style: \" + flds[STYLE] + \" Color: \" + flds[COLOR] + \" to Thread: (\" + flds[CX] + \") Thread: \" + thread.substring(\"thread-\".length, 99) );\r\n\t\t\tdb.cats.hats[flds[STYLE]].colors[flds[COLOR]][flds[CX]] = threadColor;\r\n\t\t} else if (flds[KEY]==\"fabcol\") {\r\n\t\t\tdb.cats.hats[flds[STYLE]].colors[flds[COLOR]].fabric = db.name2rgb[threadColor];\r\n\t\t} else if (flds[KEY]==\"thrfon\") {\r\n\t\t\tvar thrname = db.cats.hats[flds[STYLE]].colors[flds[COLOR]][flds[CX]];\r\n\t\t\tvar thrcode = db.name2rgb[thrname];\r\n\t\t\tdb.rgb2font[thrcode] = db.name2rgb[threadColor];\r\n\t\t\tconsole.log(\"Set font color for \" + thrname + \":\" + thrcode + \" to \" + threadColor + \":\" + db.name2rgb[threadColor]);\r\n\t\t} else if (flds[KEY]==\"fabfon\") {\r\n\t\t\tvar fabcode = db.cats.hats[flds[STYLE]].colors[flds[COLOR]].fabric;\r\n\t\t\tdb.rgb2font[fabcode] = db.name2rgb[threadColor];\r\n\t\t\tconsole.log(\"Set font color for \" + \"fabric\" + \":\" + fabcode + \" to \" + threadColor + \":\" + db.name2rgb[threadColor]);\r\n\t\t}\r\n\r\n\t\tvar h = this.makeCell(flds[STYLE], flds[COLOR]);\r\n\t\tvar id = \"#cell-\" + flds[STYLE] + \"-\" + flds[COLOR];\r\n\r\n\t\t$(id).html(h);\r\n\r\n\t\t$(id + \" .clicky\").on('click', function (e){\r\n\t\t\tmaintenance.clicked($(this).attr('id'));\r\n\t\t});\r\n\r\n\t},\r\n\r\n\r\n\t\"makePage\": function makePage() {\r\n\t\tvar self = this;\r\n\r\n\t\tvar h = '';\r\n\r\n\t\t_.keys(db.cats.hats).forEach(function (s){\r\n\r\n\t\t\th += '';\r\n\r\n\t\t\th += '';\r\n\r\n\t\t\t_.keys(db.cats.hats[s].colors).forEach(function (c){\r\n\r\n\t\t\t\th += self.makeCell(s, c);\r\n\t\t\t});\r\n\r\n\r\n\t\t\th += '';\r\n\r\n\t\t});\r\n\r\n\t\th += '
    ';\r\n\t\t\th += '';\r\n\t\t\th += '';\r\n\t\t\th += '';\r\n\t\t\th += '
    ' + s + '
    ';\r\n\t\t\th += '';\r\n\t\t\th += '
    ';\r\n\t\t\th += '
    ';\r\n\r\n\t\treturn h;\r\n\r\n\t},\r\n\r\n\r\n\t\"makeCell\": function makeCell(s, c) {\r\n\t\tvar self = this;\r\n\r\n\t\th = '';\r\n\t\th += '';\r\n\t\th += '';\r\n\t\th += '';\r\n\t\th += '';\r\n\r\n\t\t['c1', 'c2'].forEach(function (cn){\r\n\r\n\t\t\tvar thrname \t\t= db.cats.hats[s].colors[c][cn];\r\n\t\t\tvar fabcolorcode \t= db.cats.hats[s].colors[c].fabric;\r\n\t\t\tvar thrcolorcode \t= db.threads[thrname];\r\n\t\t\tvar fabfontcolor \t= db.rgb2font[fabcolorcode];\r\n\t\t\tvar thrfontcolor \t= db.rgb2font[thrcolorcode];\r\n\r\n\t\t\tif (thrfontcolor==undefined) console.log(\"rgb2font missing for \" + s + \"-\" + c + \"-\" + cn + \" : \" + thrcolorcode);\r\n\r\n\t\t\th += '';\r\n\t\t});\r\n\r\n\t\th += '
    ' + c + '
    ';\r\n\t\th += '';\r\n\t\th += '
    ';\r\n\r\n\t\t\tvar key = s + '-' + c + '-' + cn;\r\n\r\n\t\t\th += '';\r\n\t\t\th += '';\r\n\t\t\th += '';\r\n\r\n\t\t\th += '';\r\n\r\n\t\t\th += '';\r\n\r\n\t\t\th += '';\r\n\t\t\th += '
    ' + self.terse(thrname) + 'X********
    ';\r\n\r\n\t\t\th += '
    ';\r\n\t\th += '';\r\n\r\n\t\treturn h;\r\n\r\n\t},\r\n\r\n\r\n\r\n\t\"terse\": function terse(s) {\r\n\r\n\t\tvar xr = {\r\n\t\t\t\"Tennessee Orange\": \"Tenn Org\",\r\n\t\t\t\"Yellow Softball\": \"Yellow SB\"\r\n\t//\t\t\"Light Purple\": \"Lt Purple\",\r\n\t//\t\t\"Texas Orange\": \"Texas Org\",\r\n\t//\t\t\"Carolina Blue\": \"Car Blue\",\r\n\t//\t\t\"Dark Green\": \"Dk Green\"\r\n\t\t}\r\n\r\n\t\treturn (xr[s]==undefined)?s:xr[s];\r\n\r\n\t},\r\n\r\n\r\n\t\"dumpDb\": function dumpDb() {\r\n\t\tconsole.log(\"DB\\n\" + JSON.stringify(db, null, \"\\t\"));\r\n\t}\r\n\r\n}\r\n\r\nmodule.exports = maintenance;\r\n\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// app.bundle.js"," \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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap e5839d50b44c783064c5","var g = {\r\n\r\n\t\"cook\": {},\r\n\r\n\t\"pats\": {\r\n\r\n\t\t\"qty\": 0,\r\n\r\n\t\t\"circle\": {\r\n\t\t\t\"center\": { x: 310, y: 324 },\r\n\t\t\t\"origin\": { x: 20, y: 120 },\r\n\t\t\t\"topText\": \"Georgetown\",\r\n\t\t\t\"botText\": \"University\",\r\n\t\t\t\"scriptText\": \"Hoyas\",\r\n\t\t\t\"circleColor\": null,\r\n\t\t\t\"textColor\": null,\r\n\t\t\t\"scriptColor\": null,\r\n\t\t\t\"circleColorName\": null,\r\n\t\t\t\"textColorName\": null,\r\n\t\t\t\"scriptColorName\": null,\r\n\t\t\t\"circleFontColor\": null,\r\n\t\t\t\"textFontColor\": null,\r\n\t\t\t\"scriptFontColor\": null\r\n\t\t},\r\n\r\n\t\t\"bar\": {\r\n\t\t\t\"topText\": \"/phi /delta /theta\",\r\n\t\t\t\"botText\": \"Oklahoma State\",\r\n\t\t\t\"textColor\": null,\r\n\t\t\t\"barColor\": null,\r\n\t\t\t\"textColorName\": null,\r\n\t\t\t\"barColorName\": null,\r\n\t\t\t\"textFontColor\": null,\r\n\t\t\t\"barFontColor\": null\r\n\t\t}\r\n\t},\r\n\r\n\t\"colorpicker\": {\r\n\t\t\"pickedElementID\": null,\r\n\t\t\"pickedColor\": null,\r\n\t\t\"pickedColorName\": null,\r\n\t\t\"pickedColorTextColor\": null\r\n\t},\r\n\r\n\t\"textchange\": {\r\n\t\t\"changedElementID\": null\r\n\t},\r\n\r\n\t\"limits\": {\r\n\t\t\"bar\": { \r\n\t\t\t\"barTopText\": 12, \r\n\t\t\t\"barBotText\": 26\r\n\t\t},\r\n\t\t\"circle\": {\r\n\t\t\t\"circTopTextSpan\": 12,\r\n\t\t\t\"circBotTextSpan\": 16,\r\n\t\t\t\"circScriptText\": 9\r\n\t\t}\r\n\t}\r\n\r\n};\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/state.js\n// module id = 0\n// module chunks = 0","var db = {\r\n\r\n\t\"cats\": {\r\n\t\t\"hats\": {\r\n\t\t\t\"GB2015\": {\r\n\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\"name\": \"GB2015 - The Classic\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GB2015RD.jpg\",\r\n\t\t\t\t\"active\": true,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"hat body is solid white, 100% cotton twill\",\r\n\t\t\t\t\t\"contrasting button, eyelets & undervisor\",\r\n\t\t\t\t\t\"low profile shape\",\r\n\t\t\t\t\t\"plastic snapback strap\",\r\n\t\t\t\t\t\"one size fits most: 7 - 7¾\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\",\r\n\t\t\t\t\t\"12 trim colors\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GB2015WH\": {\r\n\t\t\t\t\t\t\"rank\": 3,\r\n\t\t\t\t\t\t\"nominal\": \"White\",\r\n\t\t\t\t\t\t\"img\": \"GB2015WH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"127\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Cardinal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015BK\": {\r\n\t\t\t\t\t\t\"rank\": 2,\r\n\t\t\t\t\t\t\"nominal\": \"Black\",\r\n\t\t\t\t\t\t\"img\": \"GB2015BK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"116\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Red\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015CA\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Cardinal\",\r\n\t\t\t\t\t\t\"img\": \"GB2015CA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"117\",\r\n\t\t\t\t\t\t\"c1\": \"Cardinal\",\r\n\t\t\t\t\t\t\"c2\": \"Royal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015DG\": {\r\n\t\t\t\t\t\t\"rank\": 4,\r\n\t\t\t\t\t\t\"nominal\": \"Dark Green\",\r\n\t\t\t\t\t\t\"img\": \"GB2015DG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"118\",\r\n\t\t\t\t\t\t\"c1\": \"Dark Green\",\r\n\t\t\t\t\t\t\"c2\": \"Athletic Gold\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015MA\": {\r\n\t\t\t\t\t\t\"rank\": 5,\r\n\t\t\t\t\t\t\"nominal\": \"Maroon\",\r\n\t\t\t\t\t\t\"img\": \"GB2015MA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"120\",\r\n\t\t\t\t\t\t\"c1\": \"Maroon\",\r\n\t\t\t\t\t\t\"c2\": \"Royal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015NV\": {\r\n\t\t\t\t\t\t\"rank\": 6,\r\n\t\t\t\t\t\t\"nominal\": \"Navy\",\r\n\t\t\t\t\t\t\"img\": \"GB2015NV.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"121\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Cardinal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015OR\": {\r\n\t\t\t\t\t\t\"rank\": 7,\r\n\t\t\t\t\t\t\"nominal\": \"Texas Orange\",\r\n\t\t\t\t\t\t\"img\": \"GB2015OR.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"122\",\r\n\t\t\t\t\t\t\"c1\": \"Tennessee Orange\",\r\n\t\t\t\t\t\t\"c2\": \"Dark Green\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015PU\": {\r\n\t\t\t\t\t\t\"rank\": 8,\r\n\t\t\t\t\t\t\"nominal\": \"Purple\",\r\n\t\t\t\t\t\t\"img\": \"GB2015PU.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"123\",\r\n\t\t\t\t\t\t\"c1\": \"Light Purple\",\r\n\t\t\t\t\t\t\"c2\": \"Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015RD\": {\r\n\t\t\t\t\t\t\"rank\": 9,\r\n\t\t\t\t\t\t\"nominal\": \"Red\",\r\n\t\t\t\t\t\t\"img\": \"GB2015RD.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"124\",\r\n\t\t\t\t\t\t\"c1\": \"Red\",\r\n\t\t\t\t\t\t\"c2\": \"Navy\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015RB\": {\r\n\t\t\t\t\t\t\"rank\": 10,\r\n\t\t\t\t\t\t\"nominal\": \"Royal\",\r\n\t\t\t\t\t\t\"img\": \"GB2015RB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"125\",\r\n\t\t\t\t\t\t\"c1\": \"Royal\",\r\n\t\t\t\t\t\t\"c2\": \"Red\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015TO\": {\r\n\t\t\t\t\t\t\"rank\": 11,\r\n\t\t\t\t\t\t\"nominal\": \"Tennessee Orange\",\r\n\t\t\t\t\t\t\"img\": \"GB2015TO.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"131\",\r\n\t\t\t\t\t\t\"c1\": \"Tennessee Orange\",\r\n\t\t\t\t\t\t\"c2\": \"Brown\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB2015TX\": {\r\n\t\t\t\t\t\t\"rank\": 12,\r\n\t\t\t\t\t\t\"nominal\": \"Texas Orange\",\r\n\t\t\t\t\t\t\"img\": \"GB2015TX.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"130\",\r\n\t\t\t\t\t\t\"c1\": \"Texas Orange\",\r\n\t\t\t\t\t\t\"c2\": \"Navy\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"GB210\": {\r\n\t\t\t\t\"rank\": 2,\r\n\t\t\t\t\"name\": \"GB210 - Soft Structure\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GB210MA.jpg\",\r\n\t\t\t\t\"active\": true,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"garment washed, 100% cotton twill\",\r\n\t\t\t\t\t\"relaxed, unstructured shape\",\r\n\t\t\t\t\t\"adjustable slide buckle backstrap\",\r\n\t\t\t\t\t\"one size fits most: 7 - 7¾\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\",\r\n\t\t\t\t\t\"24 solid colors\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GB210MA\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Maroon\",\r\n\t\t\t\t\t\t\"img\": \"GB210MA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#744143\",\r\n\t\t\t\t\t\t\"copId\": \"179\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Tan\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210NV\": {\r\n\t\t\t\t\t\t\"rank\": 2,\r\n\t\t\t\t\t\t\"nominal\": \"Navy\",\r\n\t\t\t\t\t\t\"img\": \"GB210NV.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#002d57\",\r\n\t\t\t\t\t\t\"copId\": \"181\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210CA\": {\r\n\t\t\t\t\t\t\"rank\": 3,\r\n\t\t\t\t\t\t\"nominal\": \"Cardinal\",\r\n\t\t\t\t\t\t\"img\": \"GB210CA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#a80532\",\r\n\t\t\t\t\t\t\"copId\": \"167\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210CG\": {\r\n\t\t\t\t\t\t\"rank\": 4,\r\n\t\t\t\t\t\t\"nominal\": \"Charcoal\",\r\n\t\t\t\t\t\t\"img\": \"GB210CG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#2F4F4F\",\r\n\t\t\t\t\t\t\"copId\": \"168\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210KH\": {\r\n\t\t\t\t\t\t\"rank\": 5,\r\n\t\t\t\t\t\t\"nominal\": \"Khaki\",\r\n\t\t\t\t\t\t\"img\": \"GB210KH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#dbbe95\",\r\n\t\t\t\t\t\t\"copId\": \"175\",\r\n\t\t\t\t\t\t\"c1\": \"Yellow Softball\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210CB\": {\r\n\t\t\t\t\t\t\"rank\": 6,\r\n\t\t\t\t\t\t\"nominal\": \"Columbia Blue\",\r\n\t\t\t\t\t\t\"img\": \"GB210CB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#87CEFA\",\r\n\t\t\t\t\t\t\"copId\": \"169\",\r\n\t\t\t\t\t\t\"c1\": \"Beige\",\r\n\t\t\t\t\t\t\"c2\": \"Ivory\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210BK\": {\r\n\t\t\t\t\t\t\"rank\": 7,\r\n\t\t\t\t\t\t\"nominal\": \"Black\",\r\n\t\t\t\t\t\t\"img\": \"GB210BK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#231f20\",\r\n\t\t\t\t\t\t\"copId\": \"165\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Tennessee Orange\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210BR\": {\r\n\t\t\t\t\t\t\"rank\": 8,\r\n\t\t\t\t\t\t\"nominal\": \"Brown\",\r\n\t\t\t\t\t\t\"img\": \"GB210BR.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#634a34\",\r\n\t\t\t\t\t\t\"copId\": \"166\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210DG\": {\r\n\t\t\t\t\t\t\"rank\": 9,\r\n\t\t\t\t\t\t\"nominal\": \"Dark Green\",\r\n\t\t\t\t\t\t\"img\": \"GB210DG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#005838\",\r\n\t\t\t\t\t\t\"copId\": \"172\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210KLY\": {\r\n\t\t\t\t\t\t\"rank\": 10,\r\n\t\t\t\t\t\t\"nominal\": \"Kelly\",\r\n\t\t\t\t\t\t\"img\": \"GB210KLY.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#008000\",\r\n\t\t\t\t\t\t\"copId\": \"174\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210LV\": {\r\n\t\t\t\t\t\t\"rank\": 11,\r\n\t\t\t\t\t\t\"nominal\": \"Light Olive\",\r\n\t\t\t\t\t\t\"img\": \"GB210LV.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#808000\",\r\n\t\t\t\t\t\t\"copId\": \"177\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210AG\": {\r\n\t\t\t\t\t\t\"rank\": 12,\r\n\t\t\t\t\t\t\"nominal\": \"Athletic Gold\",\r\n\t\t\t\t\t\t\"img\": \"GB210AG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#fdb827\",\r\n\t\t\t\t\t\t\"copId\": \"164\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Cardinal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210HP\": {\r\n\t\t\t\t\t\t\"rank\": 13,\r\n\t\t\t\t\t\t\"nominal\": \"Hot Pink\",\r\n\t\t\t\t\t\t\"img\": \"GB210HP.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e50278\",\r\n\t\t\t\t\t\t\"copId\": \"173\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Light Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210LM\": {\r\n\t\t\t\t\t\t\"rank\": 14,\r\n\t\t\t\t\t\t\"nominal\": \"Lime\",\r\n\t\t\t\t\t\t\"img\": \"GB210LM.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#7ac142\",\r\n\t\t\t\t\t\t\"copId\": \"178\",\r\n\t\t\t\t\t\t\"c1\": \"Old Gold\",\r\n\t\t\t\t\t\t\"c2\": \"Sonic Bronze\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210OG\": {\r\n\t\t\t\t\t\t\"rank\": 15,\r\n\t\t\t\t\t\t\"nominal\": \"Old Gold\",\r\n\t\t\t\t\t\t\"img\": \"GB210OG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#c39809\",\r\n\t\t\t\t\t\t\"copId\": \"182\",\r\n\t\t\t\t\t\t\"c1\": \"Brown\",\r\n\t\t\t\t\t\t\"c2\": \"Ivory\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210OR\": {\r\n\t\t\t\t\t\t\"rank\": 16,\r\n\t\t\t\t\t\t\"nominal\": \"Texas Orange\",\r\n\t\t\t\t\t\t\"img\": \"GB210OR.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#af5711\",\r\n\t\t\t\t\t\t\"copId\": \"183\",\r\n\t\t\t\t\t\t\"c1\": \"Beige\",\r\n\t\t\t\t\t\t\"c2\": \"Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210PK\": {\r\n\t\t\t\t\t\t\"rank\": 17,\r\n\t\t\t\t\t\t\"nominal\": \"Pink\",\r\n\t\t\t\t\t\t\"img\": \"GB210PK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#f7a6ac\",\r\n\t\t\t\t\t\t\"copId\": \"184\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Maroon\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210PU\": {\r\n\t\t\t\t\t\t\"rank\": 18,\r\n\t\t\t\t\t\t\"nominal\": \"Purple\",\r\n\t\t\t\t\t\t\"img\": \"GB210PU.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#2b135e\",\r\n\t\t\t\t\t\t\"copId\": \"185\",\r\n\t\t\t\t\t\t\"c1\": \"Yellow Softball\",\r\n\t\t\t\t\t\t\"c2\": \"Mango\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210RD\": {\r\n\t\t\t\t\t\t\"rank\": 19,\r\n\t\t\t\t\t\t\"nominal\": \"Red\",\r\n\t\t\t\t\t\t\"img\": \"GB210RD.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e2383f\",\r\n\t\t\t\t\t\t\"copId\": \"186\",\r\n\t\t\t\t\t\t\"c1\": \"Royal\",\r\n\t\t\t\t\t\t\"c2\": \"Ivory\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210RB\": {\r\n\t\t\t\t\t\t\"rank\": 20,\r\n\t\t\t\t\t\t\"nominal\": \"Royal\",\r\n\t\t\t\t\t\t\"img\": \"GB210RB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#0061aa\",\r\n\t\t\t\t\t\t\"copId\": \"187\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210ST\": {\r\n\t\t\t\t\t\t\"rank\": 21,\r\n\t\t\t\t\t\t\"nominal\": \"Stone\",\r\n\t\t\t\t\t\t\"img\": \"GB210ST.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#F5F5DC\",\r\n\t\t\t\t\t\t\"copId\": \"188\",\r\n\t\t\t\t\t\t\"c1\": \"Dark Green\",\r\n\t\t\t\t\t\t\"c2\": \"Green\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210TL\": {\r\n\t\t\t\t\t\t\"rank\": 22,\r\n\t\t\t\t\t\t\"nominal\": \"Teal\",\r\n\t\t\t\t\t\t\"img\": \"GB210TL.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#00bce4\",\r\n\t\t\t\t\t\t\"copId\": \"189\",\r\n\t\t\t\t\t\t\"c1\": \"Ivory\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210VG\": {\r\n\t\t\t\t\t\t\"rank\": 23,\r\n\t\t\t\t\t\t\"nominal\": \"Vegas Gold\",\r\n\t\t\t\t\t\t\"img\": \"GB210VG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e5ca68\",\r\n\t\t\t\t\t\t\"copId\": \"190\",\r\n\t\t\t\t\t\t\"c1\": \"Brown\",\r\n\t\t\t\t\t\t\"c2\": \"Sonic Bronze\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210WH\": {\r\n\t\t\t\t\t\t\"rank\": 24,\r\n\t\t\t\t\t\t\"nominal\": \"White\",\r\n\t\t\t\t\t\t\"img\": \"GB210WH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"191\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Carolina Blue\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"G25\": {\r\n\t\t\t\t\"rank\": 3,\r\n\t\t\t\t\"name\": \"G25 - Classic Visor\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"G25RD.jpg\",\r\n\t\t\t\t\"active\": true,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"garment washed, 100% cotton twill\",\r\n\t\t\t\t\t\"adjustable velcro backstrap\",\r\n\t\t\t\t\t\"one size fits most: 7 - 7¾\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\",\r\n\t\t\t\t\t\"14 solid colors\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": false\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"G25AG\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Athletic Gold\",\r\n\t\t\t\t\t\t\"img\": \"G25AG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#fdb827\",\r\n\t\t\t\t\t\t\"copId\": \"164\",\r\n\t\t\t\t\t\t\"c1\": \"Cardinal\",\r\n\t\t\t\t\t\t\"c2\": \"Navy\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25BK\": {\r\n\t\t\t\t\t\t\"rank\": 2,\r\n\t\t\t\t\t\t\"nominal\": \"Black\",\r\n\t\t\t\t\t\t\"img\": \"G25BK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#231f20\",\r\n\t\t\t\t\t\t\"copId\": \"165\",\r\n\t\t\t\t\t\t\"c1\": \"Tennessee Orange\",\r\n\t\t\t\t\t\t\"c2\": \"Tennessee Orange\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25CA\": {\r\n\t\t\t\t\t\t\"rank\": 3,\r\n\t\t\t\t\t\t\"nominal\": \"Cardinal\",\r\n\t\t\t\t\t\t\"img\": \"G25CA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#a80532\",\r\n\t\t\t\t\t\t\"copId\": \"167\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Sand\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25CB\": {\r\n\t\t\t\t\t\t\"rank\": 4,\r\n\t\t\t\t\t\t\"nominal\": \"Columbia Blue\",\r\n\t\t\t\t\t\t\"img\": \"G25CB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#87CEFA\",\r\n\t\t\t\t\t\t\"copId\": \"169\",\r\n\t\t\t\t\t\t\"c1\": \"Purple\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25DG\": {\r\n\t\t\t\t\t\t\"rank\": 5,\r\n\t\t\t\t\t\t\"nominal\": \"Dark Green\",\r\n\t\t\t\t\t\t\"img\": \"G25DG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#005838\",\r\n\t\t\t\t\t\t\"copId\": \"172\",\r\n\t\t\t\t\t\t\"c1\": \"Tan\",\r\n\t\t\t\t\t\t\"c2\": \"Ivory\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25MA\": {\r\n\t\t\t\t\t\t\"rank\": 6,\r\n\t\t\t\t\t\t\"nominal\": \"Maroon\",\r\n\t\t\t\t\t\t\"img\": \"G25MA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#744143\",\r\n\t\t\t\t\t\t\"copId\": \"179\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Pink\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25NV\": {\r\n\t\t\t\t\t\t\"rank\": 7,\r\n\t\t\t\t\t\t\"nominal\": \"Navy\",\r\n\t\t\t\t\t\t\"img\": \"G25NV.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#002d57\",\r\n\t\t\t\t\t\t\"copId\": \"181\",\r\n\t\t\t\t\t\t\"c1\": \"Dark Grey\",\r\n\t\t\t\t\t\t\"c2\": \"Light Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25OR\": {\r\n\t\t\t\t\t\t\"rank\": 8,\r\n\t\t\t\t\t\t\"nominal\": \"Texas Orange\",\r\n\t\t\t\t\t\t\"img\": \"G25OR.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#af5711\",\r\n\t\t\t\t\t\t\"copId\": \"183\",\r\n\t\t\t\t\t\t\"c1\": \"Mango\",\r\n\t\t\t\t\t\t\"c2\": \"Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25PK\": {\r\n\t\t\t\t\t\t\"rank\": 9,\r\n\t\t\t\t\t\t\"nominal\": \"Pink\",\r\n\t\t\t\t\t\t\"img\": \"G25PK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#f7a6ac\",\r\n\t\t\t\t\t\t\"copId\": \"184\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Hot Pink\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25PU\": {\r\n\t\t\t\t\t\t\"rank\": 10,\r\n\t\t\t\t\t\t\"nominal\": \"Purple\",\r\n\t\t\t\t\t\t\"img\": \"G25PU.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#2b135e\",\r\n\t\t\t\t\t\t\"copId\": \"185\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Light Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25RD\": {\r\n\t\t\t\t\t\t\"rank\": 11,\r\n\t\t\t\t\t\t\"nominal\": \"Red\",\r\n\t\t\t\t\t\t\"img\": \"G25RD.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e2383f\",\r\n\t\t\t\t\t\t\"copId\": \"186\",\r\n\t\t\t\t\t\t\"c1\": \"Royal\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25RB\": {\r\n\t\t\t\t\t\t\"rank\": 12,\r\n\t\t\t\t\t\t\"nominal\": \"Royal\",\r\n\t\t\t\t\t\t\"img\": \"G25RB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#0061aa\",\r\n\t\t\t\t\t\t\"copId\": \"187\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25ST\": {\r\n\t\t\t\t\t\t\"rank\": 13,\r\n\t\t\t\t\t\t\"nominal\": \"Stone\",\r\n\t\t\t\t\t\t\"img\": \"G25ST.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#F5F5DC\",\r\n\t\t\t\t\t\t\"copId\": \"188\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"G25WH\": {\r\n\t\t\t\t\t\t\"rank\": 14,\r\n\t\t\t\t\t\t\"nominal\": \"White\",\r\n\t\t\t\t\t\t\"img\": \"G25WH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"191\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Carolina Blue\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"GB210Y\": {\r\n\t\t\t\t\"rank\": 4,\r\n\t\t\t\t\"name\": \"GB210Y - YOUTH version of GB210\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GB210YPK.jpg\",\r\n\t\t\t\t\"active\": false,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"garment washed, 100% cotton twill\",\r\n\t\t\t\t\t\"relaxed, unstructured shape\",\r\n\t\t\t\t\t\"adjustable slide buckle backstrap\",\r\n\t\t\t\t\t\"one size fits most: 61/2 - 7\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\",\r\n\t\t\t\t\t\"14 solid colors\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GB210YAG\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Athletic Gold\",\r\n\t\t\t\t\t\t\"img\": \"GB210YAG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#fdb827\",\r\n\t\t\t\t\t\t\"copId\": \"164\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Cardinal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YBK\": {\r\n\t\t\t\t\t\t\"rank\": 2,\r\n\t\t\t\t\t\t\"nominal\": \"Black\",\r\n\t\t\t\t\t\t\"img\": \"GB210YBK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#231f20\",\r\n\t\t\t\t\t\t\"copId\": \"165\",\r\n\t\t\t\t\t\t\"c1\": \"Tennessee Orange\",\r\n\t\t\t\t\t\t\"c2\": \"Tennessee Orange\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YCA\": {\r\n\t\t\t\t\t\t\"rank\": 3,\r\n\t\t\t\t\t\t\"nominal\": \"Cardinal\",\r\n\t\t\t\t\t\t\"img\": \"GB210YCA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#a80532\",\r\n\t\t\t\t\t\t\"copId\": \"167\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Sand\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YCB\": {\r\n\t\t\t\t\t\t\"rank\": 4,\r\n\t\t\t\t\t\t\"nominal\": \"Columbia Blue\",\r\n\t\t\t\t\t\t\"img\": \"GB210YCB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#87CEFA\",\r\n\t\t\t\t\t\t\"copId\": \"169\",\r\n\t\t\t\t\t\t\"c1\": \"Purple\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YDG\": {\r\n\t\t\t\t\t\t\"rank\": 5,\r\n\t\t\t\t\t\t\"nominal\": \"Dark Green\",\r\n\t\t\t\t\t\t\"img\": \"GB210YDG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#005838\",\r\n\t\t\t\t\t\t\"copId\": \"172\",\r\n\t\t\t\t\t\t\"c1\": \"Tan\",\r\n\t\t\t\t\t\t\"c2\": \"Ivory\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YKH\": {\r\n\t\t\t\t\t\t\"rank\": 6,\r\n\t\t\t\t\t\t\"nominal\": \"Khaki\",\r\n\t\t\t\t\t\t\"img\": \"GB210YKH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#dbbe95\",\r\n\t\t\t\t\t\t\"copId\": \"175\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YMA\": {\r\n\t\t\t\t\t\t\"rank\": 7,\r\n\t\t\t\t\t\t\"nominal\": \"Maroon\",\r\n\t\t\t\t\t\t\"img\": \"GB210YMA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#744143\",\r\n\t\t\t\t\t\t\"copId\": \"179\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Pink\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YNV\": {\r\n\t\t\t\t\t\t\"rank\": 8,\r\n\t\t\t\t\t\t\"nominal\": \"Navy\",\r\n\t\t\t\t\t\t\"img\": \"GB210YNV.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#002d57\",\r\n\t\t\t\t\t\t\"copId\": \"181\",\r\n\t\t\t\t\t\t\"c1\": \"Dark Grey\",\r\n\t\t\t\t\t\t\"c2\": \"Light Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YPK\": {\r\n\t\t\t\t\t\t\"rank\": 9,\r\n\t\t\t\t\t\t\"nominal\": \"Pink\",\r\n\t\t\t\t\t\t\"img\": \"GB210YPK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#f7a6ac\",\r\n\t\t\t\t\t\t\"copId\": \"184\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Hot Pink\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YPU\": {\r\n\t\t\t\t\t\t\"rank\": 10,\r\n\t\t\t\t\t\t\"nominal\": \"Purple\",\r\n\t\t\t\t\t\t\"img\": \"GB210YPU.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#2b135e\",\r\n\t\t\t\t\t\t\"copId\": \"185\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Light Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YRD\": {\r\n\t\t\t\t\t\t\"rank\": 11,\r\n\t\t\t\t\t\t\"nominal\": \"Red\",\r\n\t\t\t\t\t\t\"img\": \"GB210YRD.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e2383f\",\r\n\t\t\t\t\t\t\"copId\": \"186\",\r\n\t\t\t\t\t\t\"c1\": \"Royal\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YRB\": {\r\n\t\t\t\t\t\t\"rank\": 12,\r\n\t\t\t\t\t\t\"nominal\": \"Royal\",\r\n\t\t\t\t\t\t\"img\": \"GB210YRB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#0061aa\",\r\n\t\t\t\t\t\t\"copId\": \"187\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YST\": {\r\n\t\t\t\t\t\t\"rank\": 13,\r\n\t\t\t\t\t\t\"nominal\": \"Stone\",\r\n\t\t\t\t\t\t\"img\": \"GB210YST.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#F5F5DC\",\r\n\t\t\t\t\t\t\"copId\": \"188\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB210YWH\": {\r\n\t\t\t\t\t\t\"rank\": 14,\r\n\t\t\t\t\t\t\"nominal\": \"White\",\r\n\t\t\t\t\t\t\"img\": \"GB210YWH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"191\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Carolina Blue\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"GB211\": {\r\n\t\t\t\t\"rank\": 5,\r\n\t\t\t\t\"name\": \"GB211 - WOMEN's version of gb210\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GB211OR.jpg\",\r\n\t\t\t\t\"active\": false,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"garment washed, 100% cotton twill\",\r\n\t\t\t\t\t\"relaxed, unstructured shape\",\r\n\t\t\t\t\t\"slender, adjustable slide buckle backstrap\",\r\n\t\t\t\t\t\"one size fits most: 65/8 - 73/8\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\",\r\n\t\t\t\t\t\"18 solid colors\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GB211LI\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Lilac\",\r\n\t\t\t\t\t\t\"img\": \"GB211LI.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#DDA0DD\",\r\n\t\t\t\t\t\t\"copId\": \"292\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211MZ\": {\r\n\t\t\t\t\t\t\"rank\": 2,\r\n\t\t\t\t\t\t\"nominal\": \"Maize\",\r\n\t\t\t\t\t\t\"img\": \"GB211MZ.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffdb6a\",\r\n\t\t\t\t\t\t\"copId\": \"293\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211MG\": {\r\n\t\t\t\t\t\t\"rank\": 3,\r\n\t\t\t\t\t\t\"nominal\": \"Mango\",\r\n\t\t\t\t\t\t\"img\": \"GB211MG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#f4846b\",\r\n\t\t\t\t\t\t\"copId\": \"290\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211BE\": {\r\n\t\t\t\t\t\t\"rank\": 4,\r\n\t\t\t\t\t\t\"nominal\": \"Beige\",\r\n\t\t\t\t\t\t\"img\": \"GB211BE.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#d0c78a\",\r\n\t\t\t\t\t\t\"copId\": \"289\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211BK\": {\r\n\t\t\t\t\t\t\"rank\": 5,\r\n\t\t\t\t\t\t\"nominal\": \"Black\",\r\n\t\t\t\t\t\t\"img\": \"GB211BK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#231f20\",\r\n\t\t\t\t\t\t\"copId\": \"165\",\r\n\t\t\t\t\t\t\"c1\": \"Tennessee Orange\",\r\n\t\t\t\t\t\t\"c2\": \"Tennessee Orange\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211BR\": {\r\n\t\t\t\t\t\t\"rank\": 6,\r\n\t\t\t\t\t\t\"nominal\": \"Brown\",\r\n\t\t\t\t\t\t\"img\": \"GB211BR.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#634a34\",\r\n\t\t\t\t\t\t\"copId\": \"166\",\r\n\t\t\t\t\t\t\"c1\": \"Red\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211CA\": {\r\n\t\t\t\t\t\t\"rank\": 7,\r\n\t\t\t\t\t\t\"nominal\": \"Cardinal\",\r\n\t\t\t\t\t\t\"img\": \"GB211CA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#a80532\",\r\n\t\t\t\t\t\t\"copId\": \"167\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Sand\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211CB\": {\r\n\t\t\t\t\t\t\"rank\": 8,\r\n\t\t\t\t\t\t\"nominal\": \"Columbia Blue\",\r\n\t\t\t\t\t\t\"img\": \"GB211CB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#87CEFA\",\r\n\t\t\t\t\t\t\"copId\": \"169\",\r\n\t\t\t\t\t\t\"c1\": \"Purple\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211DG\": {\r\n\t\t\t\t\t\t\"rank\": 9,\r\n\t\t\t\t\t\t\"nominal\": \"Dark Green\",\r\n\t\t\t\t\t\t\"img\": \"GB211DG.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#005838\",\r\n\t\t\t\t\t\t\"copId\": \"172\",\r\n\t\t\t\t\t\t\"c1\": \"Tan\",\r\n\t\t\t\t\t\t\"c2\": \"Ivory\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211HP\": {\r\n\t\t\t\t\t\t\"rank\": 10,\r\n\t\t\t\t\t\t\"nominal\": \"Hot Pink\",\r\n\t\t\t\t\t\t\"img\": \"GB211HP.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e50278\",\r\n\t\t\t\t\t\t\"copId\": \"173\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Light Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211KE\": {\r\n\t\t\t\t\t\t\"rank\": 11,\r\n\t\t\t\t\t\t\"nominal\": \"Kelly\",\r\n\t\t\t\t\t\t\"img\": \"GB211KE.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#008000\",\r\n\t\t\t\t\t\t\"copId\": \"174\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Khaki\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211MA\": {\r\n\t\t\t\t\t\t\"rank\": 12,\r\n\t\t\t\t\t\t\"nominal\": \"Maroon\",\r\n\t\t\t\t\t\t\"img\": \"GB211MA.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#744143\",\r\n\t\t\t\t\t\t\"copId\": \"191\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Pink\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211NV\": {\r\n\t\t\t\t\t\t\"rank\": 13,\r\n\t\t\t\t\t\t\"nominal\": \"Navy\",\r\n\t\t\t\t\t\t\"img\": \"GB211NV.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#002d57\",\r\n\t\t\t\t\t\t\"copId\": \"181\",\r\n\t\t\t\t\t\t\"c1\": \"Dark Grey\",\r\n\t\t\t\t\t\t\"c2\": \"Cardinal\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211OR\": {\r\n\t\t\t\t\t\t\"rank\": 14,\r\n\t\t\t\t\t\t\"nominal\": \"Texas Orange\",\r\n\t\t\t\t\t\t\"img\": \"GB211OR.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#af5711\",\r\n\t\t\t\t\t\t\"copId\": \"183\",\r\n\t\t\t\t\t\t\"c1\": \"Mango\",\r\n\t\t\t\t\t\t\"c2\": \"Purple\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211PK\": {\r\n\t\t\t\t\t\t\"rank\": 15,\r\n\t\t\t\t\t\t\"nominal\": \"Pink\",\r\n\t\t\t\t\t\t\"img\": \"GB211PK.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#f7a6ac\",\r\n\t\t\t\t\t\t\"copId\": \"184\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"Hot Pink\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211RD\": {\r\n\t\t\t\t\t\t\"rank\": 16,\r\n\t\t\t\t\t\t\"nominal\": \"Red\",\r\n\t\t\t\t\t\t\"img\": \"GB211RD.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#e2383f\",\r\n\t\t\t\t\t\t\"copId\": \"186\",\r\n\t\t\t\t\t\t\"c1\": \"Royal\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211RB\": {\r\n\t\t\t\t\t\t\"rank\": 17,\r\n\t\t\t\t\t\t\"nominal\": \"Royal\",\r\n\t\t\t\t\t\t\"img\": \"GB211RB.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#0061aa\",\r\n\t\t\t\t\t\t\"copId\": \"187\",\r\n\t\t\t\t\t\t\"c1\": \"White\",\r\n\t\t\t\t\t\t\"c2\": \"White\"\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\"GB211WH\": {\r\n\t\t\t\t\t\t\"rank\": 18,\r\n\t\t\t\t\t\t\"nominal\": \"White\",\r\n\t\t\t\t\t\t\"img\": \"GB211WH.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#ffffff\",\r\n\t\t\t\t\t\t\"copId\": \"191\",\r\n\t\t\t\t\t\t\"c1\": \"Navy\",\r\n\t\t\t\t\t\t\"c2\": \"Carolina Blue\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"GB277\": {\r\n\t\t\t\t\"rank\": 6,\r\n\t\t\t\t\"name\": \"GB277 - Realtree Camo Low Profile\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GB273RC.jpg\",\r\n\t\t\t\t\"active\": true,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"AP Green Camo by RealTree®\",\r\n\t\t\t\t\t\"structured, low profile shape\",\r\n\t\t\t\t\t\"adjustable slide buckle backstrap\",\r\n\t\t\t\t\t\"garment washed cotton twill\",\r\n\t\t\t\t\t\"one size fits most: 7 - 7¾\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GB273RC\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Realtree Camo\",\r\n\t\t\t\t\t\t\"img\": \"GB273RC.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#556B2F\",\r\n\t\t\t\t\t\t\"copId\": \"294\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"GB278\": {\r\n\t\t\t\t\"rank\": 7,\r\n\t\t\t\t\"name\": \"GB278 - Realtree Camo Soft Structure\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GB274RC.jpg\",\r\n\t\t\t\t\"active\": true,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"AP Green Camo by RealTree®\",\r\n\t\t\t\t\t\"relaxed, unstructured shape\",\r\n\t\t\t\t\t\"adjustable slide buckle backstrap\",\r\n\t\t\t\t\t\"garment washed cotton twill\",\r\n\t\t\t\t\t\"one size fits most: 7 - 7¾\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GB274RC\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Realtree Camo\",\r\n\t\t\t\t\t\t\"img\": \"GB274RC.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#556B2F\",\r\n\t\t\t\t\t\t\"copId\": \"294\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"GB351\": {\r\n\t\t\t\t\"rank\": 8,\r\n\t\t\t\t\"name\": \"GB351 - Digital Camo\",\r\n\t\t\t\t\"pid\": \"CUSTOM-P1\",\r\n\t\t\t\t\"minq\": 12,\r\n\t\t\t\t\"price\": \"std\",\r\n\t\t\t\t\"list\": 19.95,\r\n\t\t\t\t\"lead\": \"14 Business Days\",\r\n\t\t\t\t\"img\": \"GP351DC.jpg\",\r\n\t\t\t\t\"active\": false,\r\n\t\t\t\t\"features\": [\r\n\t\t\t\t\t\"miltary-style digital Camo pattern\",\r\n\t\t\t\t\t\"structured, low profile shape\",\r\n\t\t\t\t\t\"adjustable slide buckle backstrap\",\r\n\t\t\t\t\t\"garment washed cotton\",\r\n\t\t\t\t\t\"one size fits most: 7 - 7¾\",\r\n\t\t\t\t\t\"\\\"theThe Game logo on back left\"\r\n\t\t\t\t],\r\n\t\t\t\t\"designs\": {\r\n\t\t\t\t\t\"bar\": true,\r\n\t\t\t\t\t\"circle\": true\r\n\t\t\t\t},\r\n\t\t\t\t\"colors\": {\r\n\t\t\t\t\t\"GP351DC\": {\r\n\t\t\t\t\t\t\"rank\": 1,\r\n\t\t\t\t\t\t\"nominal\": \"Digital Camo\",\r\n\t\t\t\t\t\t\"img\": \"GP351DC.jpg\",\r\n\t\t\t\t\t\t\"fabric\": \"#C0C0C0\",\r\n\t\t\t\t\t\t\"copId\": \"295\",\r\n\t\t\t\t\t\t\"c1\": \"Black\",\r\n\t\t\t\t\t\t\"c2\": \"Black\"\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"prices\": {\r\n\t\t\"std\": [\r\n\t\t\t{\r\n\t\t\t\t\"from\": 0,\r\n\t\t\t\t\"to\": 23,\r\n\t\t\t\t\"value\": 0\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"from\": 24,\r\n\t\t\t\t\"to\": 35,\r\n\t\t\t\t\"value\": 2\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"from\": 36,\r\n\t\t\t\t\"to\": 47,\r\n\t\t\t\t\"value\": 3\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"from\": 48,\r\n\t\t\t\t\"to\": 71,\r\n\t\t\t\t\"value\": 4\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t\"greeks\": {\r\n\t\t\"ALPHA\": \"Α\",\r\n\t\t\"BETA\": \"Β\",\r\n\t\t\"GAMMA\": \"Γ\",\r\n\t\t\"DELTA\": \"Δ\",\r\n\t\t\"EPSILON\": \"Ε\",\r\n\t\t\"ZETA\": \"Ζ\",\r\n\t\t\"ETA\": \"Η\",\r\n\t\t\"THETA\": \"Θ\",\r\n\t\t\"IOTA\": \"Ι\",\r\n\t\t\"KAPPA\": \"Κ\",\r\n\t\t\"LAMBDA\": \"Λ\",\r\n\t\t\"MU\": \"Μ\",\r\n\t\t\"NU\": \"Ν\",\r\n\t\t\"XI\": \"Ξ\",\r\n\t\t\"OMICRON\": \"Ο\",\r\n\t\t\"PI\": \"Π\",\r\n\t\t\"RHO\": \"Ρ\",\r\n\t\t\"SIGMA\": \"Σ\",\r\n\t\t\"TAU\": \"Τ\",\r\n\t\t\"UPSILON\": \"Υ\",\r\n\t\t\"PHI\": \"Φ\",\r\n\t\t\"CHI\": \"Χ\",\r\n\t\t\"PSI\": \"Ψ\",\r\n\t\t\"OMEGA\": \"Ω\"\r\n\t},\r\n\t\"threads\": {\r\n\t\t\"Teal\": \"#00bce4\",\r\n\t\t\"Cardinal\": \"#a80532\",\r\n\t\t\"Texas Orange\": \"#af5711\",\r\n\t\t\"Royal\": \"#0061aa\",\r\n\t\t\"Tan\": \"#b09167\",\r\n\t\t\"Light Brown\": \"#cd9227\",\r\n\t\t\"Mango\": \"#f4846b\",\r\n\t\t\"Sand\": \"#e7e7cf\",\r\n\t\t\"Vegas Gold\": \"#e5ca68\",\r\n\t\t\"Russett\": \"#bf2c37\",\r\n\t\t\"Purple\": \"#2b135e\",\r\n\t\t\"Silver\": \"#cbd0d4\",\r\n\t\t\"Old Gold\": \"#c39809\",\r\n\t\t\"Brown\": \"#634a34\",\r\n\t\t\"Yellow\": \"#ffd51d\",\r\n\t\t\"Tennessee Orange\": \"#f4793e\",\r\n\t\t\"Lime\": \"#7ac142\",\r\n\t\t\"Yellow Softball\": \"#f3ee5f\",\r\n\t\t\"Navy\": \"#002d57\",\r\n\t\t\"Red\": \"#e2383f\",\r\n\t\t\"Beige\": \"#d0c78a\",\r\n\t\t\"Sonic Bronze\": \"#b87310\",\r\n\t\t\"Dark Green\": \"#005838\",\r\n\t\t\"Athletic Gold\": \"#fdb827\",\r\n\t\t\"Light Orange\": \"#f9a13a\",\r\n\t\t\"Ivory\": \"#f6f1d1\",\r\n\t\t\"Green\": \"#009b67\",\r\n\t\t\"Light Purple\": \"#b7aed6\",\r\n\t\t\"Maize\": \"#ffdb6a\",\r\n\t\t\"Carolina Blue\": \"#68aee0\",\r\n\t\t\"Khaki\": \"#dbbe95\",\r\n\t\t\"Hot Pink\": \"#e50278\",\r\n\t\t\"Pink\": \"#f7a6ac\",\r\n\t\t\"Dark Grey\": \"#8f989d\",\r\n\t\t\"Maroon\": \"#744143\",\r\n\t\t\"Plum\": \"#5a3632\",\r\n\t\t\"Black\": \"#231f20\",\r\n\t\t\"White\": \"#ffffff\",\r\n\t\t\"Metallic Silver\": \"#a8b1b7\",\r\n\t\t\"Metallic Gold\": \"#c88912\"\r\n\t},\r\n\t\"rgb2name\": {\r\n\t\t\"#00bce4\": \"Teal\",\r\n\t\t\"#a80532\": \"Cardinal\",\r\n\t\t\"#af5711\": \"Texas Orange\",\r\n\t\t\"#0061aa\": \"Royal\",\r\n\t\t\"#b09167\": \"Tan\",\r\n\t\t\"#cd9227\": \"Light Brown\",\r\n\t\t\"#f4846b\": \"Mango\",\r\n\t\t\"#e7e7cf\": \"Sand\",\r\n\t\t\"#e5ca68\": \"Vegas Gold\",\r\n\t\t\"#bf2c37\": \"Russett\",\r\n\t\t\"#2b135e\": \"Purple\",\r\n\t\t\"#cbd0d4\": \"Silver\",\r\n\t\t\"#c39809\": \"Old Gold\",\r\n\t\t\"#634a34\": \"Brown\",\r\n\t\t\"#ffd51d\": \"Yellow\",\r\n\t\t\"#f4793e\": \"Tennessee Orange\",\r\n\t\t\"#7ac142\": \"Lime\",\r\n\t\t\"#f3ee5f\": \"Yellow Softball\",\r\n\t\t\"#002d57\": \"Navy\",\r\n\t\t\"#e2383f\": \"Red\",\r\n\t\t\"#d0c78a\": \"Beige\",\r\n\t\t\"#b87310\": \"Sonic Bronze\",\r\n\t\t\"#005838\": \"Dark Green\",\r\n\t\t\"#fdb827\": \"Athletic Gold\",\r\n\t\t\"#f9a13a\": \"Light Orange\",\r\n\t\t\"#f6f1d1\": \"Ivory\",\r\n\t\t\"#009b67\": \"Green\",\r\n\t\t\"#b7aed6\": \"Light Purple\",\r\n\t\t\"#ffdb6a\": \"Maize\",\r\n\t\t\"#68aee0\": \"Carolina Blue\",\r\n\t\t\"#dbbe95\": \"Khaki\",\r\n\t\t\"#e50278\": \"Hot Pink\",\r\n\t\t\"#f7a6ac\": \"Pink\",\r\n\t\t\"#8f989d\": \"Dark Grey\",\r\n\t\t\"#744143\": \"Maroon\",\r\n\t\t\"#5a3632\": \"Plum\",\r\n\t\t\"#231f20\": \"Black\",\r\n\t\t\"#ffffff\": \"White\",\r\n\t\t\"#a8b1b7\": \"Metallic Silver\",\r\n\t\t\"#c88912\": \"Metallic Gold\",\r\n\t\t\"#DDA0DD\": \"Lilac\",\r\n\t\t\"#F5F5DC\": \"Stone\",\r\n\t\t\"#808000\": \"Light Olive\",\r\n\t\t\"#008000\": \"Kelly\",\r\n\t\t\"#87CEFA\": \"Columbia Blue\",\r\n\t\t\"#2F4F4F\": \"Charcoal\",\r\n\t\t\"#556B2F\": \"Camo\"\r\n\t},\r\n\t\"rgb2font\": {\r\n\t\t\"#00bce4\": \"#231f20\",\r\n\t\t\"#a80532\": \"#ffffff\",\r\n\t\t\"#af5711\": \"#231f20\",\r\n\t\t\"#0061aa\": \"Royal\",\r\n\t\t\"#b09167\": \"#231f20\",\r\n\t\t\"#cd9227\": \"#231f20\",\r\n\t\t\"#f4846b\": \"#ffffff\",\r\n\t\t\"#e7e7cf\": \"#231f20\",\r\n\t\t\"#e5ca68\": \"#231f20\",\r\n\t\t\"#bf2c37\": \"#ffffff\",\r\n\t\t\"#2b135e\": \"#ffffff\",\r\n\t\t\"#cbd0d4\": \"#231f20\",\r\n\t\t\"#c39809\": \"#231f20\",\r\n\t\t\"#634a34\": \"#ffffff\",\r\n\t\t\"#ffd51d\": \"#231f20\",\r\n\t\t\"#f4793e\": \"#231f20\",\r\n\t\t\"#7ac142\": \"#231f20\",\r\n\t\t\"#f3ee5f\": \"#231f20\",\r\n\t\t\"#002d57\": \"#ffffff\",\r\n\t\t\"#e2383f\": \"#ffffff\",\r\n\t\t\"#d0c78a\": \"#231f20\",\r\n\t\t\"#b87310\": \"#231f20\",\r\n\t\t\"#005838\": \"#ffffff\",\r\n\t\t\"#fdb827\": \"#231f20\",\r\n\t\t\"#f9a13a\": \"#231f20\",\r\n\t\t\"#f6f1d1\": \"#231f20\",\r\n\t\t\"#009b67\": \"#ffffff\",\r\n\t\t\"#b7aed6\": \"#ffffff\",\r\n\t\t\"#ffdb6a\": \"#231f20\",\r\n\t\t\"#68aee0\": \"#231f20\",\r\n\t\t\"#dbbe95\": \"#231f20\",\r\n\t\t\"#e50278\": \"#231f20\",\r\n\t\t\"#f7a6ac\": \"#231f20\",\r\n\t\t\"#8f989d\": \"#ffffff\",\r\n\t\t\"#744143\": \"#ffffff\",\r\n\t\t\"#5a3632\": \"#ffffff\",\r\n\t\t\"#231f20\": \"#ffffff\",\r\n\t\t\"#ffffff\": \"#231f20\",\r\n\t\t\"#a8b1b7\": \"#231f20\",\r\n\t\t\"#c88912\": \"#231f20\",\r\n\t\t\"#DDA0DD\": \"#ffffff\",\r\n\t\t\"#F5F5DC\": \"#ffffff\",\r\n\t\t\"#808000\": \"#ffffff\",\r\n\t\t\"#008000\": \"#ffffff\",\r\n\t\t\"#87CEFA\": \"#ffffff\",\r\n\t\t\"#2F4F4F\": \"#ffffff\",\r\n\t\t\"#556B2F\": \"#af5711\"\r\n\t},\r\n\t\"name2rgb\": {\r\n\t\t\"Teal\": \"#00bce4\",\r\n\t\t\"Cardinal\": \"#a80532\",\r\n\t\t\"Texas Orange\": \"#af5711\",\r\n\t\t\"Royal\": \"#0061aa\",\r\n\t\t\"Tan\": \"#b09167\",\r\n\t\t\"Light Brown\": \"#cd9227\",\r\n\t\t\"Mango\": \"#f4846b\",\r\n\t\t\"Sand\": \"#e7e7cf\",\r\n\t\t\"Vegas Gold\": \"#e5ca68\",\r\n\t\t\"Russett\": \"#bf2c37\",\r\n\t\t\"Purple\": \"#2b135e\",\r\n\t\t\"Silver\": \"#cbd0d4\",\r\n\t\t\"Old Gold\": \"#c39809\",\r\n\t\t\"Brown\": \"#634a34\",\r\n\t\t\"Yellow\": \"#ffd51d\",\r\n\t\t\"Tennessee Orange\": \"#f4793e\",\r\n\t\t\"Lime\": \"#7ac142\",\r\n\t\t\"Yellow Softball\": \"#f3ee5f\",\r\n\t\t\"Navy\": \"#002d57\",\r\n\t\t\"Red\": \"#e2383f\",\r\n\t\t\"Beige\": \"#d0c78a\",\r\n\t\t\"Sonic Bronze\": \"#b87310\",\r\n\t\t\"Dark Green\": \"#005838\",\r\n\t\t\"Athletic Gold\": \"#fdb827\",\r\n\t\t\"Light Orange\": \"#f9a13a\",\r\n\t\t\"Ivory\": \"#f6f1d1\",\r\n\t\t\"Green\": \"#009b67\",\r\n\t\t\"Light Purple\": \"#b7aed6\",\r\n\t\t\"Maize\": \"#ffdb6a\",\r\n\t\t\"Carolina Blue\": \"#68aee0\",\r\n\t\t\"Khaki\": \"#dbbe95\",\r\n\t\t\"Hot Pink\": \"#e50278\",\r\n\t\t\"Pink\": \"#f7a6ac\",\r\n\t\t\"Dark Grey\": \"#8f989d\",\r\n\t\t\"Maroon\": \"#744143\",\r\n\t\t\"Plum\": \"#5a3632\",\r\n\t\t\"Black\": \"#231f20\",\r\n\t\t\"White\": \"#ffffff\",\r\n\t\t\"Metallic Silver\": \"#a8b1b7\",\r\n\t\t\"Metallic Gold\": \"#c88912\",\r\n\t\t\"Lilac\": \"#DDA0DD\",\r\n\t\t\"Stone\": \"#F5F5DC\",\r\n\t\t\"Light Olive\": \"#808000\",\r\n\t\t\"Kelly\": \"#008000\",\r\n\t\t\"Columbia Blue\": \"#87CEFA\",\r\n\t\t\"Charcoal\": \"#2F4F4F\"\r\n\t}\r\n}\r\n\r\nmodule.exports = db;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/db.js\n// module id = 1\n// module chunks = 0","var g \t\t\t= require('./state.js');\r\n\r\n\r\nvar util = {\r\n\r\n\t\"validateLength\" : function validateLength(design, id, txt) {\r\n\t\tif (txt.length > g.limits[design][id]) return \"Too Long\";\r\n\t\treturn txt;\r\n\t},\r\n\r\n\t\"rgb2hex\": function rgb2hex(rgb) {\r\n\t\trgb = rgb.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\r\n\t\tfunction hex(x) {\r\n\t\t\treturn (\"0\" + parseInt(x).toString(16)).slice(-2);\r\n\t\t}\r\n\t\treturn \"#\" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);\r\n\t},\r\n\r\n\r\n\t/* COOKIE Code */\r\n\t\"saveCookie\": function saveCookie() {\r\n\t\tvar compressedCookie = LZString.compressToBase64(JSON.stringify(g.cook));\r\n\t\tconsole.log(\"Cookie len is \" + compressedCookie.length + \" \" + compressedCookie.substring(0,80));\r\n\t\tthis.createCookie(\"customizer\", compressedCookie);\r\n\t\treturn compressedCookie;\r\n\t},\r\n\r\n\r\n\t\"loadCookie\": function loadCookie() {\r\n\t\tvar compressedCookie = this.readCookie(\"customizer\");\r\n\t\tvar cookieAsString = LZString.decompressFromBase64(compressedCookie);\r\n\t\tif (cookieAsString && cookieAsString.length>0) g.cook = JSON.parse(cookieAsString);\r\n\t\tconsole.log(\"Cookie is \\n\" + JSON.stringify(g.cook, null, 4));\r\n\r\n\t\tif (g.cook.cat==undefined) {\r\n\t\t\tg.cook = {\r\n\t\t\t \"cat\": \"hats\",\r\n\t\t\t \"style\": \"GB2015\",\r\n\t\t\t \"color\": \"GB2015WH\",\r\n\t\t\t \"design\": \"bar\"\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (g.cook.pats!=undefined) g.pats = g.cook.pats;\r\n\t},\r\n\r\n\t\"uncompressDesign\": function uncompressDesign(compressedCookie) {\r\n\t\tvar cookieAsString = LZString.decompressFromBase64(compressedCookie);\r\n\t\tif (cookieAsString && cookieAsString.length>0) g.cook = JSON.parse(cookieAsString);\r\n\t\tconsole.log(\"Cookie is \\n\" + JSON.stringify(g.cook, null, 4));\r\n\t},\r\n\r\n\r\n\t/* generic cookie utilities */\r\n\t\"createCookie\": function createCookie(name, value, days){\r\n\t\tvar expires = \"\";\r\n\t\tif (days) {\r\n\t\t\tvar date = new Date();\r\n\t\t\tdate.setTime(date.getTime()+(days*24*60*60*1000));\r\n\t\t\texpires = \"; expires=\"+date.toGMTString();\r\n\t\t}\r\n\t\tdocument.cookie = name + \"=\" + value + expires + \"; path=/\";\r\n\t},\r\n\r\n\t\"readCookie\": function readCookie(name){\r\n\t\tvar nameEQ = name + \"=\";\r\n\t\tvar ca = document.cookie.split(';');\r\n\t\tfor(var i=0; i < ca.length; i++) {\r\n\t\t\tvar c = ca[i];\r\n\t\t\twhile (c.charAt(0)==' ') c = c.substring(1, c.length);\r\n\t\t\tif (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\r\n\t\t}\r\n\t\treturn null;\r\n\t},\r\n\r\n\t\"eraseCookie\": function eraseCookie(name){\r\n\t\tcreateCookie(name,\"\",-1);\r\n\t}\r\n\t/* END generic cookie utilities */\r\n\r\n\t/* END COOKIE Code */\r\n\r\n}\r\n\r\nconsole.log(\"util.js loaded\");\r\n\r\nmodule.exports = util;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/util.js\n// module id = 2\n// module chunks = 0","var g \t\t\t\t= require('./state.js');\r\nvar util \t\t\t= require('./util.js');\r\nvar db \t\t\t\t= require('./db.js');\r\n\r\nvar bar = {\r\n\r\n\r\n\t\"barInit\": function barInit(){\r\n\t\tvar self = this;\r\n\t\t\r\n\t\tconsole.log(\"barInit()\");\r\n\r\n\t\tvar cat \t= g.cook[\"cat\"];\r\n\t\tvar style \t= g.cook[\"style\"];\r\n\t\tvar color \t= g.cook[\"color\"];\r\n\r\n\t\t//$(\"#colorpicker-wrapper\").load(\"snippets/colorpicker.html\", function (){\r\n\t\t//\tcolorpicker.colorpickerInit();\r\n\t\t//});\r\n\r\n\t\t// These are the text inputs for the bar text (top and bottom)\r\n\t\t$('.form-control.bar').on('input', function(e){\r\n\t\t\tconsole.log(\"input changed for: \" + $(this).attr('id'));\r\n\t\t\tg.textchange.changedElementID = $(this).attr('id');\r\n\t\t\tself.barTextChanged();\r\n\t\t});\r\n\r\n\r\n\t\tif ((g.cook[\"pats\"]==undefined) || (g.pats.bar.textColor==undefined)) {\r\n\t\t\t// this means we need to load default colors for the product\r\n\t\t\tg.pats.bar.textColor \t\t= db.threads[ db.cats[cat][style].colors[color].c1 ];\r\n\t\t\tg.pats.bar.barColor\t\t\t= db.threads[ db.cats[cat][style].colors[color].c2 ];\r\n\t\t\t\r\n\t\t\tg.pats.bar.textColorName \t= db.rgb2name[g.pats.bar.textColor];\r\n\t\t\tg.pats.bar.barColorName \t= db.rgb2name[g.pats.bar.barColor];\r\n\r\n\t\t\tg.pats.bar.textFontColor \t= db.rgb2font[g.pats.bar.textColor];\r\n\t\t\tg.pats.bar.barFontColor \t= db.rgb2font[g.pats.bar.barColor];\r\n\t\t} \r\n\r\n\t\tthis.barRepaintDesign();\r\n\t\tthis.barGlobalToForm();\r\n\t},\r\n\r\n\r\n\t\"barFormToGlobal\": function barFormToGlobal(){\r\n\r\n\t\t// store buttons' background color\r\n\t\tg.pats.bar.barColor \t\t= util.rgb2hex($('#btnBarPickBarColor').css('background-color'));\r\n\t\tg.pats.bar.textColor \t\t= util.rgb2hex($('#btnBarPickTextColor').css('background-color'));\r\n\r\n\t\t// store bar and text color names\r\n\t\tg.pats.bar.barColorName \t= document.getElementById('btnBarPickBarColor').textContent;\r\n\t\tg.pats.bar.textColorName \t= document.getElementById('btnBarPickTextColor').textContent;\r\n\r\n\t\t// store font color used to label the colored buttons\r\n\t\tg.pats.bar.barFontColor\t\t= db.rgb2font[g.pats.bar.barColor];\r\n\t\tg.pats.bar.textFontColor\t= db.rgb2font[g.pats.bar.textColor];\r\n\r\n\t\t// store text top line and bottom line values\r\n\t\tg.pats.bar.topText \t\t\t= $(\"#txtBarTop\").val();\r\n\t\tg.pats.bar.botText \t\t\t= $(\"#txtBarBottom\").val();\r\n\r\n\t},\r\n\r\n\r\n\t\"barGlobalToForm\": function barGlobalToForm() {\r\n\r\n\t\t// This is only meaningful on the initial screen load\r\n\r\n\t\t// set Text in Buttons\r\n\t\tdocument.getElementById('btnBarPickBarColor').textContent \t= g.pats.bar.barColorName;\r\n\t\tdocument.getElementById('btnBarPickTextColor').textContent \t= g.pats.bar.textColorName;\r\n\r\n\t\t// set Background color of Buttons\r\n\t\t$('#btnBarPickBarColor').css('background-color', g.pats.bar.barColor);\r\n\t\t$('#btnBarPickTextColor').css('background-color', g.pats.bar.textColor);\r\n\r\n\t\t// set font color of color's name in button\r\n\t\t$('#btnBarPickBarColor').css('color', g.pats.bar.barFontColor);\r\n\t\t$('#btnBarPickTextColor').css('color', g.pats.bar.textFontColor);\r\n\r\n\t\t// set text value for top line and bottom line\r\n\t\t$('#txtBarTop').val(g.pats.bar.topText);\r\n\t\t$('#txtBarBottom').val(g.pats.bar.botText);\r\n\r\n\t},\r\n\r\n\r\n\t\"barRepaintDesign\": function barRepaintDesign(){\r\n\r\n\t\t// Global knows what the design should look like\r\n\t\t// Cookie knows which product (style and color)\r\n\r\n\t\tvar cat \t= g.cook[\"cat\"];\r\n\t\tvar style \t= g.cook[\"style\"];\r\n\t\tvar color \t= g.cook[\"color\"];\r\n\r\n\t\tvar fabric = db.cats[cat][style].colors[color].fabric;\r\n\r\n\t\t// Update text fields in the design\r\n\t\tdocument.getElementById('barTopText').textContent \t= util.validateLength('bar', 'barTopText', this.handleTypography(g.pats.bar.topText));\r\n\t\tdocument.getElementById('barBotText').textContent \t= util.validateLength('bar', 'barBotText', g.pats.bar.botText);\r\n\r\n\t\t// Update colors\r\n\t\t$('#background').css('fill',\tfabric);\r\n\t\t$('.barBars').css('stroke',\t\tg.pats.bar.barColor);\r\n\t\t$('.barText').css('fill', \t\tg.pats.bar.textColor);\r\n\r\n\t\tsetTimeout(function (){\r\n\t\t\t// Resize Top text to fit\r\n\t\t\tvar width=500, height=172;\r\n\t\t\tvar textNode = document.getElementById(\"barTopText\");\r\n\t\t\tvar bb = textNode.getBBox();\r\n\t\t\tvar widthTransform = width / bb.width;\r\n\t\t\tvar heightTransform = height / bb.height;\r\n\t\t\tif (widthTransform > 3) widthTransform = 3;\r\n\t\t\t//console.log(\"TOP: wt: \" + widthTransform.toFixed(2) + \" ht: \" + heightTransform.toFixed(2) + \" w/t: \" + (widthTransform / heightTransform).toFixed(2) + \" t/w: \" + (heightTransform / widthTransform).toFixed(2) );\r\n\t\t\ttextNode.setAttribute(\"transform\", \"matrix(\"+widthTransform+\", 0, 0, \"+heightTransform+\", 0,0)\");\r\n\t\t\ttextNode.setAttribute(\"x\", 254 / widthTransform);\r\n\t\t\ttextNode.setAttribute(\"y\", 118 / heightTransform);\r\n\r\n\t\t\t// Resize Bottom text to fit\r\n\t\t\tvar width=500, height=68;\r\n\t\t\tvar textNode = document.getElementById(\"barBotText\");\r\n\t\t\tvar bb = textNode.getBBox();\r\n\t\t\tvar widthTransform = width / bb.width;\r\n\t\t\tvar heightTransform = height / bb.height;\r\n\t\t\tif (widthTransform > 2) widthTransform = 2;\r\n\t\t\t//console.log(\"BOT: wt: \" + widthTransform.toFixed(2) + \" ht: \" + heightTransform.toFixed(2) + \" w/t: \" + (widthTransform / heightTransform).toFixed(2) + \" t/w: \" + (heightTransform / widthTransform).toFixed(2) );\r\n\t\t\ttextNode.setAttribute(\"transform\", \"matrix(\"+widthTransform+\", 0, 0, \"+heightTransform+\", 0,0)\");\r\n\t\t\ttextNode.setAttribute(\"x\", 254 / widthTransform);\r\n\t\t\ttextNode.setAttribute(\"y\", 176 / heightTransform);\r\n\t\t}, 300);\r\n\r\n\t},\r\n\r\n\r\n\t\"handleTypography\": function handleTypography(raw) {\r\n\r\n\t\tvar res = \"\";\r\n\r\n\t\tif (raw.substring(0,1)==\"/\") {\r\n\t\t\t// greeks look like /ALPHA /CHI /OMEGA\r\n\t\t\tvar chars = raw.split(\"/\");\r\n\t\t\tchars.shift();\r\n\t\t\tchars.forEach(function (token){\r\n\t\t\t\tres += ((db.greeks[token.toUpperCase().trim()]==undefined)?\"?\":db.greeks[token.toUpperCase().trim()]);\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tres = raw.toUpperCase();\r\n\t\t}\r\n\r\n\t\treturn res;\r\n\t},\r\n\r\n\r\n\t\"barColorChanged\": function barColorChanged() {\r\n\t\tvar self = this;\r\n\r\n\t\t// When we're fired, we need to -\r\n\t\t//\t- update the form that holds the colors chosen\r\n\t\t//\t- invoke circleFormToGlobal() to move all form fields to global\r\n\t\t//\t- invoke circleRepaintDesign() to repaint the design and the colorpicker buttons\r\n\r\n\r\n\t\tvar btnID = g.colorpicker.pickedElementID;\r\n\r\n\t\tdocument.getElementById(btnID).textContent = g.colorpicker.pickedColorName;\r\n\r\n\t\t$('#' + btnID).css('background-color', \tutil.rgb2hex(g.colorpicker.pickedColor));\r\n\t\t$('#' + btnID).css('color', \t\t\tutil.rgb2hex(g.colorpicker.pickedColorTextColor));\r\n\r\n\t\tsetTimeout(function (){\r\n\t\t\tself.barFormToGlobal();\r\n\t\t\tself.barRepaintDesign();\r\n\t\t}, 500);\r\n\t},\r\n\r\n\r\n\r\n\t\"barTextChanged\": function barTextChanged() {\r\n\r\n\t\tvar txtID = g.textchange.changedElementID;\r\n\t\tconsole.log(\"[barTextChanged] id is \" + txtID);\r\n\r\n\t\tthis.barFormToGlobal();\r\n\t\tthis.barRepaintDesign();\r\n\r\n\t}\r\n\r\n}\r\n\r\nconsole.log(\"bar.js loaded\");\r\n\r\nmodule.exports = bar;\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/bar.js\n// module id = 3\n// module chunks = 0","var g \t\t\t\t= require('./state.js');\r\nvar util \t\t\t= require('./util.js');\r\nvar db \t\t\t\t= require('./db.js');\r\n\r\nvar circle = {\r\n\r\n\t\"circleInit\": function circleInit(){\r\n\t\tvar self = this;\r\n\r\n\t\tconsole.log(\"circleInit()\");\r\n\r\n\t\tvar cat \t= g.cook[\"cat\"];\r\n\t\tvar style \t= g.cook[\"style\"];\r\n\t\tvar color \t= g.cook[\"color\"];\r\n\r\n\t\t//$(\"#colorpicker-wrapper\").load(\"snippets/colorpicker.html\", function (){\r\n\t\t//\tcolorpicker.colorpickerInit();\r\n\t\t//});\r\n\r\n\t\t// These are the text inputs for all the text fields in the design\r\n\t\t$('.form-control.circle').on('input', function(e){\r\n\t\t\tg.textchange.changedElementID = $(this).attr('id');\r\n\t\t\tself.circleTextChanged();\r\n\t\t});\r\n\r\n\t\tif ((g.cook[\"pats\"]==undefined) || (g.pats.circle.textColor==undefined)) {\r\n\t\t\t// this means we need to load default colors for the product\r\n\t\t\tg.pats.circle.textColor \t= db.threads[ db.cats[cat][style].colors[color].c1 ];\r\n\t\t\tg.pats.circle.scriptColor \t= db.threads[ db.cats[cat][style].colors[color].c1 ];\r\n\t\t\tg.pats.circle.circleColor \t= db.threads[ db.cats[cat][style].colors[color].c2 ];\r\n\t\t\t\r\n\t\t\tg.pats.circle.textColorName \t= db.rgb2name[g.pats.circle.textColor];\r\n\t\t\tg.pats.circle.scriptColorName \t= db.rgb2name[g.pats.circle.scriptColor];\r\n\t\t\tg.pats.circle.circleColorName \t= db.rgb2name[g.pats.circle.circleColor];\r\n\r\n\t\t\tg.pats.circle.textFontColor \t= db.rgb2font[g.pats.circle.textColor];;\r\n\t\t\tg.pats.circle.scriptFontColor \t= db.rgb2font[g.pats.circle.scriptColor];\r\n\t\t\tg.pats.circle.circleFontColor \t= db.rgb2font[g.pats.circle.circleColor];\r\n\t\t} \r\n\r\n\t\tthis.circleGlobalToForm();\r\n\t\tthis.circleRepaintDesign();\r\n\r\n\t},\r\n\r\n\t\"circleFormToGlobal\": function circleFormToGlobal(){\r\n\r\n\t\t// store buttons' background color\r\n\t\tg.pats.circle.circleColor \t\t= util.rgb2hex($('#btnCirclePickCircleColor').css('background-color'));\r\n\t\tg.pats.circle.textColor \t\t= util.rgb2hex($('#btnCirclePickCircleTextColor').css('background-color'));\r\n\t\tg.pats.circle.scriptColor \t\t= util.rgb2hex($('#btnCirclePickCircleScriptColor').css('background-color'));\r\n\r\n\t\t// store bar and text color names\r\n\t\tg.pats.circle.circleColorName \t= document.getElementById('btnCirclePickCircleColor').textContent;\r\n\t\tg.pats.circle.textColorName \t= document.getElementById('btnCirclePickCircleTextColor').textContent;\r\n\t\tg.pats.circle.scriptColorName \t= document.getElementById('btnCirclePickCircleScriptColor').textContent;\r\n\r\n\t\t// store font color used to label the colored buttons\r\n\t\tg.pats.circle.circleFontColor\t= db.rgb2font[g.pats.circle.circleColor];\r\n\t\tg.pats.circle.textFontColor\t\t= db.rgb2font[g.pats.circle.textColor];\r\n\t\tg.pats.circle.scriptFontColor\t= db.rgb2font[g.pats.circle.scriptColor];\r\n\r\n\t\t// store text values\r\n\t\tg.pats.circle.topText \t\t= $(\"#txtCircleTop\").val();\r\n\t\tg.pats.circle.botText \t\t= $(\"#txtCircleBottom\").val();\r\n\t\tg.pats.circle.scriptText \t= $(\"#txtCircleScript\").val();\r\n\r\n\t},\r\n\r\n\t\"circleGlobalToForm\": function circleGlobalToForm() {\r\n\r\n\t\t// This is only meaningful on the initial screen load (I think)\r\n\r\n\t\tdocument.getElementById('btnCirclePickCircleColor').textContent \t\t= g.pats.circle.circleColorName;\r\n\t\tdocument.getElementById('btnCirclePickCircleTextColor').textContent \t= g.pats.circle.textColorName;\r\n\t\tdocument.getElementById('btnCirclePickCircleScriptColor').textContent \t= g.pats.circle.scriptColorName;\r\n\r\n\t\t$('#btnCirclePickCircleColor').css('background-color', g.pats.circle.circleColor);\r\n\t\t$('#btnCirclePickCircleTextColor').css('background-color', g.pats.circle.textColor);\r\n\t\t$('#btnCirclePickCircleScriptColor').css('background-color', g.pats.circle.scriptColor);\r\n\r\n\t\t$('#btnCirclePickCircleColor').css('color', g.pats.circle.circleFontColor);\r\n\t\t$('#btnCirclePickCircleTextColor').css('color', g.pats.circle.textFontColor);\r\n\t\t$('#btnCirclePickCircleScriptColor').css('color', g.pats.circle.scriptFontColor);\r\n\r\n\t\t$('#txtCircleTop').val(g.pats.circle.topText);\r\n\t\t$('#txtCircleScript').val(g.pats.circle.scriptText);\r\n\t\t$('#txtCircleBottom').val(g.pats.circle.botText);\r\n\r\n\t},\r\n\r\n\t\"circleRepaintDesign\": function circleRepaintDesign(){\r\n\r\n\t\t// Global knows what we want to paint\r\n\t\t// Cookie knows which item\r\n\r\n\t\tvar cat \t= g.cook[\"cat\"];\r\n\t\tvar style \t= g.cook[\"style\"];\r\n\t\tvar color \t= g.cook[\"color\"];\r\n\r\n\t\tvar fabric = db.cats[cat][style].colors[color].fabric;\r\n\r\n\t\t// Update text fields\r\n\t\tdocument.getElementById('circTopTextSpan').textContent \t= util.validateLength('circle', 'circTopTextSpan', g.pats.circle.topText.toUpperCase());\r\n\t\tdocument.getElementById('circBotTextSpan').textContent \t= util.validateLength('circle', 'circBotTextSpan', g.pats.circle.botText.toUpperCase());\r\n\t\tdocument.getElementById('circScriptText').textContent \t= util.validateLength('circle', 'circScriptText', g.pats.circle.scriptText);\r\n\r\n\t\t// Update colors\r\n\t\t$('#background').css('fill',\t\t\tfabric);\r\n\t\t$('.circleBlockText').css('fill', \t\tg.pats.circle.textColor);\r\n\t\t$('.circleScriptText').css('fill', \t\tg.pats.circle.scriptColor);\r\n\t\t$('.circleScriptText').css('stroke', \tdb.rgb2font[g.pats.circle.circleColor]);\r\n\t\t$('#circleFill').css('fill', \t\t\tg.pats.circle.circleColor);\r\n\r\n\t\t// Now, resize Script text to fit\r\n\t\t//var width=540, height=200;\r\n\t\tvar wrap \t\t\t= document.getElementById(\"circWrap\");\r\n\t\t//var textNode \t\t= document.getElementById(\"circScriptText\");\r\n\t\t//var bb \t\t\t\t= textNode.getBBox();\r\n\t\t//var widthTransform \t= width / bb.width;\r\n\t\t//var heightTransform = height / bb.height;\r\n\t\t//if (widthTransform > 3) widthTransform = 3;\r\n\t\t//console.log(\"SCR1: wt: \" + widthTransform.toFixed(2) + \" ht: \" + heightTransform.toFixed(2) + \" w/t: \" + (widthTransform / heightTransform).toFixed(2) + \" t/w: \" + (heightTransform / widthTransform).toFixed(2) );\r\n\t\t//textNode.setAttribute(\"transform\", \"matrix(\"+widthTransform+\", 0, 0, \"+heightTransform+\", 0,0)\");\r\n\t\t//textNode.setAttribute(\"x\", 310 / widthTransform);\r\n\t\t//textNode.setAttribute(\"y\", 324 / heightTransform);\r\n\r\n\t\twrap.setAttribute(\"transform\", \"rotate(-14, 310, 324)\");\r\n\r\n\t\tconsole.log(\"before timer\");\r\n\r\n\t\tsetTimeout(function (){\r\n\r\n\t\t\tconsole.log(\"just after timer\");\r\n\r\n\t\t\t// Now, resize Script text to fit\r\n\t\t\tvar width=540, height=200;\r\n\t\t\tvar wrap \t\t\t= document.getElementById(\"circWrap\");\r\n\t\t\tvar textNode \t\t= document.getElementById(\"circScriptText\");\r\n\t\t\tvar bb \t\t\t\t= textNode.getBBox();\r\n\t\t\tvar widthTransform \t= width / bb.width;\r\n\t\t\tvar heightTransform = height / bb.height;\r\n\t\t\t//console.log(\"SCR2: wt: \" + widthTransform.toFixed(2) + \" ht: \" + heightTransform.toFixed(2) + \" w/t: \" + (widthTransform / heightTransform).toFixed(2) + \" t/w: \" + (heightTransform / widthTransform).toFixed(2) );\r\n\t\t\tif (widthTransform > 4.5) widthTransform = 4.5;\r\n\r\n\t\t\ttextNode.setAttribute(\"transform\", \"matrix(\"+widthTransform+\", 0, 0, \"+heightTransform+\", 0,0)\");\r\n\r\n\t\t\ttextNode.setAttribute(\"x\", 310 / widthTransform);\r\n\t\t\ttextNode.setAttribute(\"y\", 324 / heightTransform);\r\n\r\n\t\t}, 300);\r\n\r\n\t},\r\n\r\n\t\"circleColorChanged\": function circleColorChanged() {\r\n\t\tvar self = this;\r\n\r\n\t\t// When we're fired, we need to -\r\n\t\t//\t- update the form that holds the colors chosen\r\n\t\t//\t- invoke circleFormToGlobal() to move all form fields to global\r\n\t\t//\t- invoke circleRepaintDesign() to repaint the design and the colorpicker buttons\r\n\r\n\t\tvar btnID = g.colorpicker.pickedElementID;\r\n\r\n\t\tdocument.getElementById(btnID).textContent = g.colorpicker.pickedColorName;\r\n\r\n\t\t$('#' + btnID).css('background-color', \tutil.rgb2hex(g.colorpicker.pickedColor));\r\n\t\t$('#' + btnID).css('color', \t\t\tutil.rgb2hex(g.colorpicker.pickedColorTextColor));\r\n\r\n\t\tsetTimeout(function (){\r\n\t\t\tself.circleFormToGlobal();\r\n\t\t\tself.circleRepaintDesign();\r\n\t\t}, 300);\r\n\t},\r\n\r\n\t\"circleTextChanged\": function circleTextChanged() {\r\n\t\tvar txtID = g.textchange.changedElementID;\r\n\t\tthis.circleFormToGlobal();\r\n\t\tthis.circleRepaintDesign();\r\n\t}\r\n\r\n}\r\n\r\nmodule.exports = circle;\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/circle.js\n// module id = 4\n// module chunks = 0","var g \t\t\t\t= require('./state.js');\r\nvar db \t\t\t\t= require('./db.js');\r\nvar bar \t\t\t= require('./bar.js');\r\nvar circle \t\t\t= require('./circle.js');\r\nvar review \t\t\t= require('./review.js');\r\nvar util \t\t\t= require('./util.js');\r\nvar colorpicker \t= require('./colorpicker.js');\r\nvar maintenance\t\t= require('./db-maintenance.js');\r\n\r\nfunction customInit(pathnameX) {\r\n\t\r\n\t// This is the Document Ready code for every page\r\n\tconsole.log(\"customInit\");\r\n\r\n\t// here, every page stuff\r\n\t$(\"#menulist\").html(\r\n\t\t\t'
  • Custom Hats Home
  • '\r\n\t\t+ \t'
  • Tips and FAQ
  • '\r\n\t\t+ \t'
  • The College Shack Home
  • '\r\n\t);\r\n\r\n\r\n\t// everything below here is per-page stuff\r\n\tvar pathname = window.location.pathname;\r\n\tvar filename = pathname.split('/').pop();\r\n\r\n\tif (filename==\"custom-design-tool.html\") {\r\n\r\n\t\tg.cook = {};\r\n\t\tutil.saveCookie();\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tconsole.log(\"continue\");\r\n\t\t\twindow.location = \"choose-hat-style.html\";\r\n\t\t});\r\n\r\n\t} else if (filename==\"choose-hat-style.html\") {\r\n\r\n\t\tutil.loadCookie();\r\n\r\n\t\t// setting radio button state and active carousel member for remembered hat style\r\n\t\tif (g.cook[\"style\"]!=undefined) {\r\n\t\t\tconsole.log(\"hello\");\r\n\t\t\t$(\"#rad\"+g.cook[\"style\"]).click();\r\n\t\t\t$(\".active\").toggleClass(\"active\");\r\n\t\t\t$(\"#style-\" + g.cook.style).toggleClass(\"active\");\r\n\t\t}\r\n\r\n\t\t$(\"input\").on('click', function (){\r\n\t\t\tconsole.log(\"radio click (\" + $(this).attr(\"data-style\") + \")\");\r\n\t\t});\r\n\r\n\t\t$(\"#btnBack\").on('click', function (){\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"custom-design-tool.html\";\r\n\t\t});\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tg.cook[\"cat\"] \t= $('#xxx input:radio:checked').attr(\"data-cat\");\r\n\t\t\tg.cook[\"style\"] \t= $('#xxx input:radio:checked').attr(\"data-style\");\r\n\t\t\tg.cook[\"color\"] \t= null;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"choose-hat-color-for-\" + g.cook[\"style\"] + \".html\";\r\n\t\t});\r\n\r\n\t} else if (filename.substring(0, \"choose-hat-color-for\".length) == \"choose-hat-color-for\") {\r\n\r\n\t\tutil.loadCookie();\r\n\r\n\t\t// Here, we'd like to assure that the cookie is sensible for this particular page (style and color).\r\n\t\t// This is a problem if the user got here via Google - the cookie will have inappropriate defaults.\r\n\t\tif (g.cook[\"style\"] != _pageStyle) {\r\n\t\t\tg.cook[\"style\"] = _pageStyle;\r\n\t\t\tg.cook[\"color\"] = _pageColor;\r\n\t\t}\r\n\r\n\t\t// setting radio button state and active carousel member for remembered hat color\r\n\t\tif (g.cook[\"color\"]!=undefined){\r\n\t\t\t$(\"#rad\"+g.cook[\"color\"]).click();\r\n\t\t\t$(\".active\").toggleClass(\"active\");\r\n\t\t\t$(\"#color-\" + g.cook.color).toggleClass(\"active\");\r\n\t\t}\r\n\r\n\t\t$(\"input\").on('click', function (){\r\n\t\t\tconsole.log(\"radio click (\" + $(this).attr(\"data-color\") + \")\");\r\n\t\t});\r\n\r\n\t\t$(\"#btnBack\").on('click', function (){\r\n\t\t\tconsole.log(\"back\");\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"choose-hat-style.html\";\r\n\t\t});\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tg.cook[\"cat\"] \t= $('#xxx input:radio:checked').attr(\"data-cat\");\r\n\t\t\tg.cook[\"style\"] \t= $('#xxx input:radio:checked').attr(\"data-style\");\r\n\t\t\tg.cook[\"color\"] \t= $('#xxx input:radio:checked').attr(\"data-color\");;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"designs.html\";\r\n\t\t});\r\n\r\n\r\n\t} else if (filename==\"designs.html\") {\r\n\r\n\t\tutil.loadCookie();\r\n\r\n\t\t// need to assure that only designs supported by the current style are offered here\r\n\t\t_.keys(db.cats.hats[g.cook.style].designs).forEach(function (d){\r\n\t\t\t//console.log(\"For \" + g.cook.style + \" design \" + d + \" is \" + db.cats.hats[g.cook.style].designs[d]);\r\n\t\t\tif (db.cats.hats[g.cook.style].designs[d]==false) {\r\n\t\t\t\t// this design is not supported, so suppress it\r\n\t\t\t\t$(\"#design-\" + d).hide();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\r\n\t\t// setting radio button state and active list-item member for remembered design\r\n\t\tif (g.cook[\"design\"]!=undefined) {\r\n\t\t\t$(\"#rad\"+g.cook[\"design\"]).click();\r\n\t\t\t//$(\".active\").toggleClass(\"active\");\r\n\t\t\t//$(\"#design-\" + g.cook.design).toggleClass(\"active\");\r\n\t\t}\r\n\r\n\t\t$(\"#btnBack\").on('click', function (){\r\n\t\t\tconsole.log(\"back\");\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"choose-hat-color-for-\" + g.cook[\"style\"] + \".html\";\r\n\t\t});\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tg.cook[\"design\"] \t= $('#xxx input:radio:checked').attr(\"data-design\");;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"designs-\" + g.cook[\"design\"] + \".html\";\r\n\t\t});\r\n\r\n\r\n\t} else if (filename==\"designs-bar.html\") {\r\n\r\n\t\tcolorpicker.colorpickerInit();\r\n\r\n\t\tutil.loadCookie();\r\n\t\tbar.barInit();\r\n\r\n\t\t$(\"#btnBack\").on('click', function (){\r\n\t\t\tconsole.log(\"back\");\r\n\t\t\tg.cook[\"pats\"] = g.pats;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"designs.html\";\r\n\t\t});\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tconsole.log(\"continue\");\r\n\t\t\tg.cook[\"pats\"] = g.pats;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"review.html\";\r\n\t\t});\r\n\r\n\r\n\t} else if (filename==\"designs-circle.html\") {\r\n\r\n\t\tcolorpicker.colorpickerInit();\r\n\r\n\t\tutil.loadCookie();\r\n\t\tcircle.circleInit();\r\n\r\n\t\t$(\"#btnBack\").on('click', function (){\r\n\t\t\tconsole.log(\"back\");\r\n\t\t\tg.cook[\"pats\"] = g.pats;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"designs.html\";\r\n\t\t});\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tconsole.log(\"continue\");\r\n\t\t\tg.cook[\"pats\"] = g.pats;\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"review.html\";\r\n\t\t});\r\n\r\n\t} else if (filename==\"review.html\") {\r\n\r\n\t\tutil.loadCookie();\r\n\t\treview.reviewInit();\r\n\r\n\t\t$(\"#btnBack\").on('click', function (){\r\n\t\t\tconsole.log(\"back\");\r\n\t\t\tg.cook[\"qty\"] = $(\"#qty\").val();\r\n\t\t\tconsole.log(\"qty from form is \" + $(\"#qty\").val());\r\n\t\t\tutil.saveCookie();\r\n\t\t\twindow.location = \"designs-\" + g.cook[\"design\"] + \".html\";\r\n\t\t});\r\n\r\n\t\t$(\"#btnContinue\").on('click', function (){\r\n\t\t\tconsole.log(\"continue\");\r\n\t\t\tg.cook[\"qty\"] = $(\"#qty\").val();\r\n\t\t\tutil.saveCookie();\r\n\t\t\treview.writeToCart();\r\n\t\t\t//window.location = \"custom-design-tool.html\";\r\n\t\t});\r\n\r\n\t} else if (filename==\"configger.html\") {\r\n\t\tvar h = maintenance.makePage();\r\n\t\t$(\"#hats\").html(h);\r\n\t\t$(\".clicky\").on('click', function (e){\r\n\t\t\tmaintenance.clicked($(this).attr('id'));\r\n\t\t});\r\n\t\t$(\"#dumpDb\").on('click', function (e){\r\n\t\t\tmaintenance.dumpDb();\r\n\t\t});\r\n\r\n\t} else if (filename==\"viewer.html\"){\r\n\r\n\t\t// We need to grab the encoded state from the url, vivify it, then populate the globals such that the called-for design will render.\r\n\t\tconsole.log(\"qval is (\" + qval('zozo') + \")\");\r\n\t\t// N4IgxghgLiBcIAtoGcQBoTKgTwDYFM4QBxAIQCYAGARgFZ1wB7XRgJyLKroGEBBBgCb5kASwDmAOyJgRrMAQYAHFHFABHHHEoYZchbFBh8EqPnYGQADzgBmatpDZb5ACwBfDG3EipF67CoMJ1hqKg8QKEZFABV8Sxh4Ynw2MXxIgHcpDAAjRihY+KIAVQkRADczUU0MZDBWEUV8uISQAAlGbAhUHVl5fG5mNiIAYggADkpaG3IGU3iBlnMQYfI7ADMqBlr6xoWh+BX1zZ69fsHWADkIAFtCeG4IVgEfCFxZ5r3Lm7uQUlwIMAAay2dQaUE+V1uRD+AOBJz6ADFGCZPiM1uiMe94kiUec0Rj0SCdlAceC8QcCYTwtlHqoIlECi0APSKBAiAAETKEuCgEE5UAQaQgDFyTUK8AA8oD/ghGNc+QBlXmmLFkxZwCQAV1wuByj1RsC1OowczVbEhdyNupANNYEO+Gu11tNpINVr1rFd5KtbnCGmCIFCIDcQA==\r\n\t\tutil.uncompressDesign(qval('zozo'));\r\n\r\n\t} else {\r\n\t\tconsole.log(\"!!!!!!!!!!!!!!!!!!!! Unknown page in CustomInit() - \" + filename);\r\n\t}\r\n\r\n}\r\n\r\n\r\nfunction textChanged() {\r\n\tconsole.log(\"[textChanged()] \" + g.textchange.changedElementID.substr(0, \"txtCircle\".length));\r\n\tif (g.textchange.changedElementID.substr(0, \"txtCircle\".length)==\"txtCircle\") circle.circleTextChanged();\r\n\tif (g.textchange.changedElementID.substr(0, \"txtBar\".length) ==\"txtBar\") bar.barTextChanged();\r\n}\r\n\r\nfunction qval(name) {\r\n\tvar results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);\r\n\treturn results[1] || 0;\r\n}\r\n\r\n\r\n\r\ncustomInit();\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/custom.js\n// module id = 5\n// module chunks = 0","var g \t\t\t\t= require('./state.js');\r\nvar util \t\t\t= require('./util.js');\r\nvar db \t\t\t\t= require('./db.js');\r\n\r\nvar review = {\r\n\r\n\r\n\t\"reviewInit\": function reviewInit() {\r\n\r\n\t\tconsole.log(\"reviewInit()\");\r\n\r\n\t\tvar cat \t= g.cook[\"cat\"];\r\n\t\tvar style \t= g.cook[\"style\"];\r\n\t\tvar color \t= g.cook[\"color\"];\r\n\t\tvar design \t= g.cook[\"design\"];\r\n\t\tvar qty\t\t= g.cook[\"qty\"];\r\n\r\n\t\tif (qty!=undefined) $(\"#qty\").val(qty);\r\n\r\n\t\t$(\"#price-grid-div\").html( this.makePriceTable(style) );\r\n\r\n\t\t$(\"#lead-time\").text(db.cats.hats[style].lead);\r\n\r\n\t},\r\n\r\n\r\n\t\"writeToCart\": function writeToCart() {\r\n\r\n\t\tvar cat \t= g.cook[\"cat\"];\r\n\t\tvar style \t= g.cook[\"style\"];\r\n\t\tvar color \t= g.cook[\"color\"];\r\n\t\tvar design \t= g.cook[\"design\"];\r\n\r\n\t\t// we start by hinding the warning, because we may be here having just showed it\r\n\t\t$(\"#minq-warning\").hide();\r\n\r\n\t\t// first, validate MOQ\r\n\t\tvar qty = $(\"#qty\").val();\r\n\r\n\t\tif (qty < db.cats.hats[style].minq) {\r\n\t\t\t$(\"#minq-warning\").show();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Now, write to cart\r\n\r\n\t\t/* We're sending three options into the cart -\r\n\r\n\t\t\t- Option 319 is the human-readable spec for the item (style, color, design, thread colors and text)\r\n\t\t\t- Option 320 is the Base64-encoded json data that's in our cookie (which has machine readable specs for the item)\r\n\t\t\t- Option 321 is the optional Customer Note (textarea)\r\n\t\t\t\r\n\t\t\tOption 319 data needs to be urlencoded (as does the url we're posting to).\r\n\r\n\t\t\tAlso - we need the item being purchase in a couple of places.\r\n\t\t\tRecall that this is the same as the pricing scheme the item uses.\r\n\t\t\tBasic idea - we've created on Volusion product for every unique pricing schedule we need (qty discount scheme).\r\n\r\n\t\t*/\r\n\r\n\t\tvar cookiedata = util.saveCookie();\r\n\r\n\t\tvar humandata = \"Style: \" \t\t+ style\r\n\t\t\t+ \" * Color: \" \t\t\t\t+ color\r\n\t\t\t+ \" * Design: \" \t\t\t+ design;\r\n\r\n\t\tif (design==\"bar\") {\r\n\r\n\t\t\thumandata += \" * Top Text: \" \t+ g.cook.pats.bar.topText\r\n\t\t\t+ \" * Bottom Text: \" \t\t\t+ g.cook.pats.bar.botText\r\n\t\t\t+ \" * Bar Color: \" \t\t\t\t+ g.cook.pats.bar.barColor\r\n\t\t\t+ \" * Text Color: \" \t\t\t+ g.cook.pats.bar.textColor;\r\n\r\n\t\t} else if (design==\"circle\") {\r\n\r\n\t\t\thumandata += \" * Top Text: \" \t+ g.cook.pats.circle.topText\r\n\t\t\t+ \" * Bottom Text: \" \t\t\t+ g.cook.pats.circle.botText\r\n\t\t\t+ \" * Script Text: \" \t\t\t+ g.cook.pats.circle.scriptText\r\n\t\t\t+ \" * Block Text Color: \" \t\t+ g.cook.pats.circle.textColorName\r\n\t\t\t+ \" * Script Color: \" \t\t\t+ g.cook.pats.circle.scriptColorName\r\n\t\t\t+ \" * Circle Color: \" \t\t\t+ g.cook.pats.circle.circleColorName;\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvar volusionPID = db.cats.hats[style].pid;\r\n\r\n\t\tvar data = \r\n\t\t\t \"TEXTBOX___319___\" + volusionPID + \"___30=\"\t+ encodeURIComponent(humandata)\r\n\t\t\t+ \"&TEXTBOX___320___\" + volusionPID + \"___30=\" \t+ cookiedata\r\n\t\t\t+ \"&TEXTBOX___321___\" + volusionPID + \"___30=\"\t+ encodeURIComponent($(\"#customer-note\").val())\r\n\t\t\t+ \"&QTY.\" + volusionPID + \"=\" + qty\r\n\t\t\t+ \"&btnaddtocart.x=87\"\r\n\t\t\t+ \"&btnaddtocart.y=18\"\r\n\t\t\t+ \"&ReplaceCartID=\"\r\n\t\t\t+ \"&ProductCode=\" + volusionPID\r\n\t\t\t+ \"&e=\"\r\n\t\t\t+ \"&ReturnTo=/shoppingcart.asp\";\r\n\r\n\t\tconsole.log(\"DATA\\n\" + data);\r\n\r\n\t\t$.ajax({\r\n\t\t\turl: \"/ProductDetails.asp?ProductCode=\" + volusionPID,\r\n\t\t\tdata: data,\r\n\t\t\tdataType: \"text\",\r\n\t\t\tcontentType: \"application/x-www-form-urlencoded\",\r\n\t\t\ttype: 'post',\r\n\t\t\terror: function(jqXHR, textStatus, errorThrown) {\r\n\t\t\t\tconsole.log('An error has occurred: ' + JSON.stringify(jqXHR.responseJSON, null, 2) + \" : \" + textStatus + \" : \" + errorThrown);\r\n\t\t\t},\r\n\t\t\tsuccess: function(data) {\r\n\t\t\t\tconsole.log(\"POST success\");\r\n\t\t\t\twindow.location=\"/shoppingcart.asp\";\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t/*\r\n\r\n\tContent type -\r\n\r\n\t\tapplication/x-www-form-urlencoded\r\n\r\n\tRequest URL -\r\n\r\n\t\thttp://www.thecollegeshack.com/ProductDetails.asp?ProductCode=CUSTOM%2DP1\r\n\r\n\tQuery string -\r\n\r\n\t\tProductCode=CUSTOM%2DP1\r\n\r\n\r\n\tForm data -\r\n\r\n\t\tTEXTBOX___319___CUSTOM-P1___30=This+is+319&TEXTBOX___320___CUSTOM-P1___30=This+is+320&QTY.CUSTOM-P1=24&btnaddtocart.x=87&btnaddtocart.y=18&ReplaceCartID=&ProductCode=CUSTOM-P1&e=&ReturnTo=ShoppingCart.asp\r\n\r\n\r\n\tReformatted -\r\n\r\n\t\tTEXTBOX___319___CUSTOM-P1___30=This+is+319&\r\n\t\tTEXTBOX___320___CUSTOM-P1___30=This+is+320&\r\n\t\tQTY.CUSTOM-P1=24&\r\n\t\tbtnaddtocart.x=87&\r\n\t\tbtnaddtocart.y=18&\r\n\t\tReplaceCartID=&\r\n\t\tProductCode=CUSTOM-P1&\r\n\t\te=&\r\n\t\tReturnTo=ShoppingCart.asp\r\n\r\n\r\n\r\n\t*/\r\n\r\n\t},\r\n\r\n\r\n\t/* PRICE-Related */\r\n\r\n\t\"makePriceTable\": function makePriceTable(style) {\r\n\r\n\t/*\r\n\r\n\tThe coupon scheme we're using -\r\n\r\n\t\t01-23 list price\r\n\t\t23-35 drop $1\r\n\t\t36-47 drop $2\r\n\t\t48-71 drop $3\r\n\t\t72-!! drop $4\r\n\r\n\tApplies to -\r\n\r\n\t\t2015\r\n\t\t210\r\n\t\t210Y\r\n\t\t211\r\n\t\t273\r\n\t\t274\r\n\t\t351\r\n\t\tCUSTOM-P1 (this is the one we care about)\r\n\t\tg85\r\n\t\tg99\r\n\r\n\tin db -\r\n\r\n\t\"prices\": {\r\n\t\t\"std\": [\r\n\t\t\t{ \"from\": 0, \"to\": 23, \"value\": 0 },\r\n\t\t\t{ \"from\": 24, \"to\": 35, \"value\": 2 },\r\n\t\t\t{ \"from\": 36, \"to\": 47, \"value\": 3 },\r\n\t\t\t{ \"from\": 48, \"to\": 72, \"value\": 4 }\r\n\t\t]\r\n\t},\r\n\r\n\tCreate -\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t
    quantity discounts
    12-2324-3536-4748-7172+
    19.9518.9517.9516.95Call
    \r\n\tMinimum order is 12 hats.\r\n\r\n\t*/\r\n\r\n\t\tvar listprice = db.cats.hats[style].list;\r\n\t\tvar levels = db.prices[ db.cats.hats[style].price ];\r\n\r\n\t\tvar h = '\\n';\r\n\t\th += '\\n';\r\n\r\n\t\th += '\\n';\r\n\t\tlevels.forEach(function (p, ix){\r\n\t\t\tif (ix==0) p.from = db.cats.hats[style].minq;\r\n\t\t\th += '\\n';\r\n\t\t});\r\n\t\th += '\\n'; \r\n\t\th += '\\n';\r\n\r\n\t\th += '\\n';\r\n\t\tlevels.forEach(function (p, ix){\r\n\t\t\th += '\\n';\r\n\t\t});\r\n\t\th += '\\n';\r\n\t\th += '\\n';\r\n\r\n\r\n\t\th += '
    quantity discounts
    ' + p.from + '-' + p.to + '' + (levels[levels.length-1].to + 1) + '+
    ' + (listprice - p.value) + 'Call
    \\n';\r\n\t\th += 'Minimum order is ' + db.cats.hats[style].minq + ' hats.\\n';\r\n\t\treturn h;\r\n\t}\r\n\r\n\t/* End PRICE-Related */\r\n\r\n}\r\n\r\nmodule.exports = review;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/review.js\n// module id = 6\n// module chunks = 0","var g \t\t\t= require('./state.js');\r\nvar bar \t\t= require('./bar.js');\r\nvar circle \t\t= require('./circle.js');\r\n\r\nvar colorpicker = {\r\n\r\n\t\"colorpickerInit\": function colorpickerInit() {\r\n\r\n\t\t// First, insert the colorpicker into the DOM\r\n\t\t//var contnt = document.getElementById('colorpickerImp').import;\r\n\t // Grab DOM from import's document.\r\n\t //var el = contnt.getElementById('colorpickerModal');\r\n\t //document.body.appendChild(el.cloneNode(true));\r\n\r\n\t console.log(\"colorpickerInit()\");\r\n\r\n\t // console.log(\"util\\n\" + JSON.stringify(util));\r\n\r\n\t\t$('#colorpicker.table > tbody > tr').click(function() {\r\n\t\t\t// this is how we know which color was selected by the colorpicker\r\n\t\t\tg.colorpicker.pickedColor \t\t\t\t= $(this).css('background-color');\r\n\t\t\tg.colorpicker.pickedColorName \t\t\t= $(this).first().html().substr(4, $(this).first().html().length -9);\r\n\t\t\tg.colorpicker.pickedColorTextColor \t\t= $(this).css('color');\r\n\t\t\t$('#colorpicker-modal').modal('hide');\r\n\r\n\t\t\tif (g.colorpicker.pickedElementID.substr(0, \"btnCirclePick\".length)\t== \"btnCirclePick\") circle.circleColorChanged();\r\n\t\t\tif (g.colorpicker.pickedElementID.substr(0, \"btnBarPick\".length)\t== \"btnBarPick\") \tbar.barColorChanged();\r\n\r\n\r\n\t\t});\r\n\r\n\t\t$('.modal').on('show.bs.modal', function (e) {\r\n\t\t\t// this is how we know which button was chosen to invoke the sole colorpicker modal\r\n\t\t\tvar $trigger = $(e.relatedTarget);\r\n\t\t\tg.colorpicker.pickedElementID = $($trigger).attr(\"id\")\r\n\t\t\tconsole.log(\"pickedElementID is \" + g.colorpicker.pickedElementID);\r\n\t\t});\r\n\r\n\t}\r\n\r\n}\r\n\r\nconsole.log(\"colorpicker.js loaded\");\r\n\r\nmodule.exports = colorpicker;\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/colorpicker.js\n// module id = 7\n// module chunks = 0","var db \t= require('./db.js');\r\n\r\nvar lid = \"\";\r\n\r\nvar maintenance = {\r\n\r\n\r\n\t\"clicked\": function clicked(id){\r\n\t\tvar self = this;\r\n\t\r\n\t\tconsole.log(\"clicked: (\" + id + \")\");\r\n\r\n\t\t// If a thread is clicked, then we're updating the most recently clicked item.\r\n\t\t// Otherwise, we're just remembering the item clicked.\r\n\r\n\t\tif (id.substring(0, \"thread\".length)==\"thread\") {\r\n\t\t\tif (lid==\"\") return;\r\n\t\t\tself.updateWidget(id);\r\n\t\t} else {\r\n\t\t\tlid = id;\r\n\t\t}\r\n\r\n\t},\r\n\r\n\r\n\t\"updateWidget\": function updateWidget(thread) {\r\n\r\n\t/*\r\n\tclicked: thread-Navy\r\n\r\n\tclicked: fabcol-GB2015-GB2015WH\t\tthe fabric of the hat must change\r\n\tclicked: fabfon-GB2015-GB2015WH-c1\tthe font used when writing on fabric color for this particular fabric color\r\n\tclicked: thrcol-GB2015-GB2015WH-c1\tthe recommended default thread color (c1 or c2)\r\n\tclicked: thrfon-GB2015-GB2015WH-c1\tthe font used when writing on thread color for this particular default color\r\n\r\n\t*/\r\n\r\n\t\tvar threadColor = thread.substring(\"thread-\".length, 99);\r\n\r\n\t\tvar KEY \t= 0;\r\n\t\tvar STYLE \t= 1;\r\n\t\tvar COLOR \t= 2;\r\n\t\tvar CX \t\t= 3;\r\n\r\n\t\tvar flds = lid.split(\"-\");\r\n\r\n\t\tif (flds[KEY]==\"thrcol\") {\r\n\t\t\t//console.log(\"Set Style: \" + flds[STYLE] + \" Color: \" + flds[COLOR] + \" to Thread: (\" + flds[CX] + \") Thread: \" + thread.substring(\"thread-\".length, 99) );\r\n\t\t\tdb.cats.hats[flds[STYLE]].colors[flds[COLOR]][flds[CX]] = threadColor;\r\n\t\t} else if (flds[KEY]==\"fabcol\") {\r\n\t\t\tdb.cats.hats[flds[STYLE]].colors[flds[COLOR]].fabric = db.name2rgb[threadColor];\r\n\t\t} else if (flds[KEY]==\"thrfon\") {\r\n\t\t\tvar thrname = db.cats.hats[flds[STYLE]].colors[flds[COLOR]][flds[CX]];\r\n\t\t\tvar thrcode = db.name2rgb[thrname];\r\n\t\t\tdb.rgb2font[thrcode] = db.name2rgb[threadColor];\r\n\t\t\tconsole.log(\"Set font color for \" + thrname + \":\" + thrcode + \" to \" + threadColor + \":\" + db.name2rgb[threadColor]);\r\n\t\t} else if (flds[KEY]==\"fabfon\") {\r\n\t\t\tvar fabcode = db.cats.hats[flds[STYLE]].colors[flds[COLOR]].fabric;\r\n\t\t\tdb.rgb2font[fabcode] = db.name2rgb[threadColor];\r\n\t\t\tconsole.log(\"Set font color for \" + \"fabric\" + \":\" + fabcode + \" to \" + threadColor + \":\" + db.name2rgb[threadColor]);\r\n\t\t}\r\n\r\n\t\tvar h = this.makeCell(flds[STYLE], flds[COLOR]);\r\n\t\tvar id = \"#cell-\" + flds[STYLE] + \"-\" + flds[COLOR];\r\n\r\n\t\t$(id).html(h);\r\n\r\n\t\t$(id + \" .clicky\").on('click', function (e){\r\n\t\t\tmaintenance.clicked($(this).attr('id'));\r\n\t\t});\r\n\r\n\t},\r\n\r\n\r\n\t\"makePage\": function makePage() {\r\n\t\tvar self = this;\r\n\r\n\t\tvar h = '';\r\n\r\n\t\t_.keys(db.cats.hats).forEach(function (s){\r\n\r\n\t\t\th += '';\r\n\r\n\t\t\th += '';\r\n\r\n\t\t\t_.keys(db.cats.hats[s].colors).forEach(function (c){\r\n\r\n\t\t\t\th += self.makeCell(s, c);\r\n\t\t\t});\r\n\r\n\r\n\t\t\th += '';\r\n\r\n\t\t});\r\n\r\n\t\th += '
    ';\r\n\t\t\th += '';\r\n\t\t\th += '';\r\n\t\t\th += '';\r\n\t\t\th += '
    ' + s + '
    ';\r\n\t\t\th += '';\r\n\t\t\th += '
    ';\r\n\t\t\th += '
    ';\r\n\r\n\t\treturn h;\r\n\r\n\t},\r\n\r\n\r\n\t\"makeCell\": function makeCell(s, c) {\r\n\t\tvar self = this;\r\n\r\n\t\th = '';\r\n\t\th += '';\r\n\t\th += '';\r\n\t\th += '';\r\n\t\th += '';\r\n\r\n\t\t['c1', 'c2'].forEach(function (cn){\r\n\r\n\t\t\tvar thrname \t\t= db.cats.hats[s].colors[c][cn];\r\n\t\t\tvar fabcolorcode \t= db.cats.hats[s].colors[c].fabric;\r\n\t\t\tvar thrcolorcode \t= db.threads[thrname];\r\n\t\t\tvar fabfontcolor \t= db.rgb2font[fabcolorcode];\r\n\t\t\tvar thrfontcolor \t= db.rgb2font[thrcolorcode];\r\n\r\n\t\t\tif (thrfontcolor==undefined) console.log(\"rgb2font missing for \" + s + \"-\" + c + \"-\" + cn + \" : \" + thrcolorcode);\r\n\r\n\t\t\th += '';\r\n\t\t});\r\n\r\n\t\th += '
    ' + c + '
    ';\r\n\t\th += '';\r\n\t\th += '
    ';\r\n\r\n\t\t\tvar key = s + '-' + c + '-' + cn;\r\n\r\n\t\t\th += '';\r\n\t\t\th += '';\r\n\t\t\th += '';\r\n\r\n\t\t\th += '';\r\n\r\n\t\t\th += '';\r\n\r\n\t\t\th += '';\r\n\t\t\th += '
    ' + self.terse(thrname) + 'X********
    ';\r\n\r\n\t\t\th += '
    ';\r\n\t\th += '';\r\n\r\n\t\treturn h;\r\n\r\n\t},\r\n\r\n\r\n\r\n\t\"terse\": function terse(s) {\r\n\r\n\t\tvar xr = {\r\n\t\t\t\"Tennessee Orange\": \"Tenn Org\",\r\n\t\t\t\"Yellow Softball\": \"Yellow SB\"\r\n\t//\t\t\"Light Purple\": \"Lt Purple\",\r\n\t//\t\t\"Texas Orange\": \"Texas Org\",\r\n\t//\t\t\"Carolina Blue\": \"Car Blue\",\r\n\t//\t\t\"Dark Green\": \"Dk Green\"\r\n\t\t}\r\n\r\n\t\treturn (xr[s]==undefined)?s:xr[s];\r\n\r\n\t},\r\n\r\n\r\n\t\"dumpDb\": function dumpDb() {\r\n\t\tconsole.log(\"DB\\n\" + JSON.stringify(db, null, \"\\t\"));\r\n\t}\r\n\r\n}\r\n\r\nmodule.exports = maintenance;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/db-maintenance.js\n// module id = 8\n// module chunks = 0"],"sourceRoot":""}