CINXE.COM

Shop NIST | E-Commerce Store

<!DOCTYPE HTML> <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#" xmlns:og="http://ogp.me/ns#"> <head> <script src="/static/111213/js/perf/stub.js" type="text/javascript"></script><script src="/jslibrary/1698336665252/sfdc/VFRemote.js" type="text/javascript"></script><script src="/jslibrary/1725859385252/ui-sfdc-javascript-impl/SfdcCore.js" type="text/javascript"></script><script src="/static/111213/js/picklist4.js" type="text/javascript"></script><script src="/jslibrary/1698336665252/sfdc/VFState.js" type="text/javascript"></script><script src="/jslibrary/1698336665252/sfdc/NetworkTracking.js" type="text/javascript"></script><script>try{ NetworkTracking.init('/_ui/networks/tracking/NetworkTrackingServlet', 'network', '066t0000000517H'); }catch(x){}try{ NetworkTracking.logPageView();}catch(x){}</script><script>(function(UITheme) { UITheme.getUITheme = function() { return UserContext.uiTheme; }; }(window.UITheme = window.UITheme || {}));</script><script type="text/javascript"> Visualforce.remoting.Manager.add(new $VFRM.RemotingProviderImpl({"vf":{"vid":"066t0000000517H","xhr":false,"dev":false,"tst":false,"dbg":false,"tm":1732744256373,"ovrprm":false},"actions":{"ccrz.cc_ctrl_AutoComplete":{"ms":[{"name":"searchAutoComplete","len":4,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6TnpSYSw4MjM3VjVxaVg3dktENzNmakVKX1hsTkNzekFxWTRHVWJxMU91VXlhYlFnPSxOMkk0TldWaQ==","authorization":"eyJub25jZSI6InlLcU5DRUdBNjQ4QzVPQXZxeDlUSUd4bGhobGpDNnZHdi1IZUpVQWNGQVlcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzc0LCJleHAiOjB9.Q2l4alkzSjZMbU5qWDJOMGNteGZRWFYwYjBOdmJYQnNaWFJsTG5ObFlYSmphRUYxZEc5RGIyMXdiR1YwWlE9PQ==.MQ2LtvAVI0nfGJ5USFgyrpr_1v5kUF-EGzs9J52v_ic="}],"prm":1},"ccrz.cc_ctrl_CartRD":{"ms":[{"name":"applyCoupon","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6TnpWYSxwSjQwakR2WHFENkNXMmJoeTVCaEtvMUNHVUd4N1A3Nmd1aXpnQ0lXWFdNPSxPR1F4T0dFeQ==","authorization":"eyJub25jZSI6Ikl1NnNaZmNrVmRsUV83MG9yRTBaZlZkbmVxdWx4ZjlMeUxwNDFKUm5SZThcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzc1LCJleHAiOjB9.Q2g5alkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtRndjR3g1UTI5MWNHOXU=.DK2mtX_eLyWR8Q1DnB55K4VuqHfRHiauGfZkCFrV17o="},{"name":"clearCoupon","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6TnpWYSxqZUE2cWpGZnpyM2RkQWlWbHFGU3BqcVlhV0ZoTjVES1lteS14Q0FCblhrPSxaV0kzWXpFMw==","authorization":"eyJub25jZSI6Ikh0ZFFlN21Oay1FR2tHaThublM2S2lFd1BRRjZhem9JdTZiS1Y4RTUxYW9cdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzc2LCJleHAiOjB9.Q2g5alkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtTnNaV0Z5UTI5MWNHOXU=.CKLK5nSwl8pPuhc_itC4QmaYNLo0lhfvlsZFckUpYBY="},{"name":"createRequestForQuote","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6TnpaYSw0R0ppUlhjNWxtR0JXYlRuZ1g2dHZOWU9uOXhnd3FHYWpVQmRGSnVrc0RFPSxNakV3WldFdw==","authorization":"eyJub25jZSI6IlduVGlINU02bHhwN1BrUTJnSjdreG5LaVdSdjNKNGhOVEhKaUpVQ05rdDRcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzc2LCJleHAiOjB9.Q2lsalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtTnlaV0YwWlZKbGNYVmxjM1JHYjNKUmRXOTBaUT09.HyvymK_znzbWaGAkXO47UYfCfYVqUr8tvg9Df6dSSZ4="},{"name":"createWishlistFromCart","len":3,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6TnpaYSxWY3J3Qk1CcnpVSVdrQnBmSkc3ZFZCYlE3SzRQdVVWR0FfV1pZdFJOZklVPSxNMkk1Wm1Kaw==","authorization":"eyJub25jZSI6IlBCVmFHVkl3SkhDNmlCVEp6TFJGellMa1VqSlZEUzk1ZzRxUGFWRzNabThcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzc3LCJleHAiOjB9.Q2lwalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtTnlaV0YwWlZkcGMyaHNhWE4wUm5KdmJVTmhjblE9.pMlyb1GDOPEuAEwrbcsxGkmZTKJHWCJihGZjM7SZMGs="},{"name":"fetchCart","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6TnpkYSxTbFFOQVJUMEd6NGJJMGc4aHlzMFlkUDJieGdfbGJaRmg4dmhJNTNoNGMwPSxNbU5qWlRkag==","authorization":"eyJub25jZSI6InV3UUZCLUNLbHRxaUp3QkNPdV90NWtNOEtwTHhZNVQ0Q1ozelRMVlphM3dcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzc3LCJleHAiOjB9.Q2gxalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtWmxkR05vUTJGeWRBPT0=.DBBss2YZIii6VDDvLIXke0VmMbXciUQu_nd6Kp9mO4g="},{"name":"fetchFullCart","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6TnpoYSxaTnpPUGtnNE5Ma0J1R29jdkdKOVNpUktISGVVQTdNRVVYOEpYYXBXWHdzPSxOalptWldGaw==","authorization":"eyJub25jZSI6IkJUdEdSdlZLMWlaam11a0I1VmNsQjNFYko5WHBqZXZxb1VXM2sxSTQ1X3dcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzc4LCJleHAiOjB9.Q2lGalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtWmxkR05vUm5Wc2JFTmhjblE9.iSTkWmeF8IFnO2pisuSH3yYFoZl9JJaMIE1AEJHI_ZY="},{"name":"fetchMiniCart","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6TnpoYSx4NnVSTDJ1ZExoaDhRV2lmVWNlX3dBU2lPMk5RT3gzUGE2VXl6MldYdDlrPSxOemN3TnpVMA==","authorization":"eyJub25jZSI6IjFXMHpfXzVQa1FUakc0WUEza0ZMd3JVd242blBoLUhyRVloeVFrWmF4RElcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzc5LCJleHAiOjB9.Q2lGalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtWmxkR05vVFdsdWFVTmhjblE9.7yjMqAef-3J3UxOayJ_zwspVJnuAaSvx-E2q9DGPNzE="},{"name":"fetchPricingTiers","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6TnpsYSwxaTRyY2V3eDVWZ3VxTU1QS2NKZ0wxM01pcDBtOWk4bUlwb1puMFNjSXM0PSxZalU0TXpZNA==","authorization":"eyJub25jZSI6InBzSHgySmZ4MVgwS2NrbXAxZVlUUnVrMUVEcDVvVDNWUldRY1UzSURVZlFcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzc5LCJleHAiOjB9.Q2lWalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtWmxkR05vVUhKcFkybHVaMVJwWlhKeg==.h66MMrXqtg-nSn3ag0WJzgMaIWoJC35u13AeXzmRgH4="},{"name":"getCartTotal","len":3,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RCYSx5QXJPdXJZeVd6MHoxel9zYkMyckR3SURVSDdiUDFOY3J6bzBiUXZLcm5FPSxOVFZoTUdVNA==","authorization":"eyJub25jZSI6IldXTW9HQUlsWmxPTVRaaWZWVjhOTTl2SFhrRFlmX3hPeXVlcHdDT29DdTBcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2MzgwLCJleHAiOjB9.Q2lCalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtZGxkRU5oY25SVWIzUmhiQT09.Bzbc8OEYFbouxKs1GhwPfxVJNAo6QFwIiO_5qNVfk0o="},{"name":"performExtPriceValidation","len":3,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RCYSxhOE9Gal9IdHB4eldvSE9ieUpDSjAwYkxRYWpuU1pSYmN4V1ZWS2N3YUpFPSxNREUyT1dZNA==","authorization":"eyJub25jZSI6IklKblBleGhWaEdvNE1BYU9sSUZaelRaUEJNNmQtZ2JCRThpdlJQWHdUQ1lcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2MzgwLCJleHAiOjB9.Q2kxalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxuQmxjbVp2Y20xRmVIUlFjbWxqWlZaaGJHbGtZWFJwYjI0PQ==.9faqipOqDF4wIdIyBcoCYoh0gAEPhnLpzlWHMzr20NI="},{"name":"removeCartItem","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RGYSxqX0EzY0RWd1FoanJ4UVhlSkk5SjZDN1FYYW9VNzNuemdFMkpiajY2ZC1vPSxZMlk1WlRZMw==","authorization":"eyJub25jZSI6Ikp2aXhpaUp2Z1RKV1RNTlYzOVhTREh2V19ndnlnVnRnQ2pqenZxZmQzbEFcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2MzgxLCJleHAiOjB9.Q2lKalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxuSmxiVzkyWlVOaGNuUkpkR1Z0.fE1L7umnuGwILEnzI0ybGzSjJB8CvNCHuKr7Pj23rTY="},{"name":"saveCart","len":4,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RGYSxnR2JVWGU2QnphM0xoYVp6VWlJdF9QV2k3MEhBcU1MdEpkT05IZkNIQkJnPSxPVFV3WXpBMw==","authorization":"eyJub25jZSI6IkpDcThrWHBmdG1nRU8yeU5LM2xzY3BHR1F4N2pQS28xRmZaNV9wYS1FRTBcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2MzgyLCJleHAiOjB9.Q2h4alkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxuTmhkbVZEWVhKMA==.4N23MqBLOfK0MlUZCi0yHN2JWUBKlWpJppbl4RvsPGY="},{"name":"updateCart","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RKYSxPSlEzb1N2cTBwRG5ObFA1azlROVYzU0hyRW16TE0zNEhwRU8yLWJVcTdnPSxaREU1T1dRMA==","authorization":"eyJub25jZSI6Im9jR2NGbWV4dUxzS0c0RVZIcDJKMV9zQkNacWMtSW5SZ2RibkxIVVc4VjRcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2MzgyLCJleHAiOjB9.Q2g1alkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxuVndaR0YwWlVOaGNuUT0=.05dUt3eywYKNyxjLOrfbLrGj3g6pA1em4E9ryq95sHI="}],"prm":1},"ccrz.cc_ctrl_FeaturedProductRD":{"ms":[{"name":"fetchFeaturedProducts","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0ROYSxGVjU3dlBrN1U3UDBlc0hRVDRHa2RJOHBHb2hMdkhsMU5TcnhhOHJ0a25vPSxaVE15TmpZNA==","authorization":"eyJub25jZSI6IlptVGZIcTZ3X2tnZ0RDV0UtRzFva19ZaEo3aWc3MmFNZGFESjNqSE5oSFFcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2MzgzLCJleHAiOjB9.Q2pSalkzSjZMbU5qWDJOMGNteGZSbVZoZEhWeVpXUlFjbTlrZFdOMFVrUXVabVYwWTJoR1pXRjBkWEpsWkZCeWIyUjFZM1J6.is057-lAal9qfM9rnnXKSJP2DAId6QjKejpxRzXUOQI="},{"name":"fetchRelatedProducts","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0ROYSxwaFVGQTNCaWVlZXdzOWtNN2ptVEJjRlZNaEk0SWxwR1cxRENCVXp0OG5jPSxNakl6TXpSaA==","authorization":"eyJub25jZSI6Inp2Ym1xZmVuVTlidWJVNWY2ZHdMbXJQOUFJVXRqMjRVUkNMVHdzMGZ0M3dcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2MzgzLCJleHAiOjB9.Q2pOalkzSjZMbU5qWDJOMGNteGZSbVZoZEhWeVpXUlFjbTlrZFdOMFVrUXVabVYwWTJoU1pXeGhkR1ZrVUhKdlpIVmpkSE09.jtPCUrQUvf5lfPYC9vM6cDOWdpK6WCTNxk9LiR4UTKE="}],"prm":1},"ccrz.cc_ctrl_Header":{"ms":[{"name":"forgotPassword","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RSYSxaYXk3a0hrWnFtU1FnTkQ2ZHA3THlObzdKNlNkYUNRWGpBVldrclZTbnZvPSxOekF3Tm1Zeg==","authorization":"eyJub25jZSI6IlVjMEQzOFRwRkQyWkF1SDlFOHRmWHY3QWJwQURIN0tMdnAzcUFuVlJtdG9cdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzg0LCJleHAiOjB9.Q2lKalkzSjZMbU5qWDJOMGNteGZTR1ZoWkdWeUxtWnZjbWR2ZEZCaGMzTjNiM0pr.6FQP5iaoZzIqTjUTcJXz0eUJISRKiwD4AqQCRattbA8="}],"prm":1},"ccrz.cc_ctrl_MenuBar":{"ms":[{"name":"getMenuJson","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RSYSx0ZjE0eDJITjVyQUZEWV9WUTNWYXZCZWJlc0NURWs1b185c1NZSk9EWWF3PSxaR05tTmpWaA==","authorization":"eyJub25jZSI6IkIzOFl0OTlCMzNGcUdMVUg0MDlQN3B0SHk5TTFFdHB3ZTZyRHp0enh1TFlcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzg1LCJleHAiOjB9.Q2lCalkzSjZMbU5qWDJOMGNteGZUV1Z1ZFVKaGNpNW5aWFJOWlc1MVNuTnZiZz09.vdj1XMivBRhi9h9OIO-0wxnJlxnhH_4uYdUvyxjnHVI="}],"prm":1},"ccrz.cc_ctrl_promoRD":{"ms":[{"name":"fetchPromos","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RWYSxRcXRjbkJ3aldJTEZvWnNQU1laOU9OcDR5U0Qzb3BxV2pIU19RSFJLV2xRPSxaV0l6TVRVNA==","authorization":"eyJub25jZSI6Inl3MjI2Rl9GbUowaENXYVFwNDlhM1oxYVVvQThtYk9IMzdZT3BWRzV1VjhcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzg1LCJleHAiOjB9.Q2lCalkzSjZMbU5qWDJOMGNteGZjSEp2Ylc5U1JDNW1aWFJqYUZCeWIyMXZjdz09.KAuQNyQSD9b127JWIkN-y9naVuRzO0SFUGvtzmP-64s="}],"prm":1},"ccrz.cc_RemoteActionController":{"ms":[{"name":"addBulk","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RWYSxYNVVpSkc4Y3Fob3BBV0NYVUZmam5mcjVDbmFqa3FrM0RSRXFDZFRfSHU4PSxOekpqTVRNeA==","authorization":"eyJub25jZSI6ImVTUmNEUVZ4R1QyM3JDOENHdG45OXh6WkNheFZacXRoMFBpQmpZMDR2UzhcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzg2LCJleHAiOjB9.Q2laalkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVZV1JrUW5Wc2F3PT0=.9sAyudqNzXVHGokeLBS7hkxYvhFnX_ZDpqlBvaapIqg="},{"name":"addConfigurationRemoteAction","len":5,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RaYSxJX3RBRGVrVTZWTE1EUnZTdVlJc0R5X29pT0hpWjR0Q2FyNzdaeUs2SjR3PSxaalEyWlRjdw==","authorization":"eyJub25jZSI6IkVLREQ5RG5iOEFZS3ZfNjlNcW1YcU9meVhuWUtfM2VyT3FCY2FLdGtMTm9cdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzg2LCJleHAiOjB9.Q2p0alkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVZV1JrUTI5dVptbG5kWEpoZEdsdmJsSmxiVzkwWlVGamRHbHZiZz09.790rx5BYVty_TrIrWnCILGaKEfmoCFulWCrv0gz1b-8="},{"name":"addConfiguration","len":4,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RkYSw3Q1g3blpnR3hzMloyX1ZJTGs2SkZVTUVlcUxFUy1kTUZveEd6NDRoS3JZPSxaVEUzT0RBdw==","authorization":"eyJub25jZSI6InoyMmNLUjI2ME9CM2RQTGVPamRKaHVXa2hURElNSlRhQVBzMFlqQy1jQ2tcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzg3LCJleHAiOjB9.Q2k5alkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVZV1JrUTI5dVptbG5kWEpoZEdsdmJnPT0=.T0Y4KB0CTfr8EfCUUTIiwMA2zHDniEAjTSIhrx8wULE="},{"name":"addItem","len":7,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RkYSxuYVFDTkM2cXVRaTJCQU1uLXpXeVd3MnFVWXV0bDFUQnlwSEFpY1JhT2cwPSxNV1JpWW1ZMQ==","authorization":"eyJub25jZSI6IjVQU1VGY05vZzNlMXpLYnEwTEhIZmEwRFUzN2ZsZjZxLWpDWGhsdDN2bjhcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzg4LCJleHAiOjB9.Q2laalkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVZV1JrU1hSbGJRPT0=.i94T6xBJIdeqtDAnXfxkTiC6R49E6o6jRxNM_fzwxP8="},{"name":"getCartTotal","len":3,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RoYSxuZHRZOEM5TzZ2dVRxdTZ5bGxwVzlTU3VHQkthVE90bEVMbzdlMGQ4S2VvPSxaRGRtTkRBeQ==","authorization":"eyJub25jZSI6IkVlX0xxMHVSRjRSZm85WTB6ZWhYTmpQV1NfdzVmN0FKZmJPeF9NejdHaGtcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzg4LCJleHAiOjB9.Q2l0alkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVaMlYwUTJGeWRGUnZkR0Zz.xEFgpQRQ9DN5SOU-9fwrLZElxd4B56OnBr0yRjL562U="},{"name":"getCategoryTreeJson","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RoYSxUWFNXT2VocHFHVDBPSkh1dzBVblo5ZE9JQXp1a1pNcDdMdzlwQ19lTmZjPSxaR0U0TnpsbA==","authorization":"eyJub25jZSI6InBRVmU3SUFpbDBIdnhvU3BKQkJMSG10enl0VXU5dFZWYTlvTlJ6bzFCZHNcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzg5LCJleHAiOjB9.Q2pKalkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVaMlYwUTJGMFpXZHZjbmxVY21WbFNuTnZiZz09._ZfA3c8lA9IV_b1zx5CGJtmJIr_QMQOFMGw-sIkH69A="},{"name":"getCountries","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T0RsYSxraG1zUUIyaW5FWEJYRnhUcHptS3Fsb0I1SzNnZkh5TGwzbDcwcUNLcnA0PSxZVGcwWkRZeA==","authorization":"eyJub25jZSI6IkZzeFRQb212X3BKM05fOWVUNm5qTHVGdl81S3VnalU3WWhWWnlGZjVURE1cdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2Mzg5LCJleHAiOjB9.Q2l0alkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVaMlYwUTI5MWJuUnlhV1Z6.IX7lPFdYjcNiqUjQxFdZvt7YzbKsibO8BMBqs_auv_I="},{"name":"getCurrentUser","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T1RCYSxIWmwzOHNtLXZyZGt1X1Z5RmF5VGNfVmxXaTFCR2JfTm5jdXg3aDlRcnU4PSxZamMyTmpVMg==","authorization":"eyJub25jZSI6InJxb3NENkxwUUJkRlFmaFdJNzZSLXlrMlRmcDFkNDdPRno1NUR4Y1A5aVlcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2MzkwLCJleHAiOjB9.Q2kxalkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVaMlYwUTNWeWNtVnVkRlZ6WlhJPQ==.E92ZdgLW4Hy_EA87fFytYpnxJ4hzHtUq49_ErFZxUG4="},{"name":"getHeaderInfo","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T1RCYSwtNm55VDFqQzNHbjFfSjhnaFljNGlzbkFKWXRkU3VfeEFiU1FBRFUwTWpJPSxZemhsTURFdw==","authorization":"eyJub25jZSI6Ilh0MGtJTXktZGZtT0N4U3NfOVFQVk1SZ2drSWRudHpCbkxjN05PWmZFaXdcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2MzkxLCJleHAiOjB9.Q2l4alkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVaMlYwU0dWaFpHVnlTVzVtYnc9PQ==.pgEsBTi8b_KrkyXWiDVzGrQRhYaRUWCBsAq9zFkC38Y="},{"name":"getStates","len":0,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TkMweE1TMHpNRlF5TVRvMU1EbzFOaTR6T1RGYSxhY2xfdy1HcGZ6MGxGSmFTX2xwWVhTc1Z4T3E3QzVPdnYzTi1aQlpPSG1JPSxZemhrWkRWbA==","authorization":"eyJub25jZSI6IkJyMlBwNVlhdnFDT3ZOT0lJMk9aVVdERXl0RXExS0k0VC1qU1dxMGFxUjRcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNzMyNzQ0MjU2MzkxLCJleHAiOjB9.Q2loalkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVaMlYwVTNSaGRHVno=.lCPW3IUhlsIYEk78Nl5CyqemoCI-5qldNZhDPg38yGE="}],"prm":1}},"service":"apexremote"})); </script><meta HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE" /> <meta HTTP-EQUIV="Expires" content="Mon, 01 Jan 1990 12:00:00 GMT" /><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:hib"> <script id="_fed_an_ua_tag" src="https://dap.digitalgov.gov/Universal-Federated-Analytics-Min.js? agency=DOC&amp;subagency=NIST&amp;pua=UA-115653827-2&amp;yt=true&amp;exts=ppsx,pps,f90,sch,rtf,wrl,txz,m1v,xlsm,msi,xsd,f,tif,eps,mpg,xml,pl,xlt,c" type="text/javascript"> </script> <script id="HeaderDesktop" type="text/template"> <div class="navbar-inverse cc_navbar-inverse" style="background-color: black; color: white;"> <div class="container cc_container"> <div class="row cc_navbar_row"> <small> <p class="header-spacer visible-md-* cc_header_spacer"></p> <div class="pull-left"> <a target="_blank" rel="noopener noreferrer" style="text-decoration: none;" href="https://www.nist.gov"> <img class="nist_small" style="display: inline-block; padding-bottom: 5px;" src="/resource/1589288251000/CC_Theme_NIST_Main/images/nist.svg?orgId=00Dt0000000GzGE" title="Welcome to NIST"/> </a> <span class="nist_store" style="font-size: 11pt; font-weight: bold">Welcome to the National Institute of Standards and Technology Store</span> </div> <div class="navbar-header pull-right cc_navbar-header"> <ul class="list-inline navbar-nav cc_list-inline"> <li class="loginoutsec cc_loginoutsec"></li> </ul> </div> </small> </div> </div> </div> <a href="#" id="logoUrl"><div id="cc_store_logo_img" class="cc_store_logo_img center-block"></div></a> </script><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:hib:cc_Header:j_id7"> <script id="SidebarSearch-View-Desktop" type="text/template"> <div class="panel panel-default cc_panel cc_product_search_panel"> <div class="panel-heading cc_heading"> <h3 class="panel-title cc_title">{{pageLabelMap 'ProductSearchNav_Title'}}</h3> </div> <div class="panel-body cc_body"> <p class="cc_intro_text">{{pageLabelMap 'ProductSearchNav_IntroText'}}</p> <div class="input-group form-group"> <input name="sidebarSearchText" type="text" class="form-control sidebarSearchText cc_sidebar_search_text" placeholder="{{pageLabelMap 'ProductSearchNav'}}" title="{{pageLabelMap 'ProductSearch_Tooltip'}}" autocomplete="off" /> <div class="input-group-btn search_button"> <button name="sidebarSearchButton" class="btn btn-default sidebarSearchButton cc_sidebar_search_button" type="submit" title="Search button" data-container="body" data-toggle="popover" data-placement="bottom" data-content="{{pageLabelMap 'ProductSearch_Tooltip'}}"> <i class="fa fa-search" aria-hidden="true"></i> <!--*****************************--> </button> </div> </div> <div class="searchBoxError cc_searchbox_error" role="alert" style="display:none;"> <i class="fa fa-exclamation-circle" aria-hidden="true"></i> <span class="sr-only">Error:</span> </div> </div> </div> </script></span> <style> .cc_radio_name { font-size: 1.20rem; } .cc_shipping_notes { display:block; width:350px; word-wrap:break-word; } /* Absolute Center Spinner */ .modal-backdrop { position: fixed; z-index: 1049; height: 2em; width: 2em; overflow: visible; margin: auto; top: 0; left: 0; bottom: 0; right: 0; } /* Transparent Overlay */ .modal-backdrop:before { content: ''; display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.3); } /* :not(:required) hides these rules from IE9 and below */ .modal-backdrop:not(:required) { /* hide "loading..." text */ font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .modal-backdrop:not(:required):after { content: ''; display: block; font-size: 20px; width: 1em; height: 1em; margin-top: -0.5em; -webkit-animation: spinner 1500ms infinite linear; -moz-animation: spinner 1500ms infinite linear; -ms-animation: spinner 1500ms infinite linear; -o-animation: spinner 1500ms infinite linear; animation: spinner 1500ms infinite linear; border-radius: 0.5em; -webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0; /*box-shadow: rgba(255, 255, 0, 0.75) 1.5em 0 0 0, rgba(0, 255, 255, 0.75) 1.1em 1.1em 0 0, rgba(255, 0, 255, 0.75) 0 1.5em 0 0, rgba(255, 255, 255, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 255, 0.75) -1.1em -1.1em 0 0, rgba(0, 255, 0, 0.75) 0 -1.5em 0 0, rgba(255, 0, 0, 0.75) 1.1em -1.1em 0 0; */ box-shadow: rgba(51, 122, 183, .85) 1.5em 0 0 0, rgba(051, 122, 183, 0.75) 1.1em 1.1em 0 0, rgba(51, 122, 183, 0.65) 0 1.5em 0 0, rgba(51, 122, 183, 0.55) -1.1em 1.1em 0 0, rgba(51, 122, 183, 0.45) -1.5em 0 0 0, rgba(51, 122, 183, 0.35) -1.1em -1.1em 0 0, rgba(51, 122, 183, 0.25) 0 -1.5em 0 0, rgba(51, 122, 183, 0.15) 1.1em -1.1em 0 0; } /* Animation */ @-webkit-keyframes spinner { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } } @-moz-keyframes spinner { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } } @-o-keyframes spinner { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spinner { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } } </style></span> <script type="text/javascript"> var CCRZ = CCRZ || {}; CCRZ.devMode = CCRZ.devMode||false; CCRZ.logOn = false; CCRZ.disableAdaptive = true; </script> <!-- GA4 INCLUDES BEGIN --> <script async="true" src="https://www.googletagmanager.com/gtag/js?id=G-6ZQ7QQM6W5"></script> <script id="GA4Analytics" type="text/javascript" src="/resource/1698689324000/GA4Analytics/ga4analytics.js" data-prop-id="G-6ZQ7QQM6W5"></script> <!-- GA4 INCLUDES END --><meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"><link type="text/css" rel="stylesheet" href="/resource/1649697395000/ccrz__CCRZ_JS/v004/boot3/css/ccrz-libs.min.css" /> <script type="text/javascript" src="/resource/1649697395000/ccrz__CCRZ_JS/v004/boot3/ccrz-libsh-min.js"></script> <script type="text/javascript" src="/resource/1649697398000/ccrz__CC_Javascript_Framework/js/cc3-min.js"></script> <script type="text/javascript" src="/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/nist-component-library-2.0.47/dist/js/uswds-init.min.js" defer></script> <link type="text/css" rel="stylesheet" href="/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/nist-component-library-2.0.47/dist/css/styles.css"/> <link type="text/css" rel="stylesheet" href="/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/css3/styles.css"/> <script type="text/javascript" src="/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/js/uiproperties.js"></script> <script> var hasCookieId = false; //CC event aggregator to channel events from multiple objects into a single object to //simplify registration for clients. CCRZ.pubSub = _.extend({}, Backbone.Events); CCRZ.pagevars.storefrontName = "DefaultStore"; CCRZ.pagevars.themeBaseURL = "/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/"; CCRZ.pagevars.staticResourceMap = {"CC_NIST_IMAGES":"/resource/1553261581000/CC_NIST_IMAGES"}; CCRZ.pagevars.isGuest = true; CCRZ.pagevars.pageConfig = _.extend({"ent.ent":"TRUE","fp.colnum":"2","ma.usedef":"TRUE","wlt.enabled":"FALSE","ui.noimage":"","eff.dispmode":"widget","c.dsplcomments":"TRUE","c.dspladdtinfo":"FALSE","c.dspladdtlsku":"TRUE","c.pgrdcke":"FALSE","c.crtcke":"FALSE","c.vernoqty":"TRUE","c.noqty":"FALSE","c.dspladdtlshortdesc":"TRUE","pcp.dspladdtlsku":"TRUE","sel.locationenabled":"TRUE","sel.listenabled":"TRUE","sel.mapenabled":"TRUE","qo.clr":"FALSE","sel.gkey":"","sel.enabled":"FALSE","pcp.dsplprc":"TRUE","pcp.dspladdtinfo":"TRUE","pcp.dspladdcart":"TRUE","pcp.dsplavlb":"TRUE","pcp.dspladdtlshortdesc":"TRUE","pcp.dsplsku":"FALSE","pcp.g2c":"FALSE","pcp.dsplsvprc":"TRUE","pcp.dspluom":"TRUE","nav.tmpl":"TRUE","sb.location":"RIGHT","wl.pgbl":"FALSE","c.usenewcart":"TRUE","analytics.gaipanonymization":"FALSE","pgl.curr":"TRUE","pmt_po.reqnum":"TRUE","pd.tierovflco":"4","login.dsplreg":"TRUE","pcp.enabled":"false","pcp.dsplshortdesc":"TRUE","ff.sortvalby":"value","wl.dspladdtinfo":"TRUE","wl.dspladdcart":"FALSE","wl.pkron":"FALSE","wl.dspladdtlsku":"TRUE","wl.enabled":"FALSE","wl.dspladdtlshortdesc":"FALSE","wl.g2c":"FALSE","dspl.skct":"FALSE","dspl.skst":"FALSE","dspl.ccemail":"FALSE","wl.dspluom":"TRUE","wl.dsplprc":"FALSE","pl.usenew":"TRUE","pl.seqsort":"TRUE","pl.relsort":"TRUE","pl.namesort":"TRUE","pl.newestsort":"TRUE","pl.pricesort":"TRUE","pl.defpagesize":"25","pl.pagesizes":"10,25,50,75","pl.layoutopts":"list,grid","ff.showvaluecount":"TRUE","h.displsearch":"FALSE","h.skcall":"FALSE","qlt.enabled":"TRUE","mc.ro":"FALSE","mc.ext":"TRUE","mc.wrninc":"FALSE","mc.chkinc":"FALSE","or.showtotalsurcharge":"FALSE","mc.dsplitem":"TRUE","qo.g2c":"FALSE","so.dspladdrname":"TRUE","so.dsplshipcomplete":"FALSE","so.gatedderr":"TRUE","so.dsplshipoptions":"TRUE","so.dspladdrcompany":"TRUE","ur.dirlogin":"FALSE","pl.dsplshortdesc":"TRUE","pl.dspladdtinfo":"FALSE","pl.dsplprc":"TRUE","pl.dsplspec":"TRUE","pl.defsort":"sequence","pl.sortasc":"TRUE","pl.dspladdtlsku":"FALSE","so.dsplshipnotes":"TRUE","pl.dspluom":"FALSE","pl.dsplsvprc":"TRUE","pl.g2c":"FALSE","pl.dsplsku":"TRUE","pl.dspladdtlshortdesc":"FALSE","pl.dsplavlb":"TRUE","pl.dspladdcart":"FALSE","pl.dsplsubcat":"TRUE","pl.dspllistprc":"TRUE","pd.dspladdcart":"TRUE","pd.dsplavlb":"TRUE","pd.dsplsku":"TRUE","pd.dspluom":"FALSE","pd.dsplsdesc":"TRUE","pd.dsplsvprc":"TRUE","pd.dsplprc":"TRUE","pd.dispdkflow":"FALSE","pd.g2c":"FALSE","rfq.guestuser":"TRUE","rfq.loggedin":"TRUE","rfq.fnamerqrd":"TRUE","rfq.lnamerqrd":"TRUE","rfq.emailrqrd":"TRUE","rfq.cmpnyrqrd":"TRUE","rfq.phnrqrd":"TRUE","pd.dspltype":"TRUE","pd.dspllistprc":"TRUE","pgbl.pagesize":"10","pgbl.itmperp":"10,25,50,75","pgbl.ord":"FALSE","pgbl.addr":"FALSE","pgbl.wndsz":"3","rfq.emailvldt":"TRUE","rfq.descmaxlen":"32000","pgbl.tmpl":"FALSE","reg.addlinf":"TRUE","reg.cmpytype":"ISP","reg.tmzn":"FALSE","nav.subs":"TRUE","pd.tiersassec":"FALSE","pcp.dspllistprc":"TRUE"},{ get: function(srchVar){ return (this[(srchVar||'').toLowerCase()]||''); }, isTrue: function(srchVar){ var val = this.get(srchVar); return (true===val)||('true'===val.toLowerCase()); } }); if (CCRZ.pagevars.pageConfig.isTrue('ui.restorelegacyhtmlprefilter')) { jQuery.UNSAFE_restoreLegacyHtmlPrefilter(); } CCRZ.pagevars.currentCartID = ''; //first check if the page var is enabled) if(CCRZ.pagevars.queryParams.reloaded){ //check if we have a blank current cart (if we do it means that either a bad cart id //came from cookie or url, and doesnt have a valid cart (not in correct status, invalid number, no number)) if(!CCRZ.pagevars.currentCartID){ //if this is the case, then we need to remove the url param, as well as delete the original cookie //delete the cookie by setting value null and date to past CCRZ.setCookieWithPath('apex__currCartId', null, -1, "/"); } }else{ //this wasnt reloaded, so try to load the page again if it meets the criteria if(CCRZ.pagevars.pageConfig.isTrue('C.pgRdCke') && CCRZ.pagevars.isGuest){ if(!CCRZ.pagevars.currentCartID){ //read the cookie if it exists var cookieId = CCRZ.getCookie('apex__currCartId'); if(cookieId){ CCRZ.console.log('reloading page with cart id from cookie'); CCRZ.pagevars.currentCartID = cookieId; //set the url param, and then reload page CCRZ.reloadCurrentPage(); }else{ CCRZ.console.log('did not find a cart id cookie'); } }else{ CCRZ.console.log('currentCartID was not null: ' + CCRZ.pagevars.currentCartID); } }else{ CCRZ.console.log('not a guest or read cookie disabled'); } } CCRZ.userIsoCode = "USD"; CCRZ.pagevars.storeSettings = JSON.parse("{\"Name\":\"DefaultStore\",\"DisplayPageLabelNames__c\":false,\"Skip_Shipping_Calculation__c\":false,\"Skip_Tax_Calculation__c\":true,\"InventoryCheckFlag__c\":false,\"Display_Cart_Coupon__c\":false,\"Filter_Orders_Based_on_Owner__c\":true,\"AutoCalcPriceAdjust__c\":true,\"eCommerceType__c\":\"B2B\",\"DevMode__c\":false,\"Site_Secure_Domain__c\":\"https://shop.nist.gov\"}"); CCRZ.pagevars.namespace = "ccrz."; CCRZ.pagevars.storeName = ""; CCRZ.pagevars.portalUserId = ""; CCRZ.pagevars.effAccountId = ''; CCRZ.pagevars.priceGroupId = ''; CCRZ.pagevars.currSiteURL = "https://shop.nist.gov/"; CCRZ.pagevars.sitePrefix = ""; //CCRZ-5250 in csr flow, there is no site, so we need to prevent it from being a relative url by adding the / in front CCRZ.pagevars.attachmentURL = CCRZ.pagevars.currSiteURL? CCRZ.pagevars.currSiteURL + "servlet/servlet.FileDownload?file=" : "/servlet/servlet.FileDownload?file="; CCRZ.pagevars.userLocale = "en_US"; CCRZ.pagevars.currencyData = _.extend({"storefront":"DefaultStore","displayFormat":"{0}{1}","decimalPoints":2.0,"currencySymbol":"","currencyName":"USD","currencyFullName":"US Dollars","charThousandsPoint":"comma","charDecimalPoint":"dot"}, { symbol: {comma:',', dot:'.', ws:' ', sq:"'"}, initialize : function(){ this.charDecimalPoint = this.symbol[this.charDecimalPoint]; this.charThousandsPoint = this.symbol[this.charThousandsPoint]; var idx1 = this.displayFormat.indexOf('{0}'); var idx2 = this.displayFormat.indexOf('{1}'); this.prefix = true; if(idx1 != -1 && idx2 != -1 && idx2 < idx1) { this.prefix = false; } return this; } }).initialize(); CCRZ.pagevars.currentPageName = "ccrz__CCPage"; CCRZ.pagevars.currentPageURL = "https://shop.nist.gov/ccrz__CCPage?pageKey=SRMORS&refURL=https%3A%2F%2Fshop.nist.gov%2Fccrz__CCPage"; CCRZ.pagevars.linkOverrideMap = {"MiniCartLogin":false,"MyAccountChangePassword":false,"MyAccountEditProfile":false,"HeaderMyAccount":false,"HeaderLogout":false,"HeaderLogin":false}; CCRZ.pagevars.useFriendlyUrls = false; CCRZ.pageUrls = { homePage: "/ccrz__HomePage", products: "/ccrz__Products", productDetails: "/ccrz__ProductDetails", cart: "/ccrz__Cart" }; CCRZ.pageUrls.productList = 'TRUE'===CCRZ.pagevars.pageConfig['pl.usenew'] ? "/ccrz__ProductList" : "/ccrz__Products"; CCRZ.pagevars.remoteContext = { storefront: CCRZ.pagevars.storefrontName, portalUserId: CCRZ.pagevars.portalUserId, effAccountId: CCRZ.pagevars.effAccountId, priceGroupId: CCRZ.pagevars.priceGroupId, currentCartId: CCRZ.pagevars.currentCartID, userIsoCode: CCRZ.userIsoCode , userLocale: CCRZ.pagevars.userLocale, currentPageName: CCRZ.pagevars.currentPageName, currentPageURL: CCRZ.pagevars.currentPageURL, queryParams: CCRZ.pagevars.queryParams }; CCRZ.homePage = function() { document.location = "/ccrz__HomePage?cartID=" + CCRZ.pagevars.currentCartID + getCSRQueryString(); }; CCRZ.pubSub.on('cartChange', function(cartId) { CCRZ.console.log('got cart change!'); CCRZ.pagevars.currentCartID = cartId; //if the option to set cookies is enabled, then set the cookie if(CCRZ.pagevars.pageConfig.isTrue('C.crtCke') && CCRZ.pagevars.isGuest){ CCRZ.console.log('setting session cookie'); CCRZ.setCookieWithPath('apex__currCartId', cartId, null, "/"); }else{ CCRZ.console.log('set cart cookie disabled'); } CCRZ.console.log('done with cart change'); }, this); $(document).ready(function() { jQuery("#chevronUpText").html(CCRZ.pagevars.pageLabels['ScrollTop']); jQuery("#chevronUpLink").attr('title',CCRZ.pagevars.pageLabels['ScrollTop']); }); </script> <title>Shop NIST | E-Commerce Store</title> </head> <body class="cc_main_body"><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id31"> <script> CCRZ.uiProperties.headerView.desktop.tmpl = "CCNISTHeaderDesktop"; CCRZ.uiProperties.Menu.desktop.tmpl = "CCNISTMenuDesktop"; </script> <script type="text/javascript"> Handlebars.registerHelper("isNotGuest", function () { const isGuest = CCRZ.pagevars.isGuest; if (isGuest === false) { return true; } else { return false; } }); Handlebars.registerHelper("storeHeaderLink", function(pLabel, pTitle) { const host = window.location.host; const url = host.includes('nist--') ? 'https://' + host + '/DefaultStore' : '.'; return new Handlebars.SafeString("<a href='" + url + "' title='Home' aria-label='Home'>NIST Store</a>"); }); Handlebars.registerHelper("storeLoginLink", function(pLabel, pTitle) { const host = window.location.host; const url = host.includes('nist--') ? 'https://' + host + '/DefaultStore/ccrz__CCSiteLogin?cclcl=en_US' : '/ccrz__CCSiteLogin?cclcl=en_US'; return new Handlebars.SafeString("<a href='" + url + "' class='usa-button usa-button--header' aria-label='Home'>Log In/Register</a>"); }); </script> <script id="CCNISTHeaderDesktop" type="text/template"> <section class="usa-banner" aria-label="Official government website"> <div class="usa-accordion"> <header class="usa-banner__header"> <div class="usa-banner__inner"> <div class="grid-col-auto"> <!--**********************************************************************************************************************************************************************************************************--> <!--******************************************************************************************************************************************************************************************************--> <img class="usa-banner__header-flag" src="/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/nist-component-library-2.0.47/dist/img/us_flag_small.png" alt="U.S. flag" /> </div> <div class="grid-col-fill tablet:grid-col-auto"> <p class="usa-banner__header-text">An official website of the United States government</p> <p class="usa-banner__header-action" aria-hidden="true">Here鈥檚 how you know</p> </div> <button class="usa-accordion__button usa-banner__button" aria-expanded="false" aria-controls="gov-banner-default"> <span class="usa-banner__button-text">Here鈥檚 how you know</span> </button> </div> </header> <div class="usa-banner__content usa-accordion__content" id="gov-banner-default"> <div class="grid-row grid-gap-lg"> <div class="usa-banner__guidance tablet:grid-col-6"> <!--********************************************************************************************************************************************************************************************************************************************--> <!--****************************************************************************************************************************************************************************************************************************************--> <img class="usa-banner__icon usa-media-block__img" src="/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/nist-component-library-2.0.47/dist/img/icon-dot-gov.svg?orgId=00Dt0000000GzGE" role="img" alt="" aria-hidden="true" /> <div class="usa-media-block__body"> <p> <strong>Official websites use .gov</strong> <br /> A <strong>.gov</strong> website belongs to an official government organization in the United States. </p> </div> </div> <div class="usa-banner__guidance tablet:grid-col-6"> <!--******************************************************************************************************************************************************************************************************************************************--> <!--**************************************************************************************************************************************************************************************************************************************--> <img class="usa-banner__icon usa-media-block__img" src="/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/nist-component-library-2.0.47/dist/img/icon-https.svg?orgId=00Dt0000000GzGE" role="img" alt="" aria-hidden="true" /> <div class="usa-media-block__body"> <p> <strong>Secure .gov websites use HTTPS</strong> <br /> A <strong>lock</strong> ( <span class="icon-lock"> <svg xmlns="http://www.w3.org/2000/svg" width="52" height="64" viewBox="0 0 52 64" class="usa-banner__lock-image" role="img" aria-labelledby="banner-lock-title banner-lock-description" focusable="false"> <title id="banner-lock-title">Lock</title> <desc id="banner-lock-description">A locked padlock</desc> <path fill="#000000" fill-rule="evenodd" d="M26 0c10.493 0 19 8.507 19 19v9h3a4 4 0 0 1 4 4v28a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V32a4 4 0 0 1 4-4h3v-9C7 8.507 15.507 0 26 0zm0 8c-5.979 0-10.843 4.77-10.996 10.712L15 19v9h22v-9c0-6.075-4.925-11-11-11z" ></path> </svg> </span> ) or <strong>https://</strong> means you鈥檝e safely connected to the .gov website. Share sensitive information only on official, secure websites. </p> </div> </div> </div> </div> </div> </section> <header class="usa-header nist-header--standard nist-header--full" role="banner"> <div class="nist-backbar"> <div class="grid-container"> <a href="https://www.nist.gov/" title="National Institute of Standards and Technology" class="nist-backbar__link padding-left-0" rel="home"> <svg aria-hidden="true" class="nist-backbar__icon" version="1.1" xmlns="http://www.w3.org/2000/svg" width="12" height="19" viewBox="0 0 24 32"> <path d="M20.911 5.375l-9.482 9.482 9.482 9.482c0.446 0.446 0.446 1.161 0 1.607l-2.964 2.964c-0.446 0.446-1.161 0.446-1.607 0l-13.25-13.25c-0.446-0.446-0.446-1.161 0-1.607l13.25-13.25c0.446-0.446 1.161-0.446 1.607 0l2.964 2.964c0.446 0.446 0.446 1.161 0 1.607z" ></path> </svg> <svg class="nist-backbar__logo" version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="-237 385.7 109.7 29.3"> <title>National Institute of Standards and Technology</title> <g> <path class="st0" d="M-231,415h-6v-23.1c0,0,0-4.4,4.4-5.8c4-1.3,6.6,1.3,6.6,1.3l19.7,21.3c1,0.6,1.4,0,1.4-0.6v-22h6.1V409 c0,1.9-1.6,4.4-4,5.3c-2.4,0.9-4.9,0.9-7.9-1.7l-18.5-20c-0.5-0.5-1.8-0.6-1.8,0.4L-231,415L-231,415z" /> <path class="st0" d="M-195,386.1h6.1v20.7c0,2.2,1.9,2.2,3.6,2.2h26.8c1.1,0,2.4-1.3,2.4-2.7c0-1.4-1.3-2.8-2.5-2.8H-176 c-3,0.1-9.2-2.7-9.2-8.5c0-7.1,5.9-8.8,8.6-9h49.4v6.1h-12.3V415h-6v-22.9h-30.2c-2.9-0.2-4.9,4.7-0.2,5.4h18.6 c2.8,0,7.4,2.4,7.5,8.4c0,6.1-3.6,9-7.5,9H-185c-4.5,0-6.2-1.1-7.8-2.5c-1.5-1.5-1.7-2.3-2.2-5.3L-195,386.1 C-194.9,386.1-195,386.1-195,386.1z" /> </g> </svg> </a> </div> </div> <div class="usa-navbar"> <div class="usa-logo flex-fill"> <em class="usa-logo__text">{{storeHeaderLink}}</em> </div> <div class="usa-header__right grid-row flex-auto"> {{#if (isNotGuest)}} <div class="usa-nav__secondary"> <ul class="usa-nav__secondary-links margin-bottom-0"> <li class="usa-nav__secondary-item"> <a href="#" id="goToAccount">{{pageLabelMap 'Component_SiteHeader_MyAccount'}}</a></li> </li> <li class="usa-nav__secondary-item"> <a href="#" id="cartHeader" class="chead cartHeaderLink"></a> </li> <li class="loginoutsec cc_loginoutsec usa-nav__secondary-item"> </li> </ul> </div> {{else}} <ul class="usa-button-group"> <li class="usa-button-group__item"> {{storeLoginLink}} </li> </ul> {{/if}} </div> </div> </header> </script> <script id="CCNISTMenuDesktop" type="text/template"> <div id="secnav cc_secnav"> <nav class="navbar navbar-default navbar-static-top cc_navbar"> <div class="container cc_container"> <div class="navbar-header cc_navbar_header"> <button type="button" class="navbar-toggle collapsed cc_navbar_toggle" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> <span class="sr-only">{{pageLabelMap 'Menu_ToggleNavigation'}}</span> <span class="icon-bar cc_icon-bar"></span> <span class="icon-bar cc_icon-bar"></span> <span class="icon-bar cc_icon-bar"></span> </button> </div> <div id="navbar" class="navbar-collapse collapse cc_navbar_collapse"> <ul class="nav navbar-nav cc_navbar-nav"> {{#each .}} {{#if children}} <li class="dropdown cc_dropdown"> <a href="{{linkURL}}" class="dropdown-toggle cc_dropdown_toggle" data-toggle="dropdown" data-menuid="{{menuId}}" {{linkTarget openInNewWindow}} role="button" aria-haspopup="true" aria-expanded="false">{{displayName}}<span class="caret"></span></a> <ul class="dropdown-menu cc_dropdown-menu"> {{> subMenuItem}} </ul> </li> {{else}} {{#ifEquals mType 'Category'}} <li class="dropdown cc_dropdown">{{categoryLink this 'cc_category' text=displayName}}</li> {{/ifEquals}} {{#ifEquals mType 'Product'}} <li class="dropdown cc_dropdown">{{productLink this 'cc_product' text=displayName}}</li> {{/ifEquals}} {{#ifEquals mType 'URL'}} <li class="dropdown cc_dropdown"><a class="menuTypeURL cc_menu_type_url" href="{{linkURL}}" data-href="{{linkURL}}" data-menuid="{{menuId}}" {{linkTarget openInNewWindow}}>{{displayName}}</a></li> {{/ifEquals}} {{#ifEquals mType 'None'}} <li class="dropdown cc_dropdown"><a href="javascript:void(0);" class="cc_display_name" data-menuid="{{menuId}}">{{displayName}}</a></li> {{/ifEquals}} {{/if}} {{/each}} </ul> </div> </div> </nav> </div> </script></span> <form id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm" name="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm" method="post" action="https://shop.nist.gov/ccrz__CCPage?refURL=https%3A%2F%2Fshop.nist.gov%2Fccrz__CCPage" class="phoneLoginForm" enctype="application/x-www-form-urlencoded"> <input type="hidden" name="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm" value="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm" /> <script type="text/javascript" language="Javascript">function dpf(f) {var adp = f.adp;if (adp != null) {for (var i = 0;i < adp.length;i++) {adp[i].parentNode.removeChild(adp[i]);}}};function apf(f, pvp) {var adp = new Array();f.adp = adp;var ps = pvp.split(',');for (var i = 0,ii = 0;i < ps.length;i++,ii++) {var p = document.createElement("input");p.type = "hidden";p.name = ps[i];p.value = ps[i + 1];f.appendChild(p);adp[ii] = p;i += 1;}};function jsfcljs(f, pvp, t) {apf(f, pvp);var ft = f.target;if (t) {f.target = t;}f.submit();f.target = ft;dpf(f);};</script> <script>function login() { SfdcApp.Visualforce.VSManager.vfPrepareForms(["CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm"]); if(typeof jsfcljs == 'function'){jsfcljs(document.forms['CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm'],'CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm:j_id37,CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm:j_id37','');}return false }</script><input id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm:hdnUsername" type="hidden" name="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm:hdnUsername" /><input id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm:hdnPassword" type="hidden" name="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm:hdnPassword" /><div id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm:j_id432"></div> </form><span id="ajax-view-state-page-container" style="display: none"><span id="ajax-view-state" style="display: none"><input type="hidden" id="com.salesforce.visualforce.ViewState" name="com.salesforce.visualforce.ViewState" value="i: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" /><input type="hidden" id="com.salesforce.visualforce.ViewStateVersion" name="com.salesforce.visualforce.ViewStateVersion" value="202411231850557421" /><input type="hidden" id="com.salesforce.visualforce.ViewStateMAC" name="com.salesforce.visualforce.ViewStateMAC" value="AGV5SnViMjVqWlNJNkluWTJZM1ZOWjAwNVVtNUZMVXB2Wld4Sk9UVk9hMVJ1YzNKbWRrbGZTVGd4TWtGTWVFVnZaVWczT1VGY2RUQXdNMlFpTENKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUlzSW10cFpDSTZJbnRjSW5SY0lqcGNJakF3UkhRd01EQXdNREF3UjNwSFJWd2lMRndpZGx3aU9sd2lNREpIZERBd01EQXdNREF3V1hwMFhDSXNYQ0poWENJNlhDSjJabk5wWjI1cGJtZHJaWGxjSWl4Y0luVmNJanBjSWpBd05YUXdNREF3TURBeWJVcG9jMXdpZlNJc0ltTnlhWFFpT2xzaWFXRjBJbDBzSW1saGRDSTZNVGN6TWpjME5ESTFOak0xTVN3aVpYaHdJam93ZlE9PS4ueXZfTllQWkZtMmMtZW5nTXBoWUhwUkRWSHJ4bkRlZlF6ajh4OENPNUZkOD0=" /></span></span><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id48" style="display: none;"></span> <div class="deskLayout cc_deskLayout"> <header> <div class="header cc_header"></div> <div class="menu_container cc_menu_container"></div> </header> <div class="home_slider cc_home_slider"> <div class="container cc_breadrumb_container" id="breadcrumb_desktop_container"> </div> </div> <div class="contentBody cc_content_body"> <div class="container cc_main_container cc_tmpl_OneColRD cc_main_content_col"><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id105:j_id106:j_id111"></span><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id105:j_id106:j_id112"> <div class="tablet:grid-col-10"> <center> <h1> SRM Online Request System </h1> <br /> <p> The SRM Online Request System has been replaced. SRMs are available for order at our new site, <a href="https://shop.nist.gov">https://shop.nist.gov/</a><br /> <br /> You may click on the web link to go there directly or will be taken to the new site in 30 seconds.<br /> <br /> Please update your bookmarks with our new site. <br /> <br /> </p> </center> </div> <script> setTimeout(function(){ window.location.href = 'https://shop.nist.gov'; }, 30000); </script></span> </div> </div> <div class="container-fluid navbar-inverse cc_navbar-inverse"> <footer class="footer cc_footer"> <div class="footerBrowser cc_footer_browser"><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id120"> <div class="row"><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id120:cc_Footer:j_id122"> <footer class="nist-footer"> <div class="nist-footer__inner"> <div class="nist-footer__menu" role="navigation"> <ul> <li class="nist-footer__menu-item"> <a href="https://www.nist.gov/privacy-policy">Site Privacy</a> </li> <li class="nist-footer__menu-item"> <a href="https://www.nist.gov/oism/accessibility">Accessibility</a> </li> <li class="nist-footer__menu-item"> <a href="https://www.nist.gov/privacy">Privacy Program</a> </li> <li class="nist-footer__menu-item"> <a href="https://www.nist.gov/oism/copyrights">Copyrights</a> </li> <li class="nist-footer__menu-item"> <a href="https://www.commerce.gov/vulnerability-disclosure-policy">Vulnerability Disclosure</a> </li> <li class="nist-footer__menu-item"> <a href="https://www.nist.gov/no-fear-act-policy">No Fear Act Policy</a> </li> <li class="nist-footer__menu-item"> <a href="https://www.nist.gov/foia">FOIA</a> </li> <li class="nist-footer__menu-item"> <a href="https://www.nist.gov/environmental-policy-statement">Environmental Policy</a> </li> <li class="nist-footer__menu-item "> <a href="https://www.nist.gov/summary-report-scientific-integrity">Scientific Integrity</a> </li> <li class="nist-footer__menu-item "> <a href="https://www.nist.gov/nist-information-quality-standards">Information Quality Standards</a> </li> <li class="nist-footer__menu-item"> <a href="https://www.commerce.gov/">Commerce.gov</a> </li> <li class="nist-footer__menu-item"> <a href="https://www.science.gov/">Science.gov</a> </li> <li class="nist-footer__menu-item"> <a href="https://www.usa.gov/">USA.gov</a> </li> <li class="nist-footer__menu-item"> <a href="https://vote.gov/">Vote.gov</a> </li> </ul> </div> </div> <div class="nist-footer__logo"> <a class="nist-footer__logo-link" href="https://www.nist.gov/" rel="home" title="National Institute of Standards and Technology"> <img alt="National Institute of Standards and Technology logo" class="nist-footer__logo-img" src="/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/nist-component-library-2.0.47/dist/img/logo/NIST-Logo-Brand-White.svg?orgId=00Dt0000000GzGE" /> </a> </div> </footer></span> </div></span> </div> </footer> <ul class="nav pull-right scroll-top cc_scroll-top"> <li><a href="#" id="chevronUpLink"><i aria-hidden="true" class="fa fa-chevron-up"></i><span class="sr-only" id="chevronUpText"></span></a></li> </ul> </div> </div> <script> var cartDetails = function(cartId) { document.location = "/ccrz__Cart?cartID=" + cartId + getCSRQueryString(); } var orderDetails = function(orderId) { document.location = "/ccrz__OrderView?o=" + orderId + getCSRQueryString(); } var productList = function(categoryId) { document.location = CCRZ.pageUrls.productList + "?cartID=" + CCRZ.pagevars.currentCartID + "&categoryId=" + categoryId + getCSRQueryString(); } var productDetails = function(productId) { document.location = "/ccrz__ProductDetails?cartID=" + CCRZ.pagevars.currentCartID + "&sku=" + productId + getCSRQueryString(); } var homePage = function() { document.location = "/ccrz__HomePage?cartID=" + CCRZ.pagevars.currentCartID + getCSRQueryString(); } </script><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id128"> <script type="text/javascript"> jQuery(function($) { "use strict"; CCRZ.views.PageMessagesView = Backbone.View.extend({ viewName : "PageMessagesView", initialize : function() { CCRZ.pubSub.on('pageMessage', function(response) { this.trigger(response); }, this); }, render : function(messages) { var v = this; if (CCRZ.display.isPhone()) { this.renderPhone(messages); } else { this.renderDesktop(messages); } CCRZ.pubSub.trigger("view:"+this.viewName+":refresh", this); }, renderPhone : function(messages) { this.renderDesktop(messages); //temporary }, renderDesktop : function(messages) { for (var i in messages) { var msg = messages[i]; if(msg.labelId){ msg.message = CCRZ.pagevars.pageLabels[msg.labelId]; } if (msg.message) { if (msg.type == 'CUSTOM') { $('.' + msg.classToAppend).append('<div class=\'' + this.getMessageClassName() + ' ' + this.getMessageSeverityStyle(msg) + '\'>' + msg.message + '</div>'); $('.' + msg.classToAppend).show(); } else if (msg.type == 'ALERT') { alert(msg.message); } else { // all other message types will appear in pre-configured HTML tag for page messages $('.default_page_message:first').append('<div ' + this.getMessageSeverityStyle(msg) + '\'>' + msg.message + '</div>'); } } } }, getMessageClassName: function() { var messageClassName = ''; if (CCRZ.disableAdaptive) { messageClassName = 'alert'; } else { messageClassName = 'dynamic_page_message'; } return messageClassName; }, getMessageSeverityStyle : function(msg) { if (CCRZ.disableAdaptive) { if (msg.severity == 'SUCCESS') { return 'alert-info'; } else if (msg.severity == 'INFO') { return 'alert-info'; } else if (msg.severity == 'WARN') { return 'alert-warning'; } else if (msg.severity == 'ERROR') { return 'alert-danger'; } else if (msg.severity == 'CRITICAL') { return 'alert-danger'; } else { return 'alert alert-error'; } } else { if (msg.severity == 'SUCCESS') { return 'dynamic_page_message_success'; } else if (msg.severity == 'INFO') { return 'dynamic_page_message_info'; } else if (msg.severity == 'WARN') { return 'dynamic_page_message_warn'; } else if (msg.severity == 'ERROR') { return 'dynamic_page_message_error'; } else if (msg.severity == 'CRITICAL') { return 'dynamic_page_message_critical'; } else { return 'dynamic_page_message_error'; } } }, trigger : function(response) { if(!response.clearInclSectionsOnly){ $('.' + this.getMessageClassName()).not(".cc_invalid_item").empty(); } if (response.clearInclSectionsOnly && !jQuery.isEmptyObject(response.messages)) { for (var i in response.messages) { var msg = response.messages[i]; if(CCRZ.disableAdaptive){ $('.' + msg.classToAppend).empty(); }else { $('.' + msg.classToAppend + this.getMessageClassName()).remove(); } } } else { $('.' + this.getMessageClassName()).not(".cc_invalid_item").remove(); } if (!jQuery.isEmptyObject(response)) { if (!jQuery.isEmptyObject(response.messages)) { this.render(response.messages); } } } }); CCRZ.pageMessagesView = new CCRZ.views.PageMessagesView(); if(!CCRZ.disableAdaptive) { CCRZ.dynamicViews.push(CCRZ.pageMessagesView); } }); </script></span><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id131"> <script id="HeaderDesktop" type="text/template"> <div class="navbar-inverse cc_navbar-inverse"> <div class="container cc_container"> <div class="row cc_navbar_row"> <small> <div class="col-md-4 col-xs-12 cc_navbar_col_misc"> <p class="header-spacer visible-md-* cc_header_spacer"></p> <div class="navbar-header pull-left cc_navbar-header"> <span class="misc-function cc_misc_function"></span> <span class="lssec cc_lssec"></span> </div> </div> <div class="col-md-5 col-xs-12 cc_navbar_col_acct"> <p class="header-spacer visible-md-* cc_header_spacer"></p> <div class="navbar-header pull-right cc_navbar-header"> <ul class="list-inline navbar-nav cc_list-inline"> <li class="cc_my_account"><a href="#" id="goToAccount"><i class="fa fa-user" aria-hidden="true"></i><span>&#160;{{pageLabelMap 'Component_SiteHeader_MyAccount'}}</span></a></li> <li class="cc_my_chead"><a href="#" id="cartHeader" class="chead cartHeaderLink"></a></li> <li class="loginoutsec cc_loginoutsec"></li> </ul> </div> </div> <div class="col-md-3 col-xs-12 pull-right cc_col_search"> <ul class="nav cc_nav"> <li><div class="search_form cc_search_form" ></div></li> </ul> </div> </small> </div> </div> </div> <a href="#" id="logoUrl"><div id="cc_store_logo_img" class="cc_store_logo_img center-block"></div></a> </script> <script id="CartHeaderBrowser" type="text/template"> <i class="fa fa-shopping-cart" aria-hidden="true"></i> <span>{{pageLabelMap 'Component_SiteHeader_MyCart'}}: {{#ifEquals this.cartCount 1}} {{this.cartCount}}&#160;{{pageLabelMap 'Component_MiniCart_Item'}} {{else}} {{this.cartCount}}&#160;{{pageLabelMap 'Component_MiniCart_Items'}} {{/ifEquals}} &#160;{{price this.cartTotal}} </span> </script> <script id="MyAccount-Desktop" type="text/template"> {{#if this}} {{#ifEquals this.UserType 'Guest'}} <a href="#login" class="goToLogin cc_goto_login"><i class="fa fa-pencil" aria-hidden="true"></i>&#160;{{pageLabelMap 'Component_SiteHeader_Login'}}</a> {{else}} <a href="#logout" class="doLogout cc_do_logout"><i class="fa fa-pencil" aria-hidden="true"></i>&#160;{{pageLabelMap 'Component_SiteHeader_Logout'}} {{{this.FirstName}}} {{{this.LastName}}}</a> {{/ifEquals}} {{else}} <a href="#login" class="cc_login"><i class="fa fa-pencil" aria-hidden="true"></i>&#160;{{pageLabelMap 'Component_SiteHeader_Login'}}</a> {{/if}} </script> <script id="CartTotal" type="text/template"> <!--*************************************--> <!--***--> <!--*********************************************--> <!--****--> <!--*****************--> <!--************************--> <!--****--> </script> <script> CCRZ.remoteAction.forgotPassword = CCRZ.pagevars.namespace + 'cc_ctrl_Header.forgotPassword'; jQuery(function($) { var productDetails = "/ccrz__ProductDetails"; CCRZ.views.productListModal = Backbone.View.extend({ viewName : "productListModal", template : CCRZ.util.template(CCRZ.uiProperties.productListModal.phone.tmpl), initialize : function(){ this.render(); }, render : function(){ this.setElement($(CCRZ.uiProperties.productListModal.phone.selector)); // CCRZ.data.categories gets set in the remote action in cc_CategoryTreeRD // This remote action is set to escape:false $(this.el).html(this.template(CCRZ.data.categories)); CCRZ.pubSub.trigger("view:"+this.viewName+":refresh", this); } }); CCRZ.views.cartHeaderView = Backbone.View.extend({ viewName : "cartHeaderView", templateCartHeaderDesktop : CCRZ.util.template(CCRZ.uiProperties.cartHeaderView.desktop.tmpl), templateCartHeaderPhone : CCRZ.util.template(CCRZ.uiProperties.cartHeaderView.phone.tmpl), initialize : function(){ this.update(); }, render : function(){ this.setElement($(CCRZ.uiProperties.cartHeaderView.desktop.selector)); var hdrModel = CCRZ.headerModel.get("header"); var source = ''||CCRZ.pagevars.pageLabels["CartHeader_Loading"]; if(hdrModel.get("cartTotal")){ var json = hdrModel.toJSON(); source = (CCRZ.display.isPhone()) ? this.templateCartHeaderPhone(json) : this.templateCartHeaderDesktop(json); } $(this.el).html(source); CCRZ.pubSub.trigger("view:"+this.viewName+":refresh", this); }, update : function(){ var view = this; CCRZ.headerModel.getCartHeader(function(response){ if(!response) { view.render(); } }); } }); CCRZ.views.myAccountHeaderView = CCRZ.CloudCrazeView.extend({ templateMyAccountPhone : CCRZ.util.template(CCRZ.uiProperties.myAccountHeaderView.phone.tmpl), templateMyAccountDesktop : CCRZ.util.template(CCRZ.uiProperties.myAccountHeaderView.desktop.tmpl), viewName : "myAccountHeaderView", init : function(){ this.update(); }, renderDesktop : function(){ if (CCRZ.currentUser != null) { var json = (CCRZ.currentUser) ? CCRZ.currentUser : null; this.setElement($(CCRZ.uiProperties.myAccountHeaderView.desktop.selector)); $(this.el).html(this.templateMyAccountDesktop(json)); } }, renderPhone : function(){ var json = (CCRZ.currentUser) ? CCRZ.currentUser : {}; json.headerLoginOverrideLink = CCRZ.pagevars.linkOverrideMap['HeaderLogin']; this.setElement($(CCRZ.uiProperties.myAccountHeaderView.phone.selector)); $(this.el).html(this.templateMyAccountPhone(json)); }, update : function(){ var view = this; CCRZ.headerModel.getUser(function(){ view.render(); }); } }); CCRZ.views.headerView = CCRZ.CloudCrazeView.extend({ templateDesktop : CCRZ.util.template(CCRZ.uiProperties.headerView.desktop.tmpl), templatePhone : CCRZ.util.template(CCRZ.uiProperties.headerView.phone.tmpl), className : "cc_ctrl_Header", viewName : "headerView", maViewLinks :[], init : function(){ if(CCRZ.pagevars.pageConfig.isTrue('MA.useDef')){ this.loadDefaultViews(); } if (CCRZ.pagevars.pageConfig.isTrue('MA.overrideFlow') && !CCRZ.disableAdaptive) { var v = this; CCRZ.pubSub.on("view:myaccountHDRView:subViewInit", function(data) { v.prepAndRender(); }); CCRZ.pubSub.trigger("view:myaccountHDRView:awaitingSubViewInit", this); } else { this.prepAndRender(); } }, prepAndRender : function(){ //add listener to CCRZ event listener this.listenTo(CCRZ.pubSub, 'cartChange', function(cartId){ this.model.set({cartId : cartId}); this.update(); }); this.cartHeaderView = new CCRZ.views.cartHeaderView(); this.myAccountHeaderView = new CCRZ.views.myAccountHeaderView({ cartId : this.model.get("cartId"), viewState : this.model.get("viewState") }); this.model.set({myAccountLinks:this.maViewLinks}); this.render(); }, loadDefaultViews : function(){ if(CCRZ.HDRMyAccount.contactInfo){ CCRZ.HDRMyAccount.contactInfo.register(this); } if(CCRZ.HDRMyAccount.addressBooks){ CCRZ.HDRMyAccount.addressBooks.register(this); } if(CCRZ.HDRMyAccount.myCarts){ CCRZ.HDRMyAccount.myCarts.register(this); } if(CCRZ.HDRMyAccount.myOrders){ CCRZ.HDRMyAccount.myOrders.register(this); } if(CCRZ.HDRMyAccount.myWishlists){ CCRZ.HDRMyAccount.myWishlists.register(this); } if(CCRZ.HDRMyAccount.mySubscriptions){ CCRZ.HDRMyAccount.mySubscriptions.register(this); } if(CCRZ.HDRMyAccount.mySubscriptionsNew){ CCRZ.HDRMyAccount.mySubscriptionsNew.register(this); } if(CCRZ.HDRMyAccount.myInvoices){ CCRZ.HDRMyAccount.myInvoices.register(this); } if(CCRZ.HDRMyAccount.myWallet){ CCRZ.HDRMyAccount.myWallet.register(this); } }, registerNewView : function(viewName, title){ this.maViewLinks.push({viewState:viewName,linkLabel:title}); }, events : { /*"click #cart_btn_phone" : "getCartItems",*/ "click #signInButton" : "doSignIn", "click #submitBtn" : "doForgotPassword", "click #forgotPasswordButton" : "forgotPasswordModal", "click .chead" : "goToCart", "click #productHeaderLink" : "getCategories", "click #cart input.btn-primary" : "goToCart", "click #logoUrl" : "goHome", "click .gotoMA" : "goToMyAccountSection", //BEGIN DEPRECATE "click #goToAccount" : "goToAccount", "click .gotoOrders" : "goToOrders", "click .gotoWishlists" : "gotoWishlists", "click .gotoSubscriptions" : "gotoSubscriptions", "click .gotoSubscriptionsNew" : "gotoSubscriptionsNew", "click .gotoCarts" : "gotoCarts", "click .gotoAddressBook" : "goToAddressBook", "click .gotoInvoices" : "gotoInvoices", //END DEPRECATE "click .goToLogin" : "goToLogin", "click .doLogout" : "doLogout", "click #backToLogin" : "backToLogin", "click #siteRegister" : "gotoSecureRegistration" }, renderDesktop : function(){ $(this.el).html(''); this.setElement($(CCRZ.uiProperties.headerView.desktop.selector)); $(this.el).html(this.templateDesktop(this.model.toJSON())); this.renderFinish(); }, renderPhone : function(){ $(this.el).html(''); this.setElement($(CCRZ.uiProperties.headerView.phone.selector)); $(this.el).html(this.templatePhone(this.model.toJSON())); this.renderFinish(); }, renderFinish: function(){ this.cartHeaderView.render(); this.myAccountHeaderView.render(); //this.cartView = new CCRZ.views.cartView(); }, /*getCartItems : function(event){ var view = this; view.cartView.cartmodel.fetch(function(response) { view.cartView.render(); }); },*/ getCategories : function(event){ this.productListModal = new CCRZ.views.productListModal(); }, doSignIn : function(event){ var view = this; this.doLogin($("#modal_email").val(), $("#modal_password").val(), function(error){ view.showError(error); }); }, doLogin : function(username, password, error){ $("input[id$=hdnUsername]").val(username); $("input[id$=hdnPassword]").val(password); login(); }, forgotPasswordModal : function(event){ $("#login").modal("hide"); $("#forgotPassword").modal("show"); }, backToLogin : function(event){ $("#forgotPassword").modal("hide"); $("#login").modal("show"); }, doForgotPassword : function(event){ var username = $("#fpEmailField").val(); loading($(event.currentTarget)); this.invoke( "forgotPassword", username, function(response){ if(response){ $("#forgotPassword").modal("hide"); $("#login").modal("show"); } doneLoading($(event.currentTarget)); } ); }, update : function(){ this.cartHeaderView.update(); }, goToCart : function(){ window.location.href = "/ccrz__Cart" + CCRZ.buildQueryString(''); }, goHome : function(event){ window.location.href = "/ccrz__HomePage" + CCRZ.buildQueryString(''); }, goToMyAccountSection : function(event){ if (CCRZ.pagevars.linkOverrideMap['HeaderMyAccount']) { window.location.href = CCRZ.pagevars.linkOverrideMap['HeaderMyAccount']; } else { var objLink = $(event.currentTarget); var vs = objLink.data("vs"); window.location.href = "/ccrz__MyAccount" + CCRZ.buildQueryString('?viewState='+vs); } }, //BEGIN DEPRECATION goToAccount : function(){ if (CCRZ.pagevars.linkOverrideMap['HeaderMyAccount']) { window.location.href = CCRZ.pagevars.linkOverrideMap['HeaderMyAccount']; } else { this.goToMAS('viewAccount'); } }, goToMAS : function(vs){ window.location.href = "/ccrz__MyAccount" + CCRZ.buildQueryString('?viewState='+vs); }, goToOrders : function(){ this.goToMAS('myOrders'); }, gotoWishlists : function(){ this.goToMAS('myWishlists'); }, gotoSubscriptions : function(){ this.goToMAS('mySubscriptions'); // $("#account").modal("hide"); // CCRZ.pubSub.trigger('action:refreshSubscription',this); }, gotoSubscriptionsNew : function(){ this.goToMAS('mySubscriptionsNew'); // $("#account").modal("hide"); // CCRZ.pubSub.trigger('action:refreshSubscription',this); }, gotoCarts : function(){ this.goToMAS('myCarts'); }, goToAddressBook : function(){ this.goToMAS('myAddressBook'); }, gotoInvoices : function(){ this.goToMAS('myInvoices'); }, //END DEPRECATION goToLogin : function(event){ if (CCRZ.pagevars.linkOverrideMap['HeaderLogin']) { window.location.href = CCRZ.pagevars.linkOverrideMap['HeaderLogin']; } else { window.location.href = "/ccrz__CCSiteLogin" + CCRZ.buildQueryString(''); } }, doLogout : function(event){ if (CCRZ.pagevars.linkOverrideMap['HeaderLogout']) { window.location.href = CCRZ.pagevars.linkOverrideMap['HeaderLogout']; } else { window.location.href = "/secur/logout.jsp"; } }, showError : function(errorMsg){ $(".error-msg").html(errorMsg); $(".message_container").show(); }, gotoSecureRegistration: function(event) { var secureUrl = CCRZ.pagevars.storeSettings.Site_Secure_Domain__c; secureUrl = secureUrl + '/ccrz__CCSiteRegister' + '?cartId=' + CCRZ.pagevars.currentCartID; window.location = secureUrl; } }); CCRZ.headerModel = new CCRZ.models.headerModel({ cartId : CCRZ.pagevars.currentCartID, viewState : "", ipAddressLocKey : "g", ipAddressLoc : "", storefront : "", logoUrl : "/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/images/homepage_header_graphic.png" }); CCRZ.headerView = new CCRZ.views.headerView({ model : CCRZ.headerModel }); $("#send2").on('click', function(event){ CCRZ.headerView.doSignIn(event); }); }); CCRZ.HDRMyAccount = _.extend(CCRZ.HDRMyAccount||{},{ hrdMA : false ,contactInfo :{ register : function(registrar){ registrar.registerNewView('viewAccount',CCRZ.pagevars.pageLabels['Component_SiteHeader_MyAccount']); } } ,addressBooks :{ register : function(registrar){ registrar.registerNewView('myAddressBook',CCRZ.pagevars.pageLabels['Component_SiteHeader_AddressBook']); } } ,myCarts :{ register : function(registrar){ registrar.registerNewView('myCarts',CCRZ.pagevars.pageLabels['Component_SiteHeader_MyCarts']); } } ,myOrders :{ register : function(registrar){ registrar.registerNewView('myOrders',CCRZ.pagevars.pageLabels['Component_SiteHeader_MyOrders']); } } ,myWishlists :{ register : function(registrar){ registrar.registerNewView('myWishlists',CCRZ.pagevars.pageLabels['Header_MyWishlists']); } } ,mySubscriptionsNew :{ register : function(registrar){ registrar.registerNewView('mySubscriptionsNew',CCRZ.pagevars.pageLabels['MyAccount_MySubscriptions_Title']); } } ,myInvoices :{ register : function(registrar){ registrar.registerNewView('myInvoices',CCRZ.pagevars.pageLabels['MyAccount_MyInvoices']); } } }); </script></span><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id187"> <script id="submenu-desktop-template" type="text/template"> {{#each children}} {{#if children}} <li class="menu-item dropdown dropdown-submenu"> {{#ifEquals mType 'Category'}} <a class="category dropdown-toggle" data-toggle="dropdown" href="{{linkURL}}" data-id="{{linkURL}}" data-menuid="{{menuId}}" {{linkTarget openInNewWindow}}>{{displayName}} <i class="fa fa-caret-down hidden-md hidden-lg" aria-hidden="true"></i></a> {{/ifEquals}} {{#ifEquals mType 'Product'}} <a class="product dropdown-toggle" data-toggle="dropdown" href="{{linkURL}}" data-id="{{linkURL}}" data-menuid="{{menuId}}" {{linkTarget openInNewWindow}}>{{displayName}} <i class="fa fa-caret-down hidden-md hidden-lg" aria-hidden="true"></i></a> {{/ifEquals}} {{#ifEquals mType 'URL'}} <a class="menuTypeURL dropdown-toggle" data-toggle="dropdown" href="{{linkURL}}" data-href="{{linkURL}}" data-menuid="{{menuId}}" {{linkTarget openInNewWindow}}>{{displayName}} <i class="fa fa-caret-down hidden-md hidden-lg" aria-hidden="true"></i></a> {{/ifEquals}} {{#ifEquals mType 'None'}} <a class="dropdown-toggle" data-toggle="dropdown" href="#" data-menuid="{{menuId}}">{{displayName}} <i class="fa fa-caret-down hidden-md hidden-lg" aria-hidden="true"></i></a> {{/ifEquals}} <ul class="dropdown-menu"> {{> subMenuItem}} </ul> </li> {{else}} {{#ifEquals mType 'Category'}} <li>{{categoryLink this 'cc_category' text=displayName}}</li> {{/ifEquals}} {{#ifEquals mType 'Product'}} <li>{{productLink this 'cc_product' text=displayName}}</li> {{/ifEquals}} {{#ifEquals mType 'URL'}} <li><a class="menuTypeURL" href="{{linkURL}}" data-href="{{linkURL}}" data-menuid="{{menuId}}" {{linkTarget openInNewWindow}}>{{displayName}}</a></li> {{/ifEquals}} {{#ifEquals mType 'None'}} <li><a href="javascript:void(0);" data-menuid="{{menuId}}">{{displayName}}</a></li> {{/ifEquals}} {{/if}} {{/each}} </script> <script id="menu-desktop-template" type="text/template"> <div id="secnav cc_secnav"> <nav class="navbar navbar-default navbar-static-top cc_navbar"> <div class="container cc_container"> <div class="navbar-header cc_navbar_header"> <button type="button" class="navbar-toggle collapsed cc_navbar_toggle" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> <span class="sr-only">{{pageLabelMap 'Menu_ToggleNavigation'}}</span> <!--***********--> <span class="icon-bar cc_icon-bar"></span> <span class="icon-bar cc_icon-bar"></span> <span class="icon-bar cc_icon-bar"></span> </button> </div> <div id="navbar" class="navbar-collapse collapse cc_navbar_collapse"> <ul class="nav navbar-nav cc_navbar-nav"> <li>{{goHome this 'cc_phone_logo' 'phoneLogo' icon=(displayIcon 'home')}}<span class="sr-only">{{pageLabelMap 'Menu_Home'}}</span></li> {{#each .}} {{#if children}} <li class="dropdown cc_dropdown"> <a href="{{linkURL}}" class="dropdown-toggle cc_dropdown_toggle" data-toggle="dropdown" data-menuid="{{menuId}}" {{linkTarget openInNewWindow}} role="button" aria-haspopup="true" aria-expanded="false">{{displayName}}<span class="caret"></span></a> <ul class="dropdown-menu cc_dropdown-menu"> {{> subMenuItem}} </ul> </li> {{else}} {{#ifEquals mType 'Category'}} <li class="dropdown cc_dropdown">{{categoryLink this 'cc_category' text=displayName}}</li> {{/ifEquals}} {{#ifEquals mType 'Product'}} <li class="dropdown cc_dropdown">{{productLink this 'cc_product' text=displayName}}</li> {{/ifEquals}} {{#ifEquals mType 'URL'}} <li class="dropdown cc_dropdown"><a class="menuTypeURL cc_menu_type_url" href="{{linkURL}}" data-href="{{linkURL}}" data-menuid="{{menuId}}" {{linkTarget openInNewWindow}}>{{displayName}}</a></li> {{/ifEquals}} {{#ifEquals mType 'None'}} <li class="dropdown cc_dropdown"><a href="javascript:void(0);" class="cc_display_name" data-menuid="{{menuId}}">{{displayName}}</a></li> {{/ifEquals}} {{/if}} {{/each}} </ul> </div><!--***************--> </div> </nav> </div> </script> <script> jQuery(function($) { // TODO: Redesign how to best link to other pages within CloudCraze CCRZ.pages = { homePage: "/ccrz__HomePage", products: CCRZ.pageUrls.productList, productDetails: "/ccrz__ProductDetails", cart: "/ccrz__Cart" }; CCRZ.views.Menu = CCRZ.CloudCrazeView.extend({ templateDesktop: CCRZ.util.template(CCRZ.uiProperties.Menu.desktop.tmpl), templateMobile: CCRZ.util.template(CCRZ.uiProperties.Menu.phone.tmpl), className : "cc_ctrl_MenuBar", viewName : "Menu", init: function() { Handlebars.registerPartial("subMenuItem", $("#submenu-desktop-template").html()); var view = this; this.invokeCtx( "getMenuJson", function(response) { if(response) { CCRZ.data.menus = response.data; view.render(); } } , {escape : false}); }, events : { "click #phoneLogo" : "goHome", "click .category" : "gotoCategory", "click .product" : "gotoProduct", "click a.menuTypeURL" : "gotoURL" }, renderDesktop : function(){ this.$el.html(''); this.setElement($(CCRZ.uiProperties.Menu.desktop.selector)); this.$el.html(this.templateDesktop(CCRZ.data.menus)); CCRZ.pubSub.trigger("view:"+this.viewName+":refresh", this); }, renderPhone : function(){ this.$el.html(''); this.setElement($(CCRZ.uiProperties.Menu.phone.selector)); this.$el.html(this.templateMobile(CCRZ.data.menus)); }, goHome : function(event){ CCRZ.headerView.goHome(event); }, gotoProduct : function(event){ if(event.preventDefault) event.preventDefault(); var link = $(event.currentTarget); var sku = $(event.currentTarget).data("id"); var href = CCRZ.pages.productDetails + "?viewState=DetailView&sku=" + sku; this.navigateTo(link, href); }, gotoCategory: function(event) { if(event.preventDefault) event.preventDefault(); var link = $(event.currentTarget); var catId = $(event.currentTarget).data("id"); var href = CCRZ.pages.products + "?categoryId=" + catId; this.navigateTo(link, href); }, gotoURL: function(event) { if(event.preventDefault) event.preventDefault(); var link = $(event.currentTarget); var linkHref = link.attr('data-href'); this.navigateTo(link, linkHref); }, navigateTo: function(linkObj, linkHref) { if (linkHref) { if(linkHref.includes('?')){ linkHref = CCRZ.buildQueryString(linkHref); }else{ linkHref += CCRZ.buildQueryString(''); } //remove a slash if the menu item was defined with a leading slash if(linkHref.startsWith('/')){ linkHref = linkHref.slice(1,linkHref.length); } //case where the site name is in the url note this also happens when creating cat or prod link if(linkHref.startsWith(CCRZ.pagevars.sitePrefix.slice(1, CCRZ.pagevars.sitePrefix.length))){ //note this is +1 to also get the next slash on the storefront linkHref = linkHref.slice(CCRZ.pagevars.sitePrefix.length, linkHref.length); } //Special case where sf is at root with NO end slash ex: store.com/DefaultStore //note that currSiteURL adds the slash back in...previous removal prevents double slash //added another check here to ensure that external links to not add back in the site //note we already do NOT render external links without http or https in them if(!window.location.href.startsWith("https://shop.nist.gov") || !linkHref.startsWith('http')){ linkHref = CCRZ.pagevars.currSiteURL + linkHref; } var target = linkObj.attr('target'); if(target === '_blank') { //Open in new window cases window.open(linkHref); } else { //redirect in existing window window.location = linkHref; } } } }); CCRZ.menuView = new CCRZ.views.Menu; }); </script> <script> jQuery(function() { var categoryUrl = CCRZ.pageUrls.productList + '?viewState=ListView&cartID='+ CCRZ.pagevars.currentCartID + '&&store=DefaultStore&categoryId='; var productUrl = '/ccrz__ProductDetails?viewState=DetailView&cartID='+ CCRZ.pagevars.currentCartID + '&&store=DefaultStore&sku='; var homeUrl = '/ccrz__HomePage?cartID=' + CCRZ.pagevars.currentCartID + '&&store=DefaultStore&sku='; var prdRE = /#PRD_(.+)/i; var catRE = /#CAT_(.+)/i; jQuery('.main_navigation_container a').each(function(index) { var link = jQuery(this); var linkHref = link.attr('href'); if(linkHref) { var catMatch = linkHref.match(catRE); var prdMatch = linkHref.match(prdRE); if(catMatch) { link.attr('href', categoryUrl + catMatch[1]); } else if(prdMatch) { link.attr('href', productUrl + prdMatch[1]); } } }); jQuery('.main_navigation_container a.hdrlogo').attr('href',homeUrl); }); </script> <script> if(CCRZ.disableAdaptive) { var timer = setInterval(function() { jQuery('ul.dropdown-menu [data-toggle=dropdown]').on('click', function (event) { event.preventDefault(); event.stopPropagation(); if ($(this).parent().hasClass('open')) { $(this).parent().removeClass('open'); } else { // opening the one you clicked on $(this).parent().addClass('open'); } var menu = $(this).parent().find("ul"); var menupos = menu.offset(); if ((menupos.left + menu.width()) + 30 > $(window).width()) { var newpos = -menu.width(); } else { var newpos = $(this).parent().width(); } menu.css({left: newpos}); }); if($('ul.dropdown-menu [data-toggle=dropdown]').length) { clearInterval(timer); } }, 250); } </script></span><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id220"> <script id="CartTemplate" type="text/template"> {{#each this.cartItems}} <div class="dropdown_cart_item"> <div class="qty_remove"> <input type="text" name="qty" value="{{this.quantity}}" class="qty" readonly /> <!--**********************************************************************************************************************--> </div> {{#ifEquals pricingType 'external'}} {{#if extName}} <p>{{productLink this.mockProduct 'productNameLink' text=(displayProductName 'Aggregate_Display' displayProductBean.name extName)}}</p> {{else}} <p>{{productLink this.mockProduct 'productNameLink' text=(displayProductName 'Aggregate_Display' displayProductBean.name mockProduct.name)}}</p> {{/if}} {{else}} <p>{{productLink this.mockProduct 'productNameLink' text=(displayProductName 'Aggregate_Display' displayProductBean.name mockProduct.name)}}</p> {{/ifEquals}} <p class="price">{{price this.itemTotal}}</p> </div> {{/each}} </script> <script id="MiniCart-Desktop" type="text/template"> <div class="panel panel-default MiniCart cc_mini_cart"> <div class="panel-heading cc_heading"> <h3 class="panel-title cc_title">{{pageLabelMap 'Header_MyCart'}} <span class="pull-right"> <span class="icon-toggle cc_filter_icon" role="button" data-toggle="collapse" data-target="#collapseMiniCart" aria-expanded="true" aria-controls="collapseMiniCart"> <i class="fa fa-caret-down" aria-hidden="true"></i> </span> </span> </h3> </div> <div id="collapseMiniCart" class="panel-collapse collapse in"> <div class="panel-body cc_body"> <div class="my_cart mini_cart cc_mini_cart"> {{#ifDisplay 'MC.Ext'}} {{#ifGreater cartItemCount 0}} {{#ifDisplay 'MC.DsplItem'}} <div class="row cc_item_heading"> <div class="col-xs-8 cc_product">{{pageLabelMap 'MiniCart_Product'}}</div> <div class="col-xs-4 pull-right cc_qty">{{pageLabelMap 'MiniCart_Quantity'}}</div> </div> {{#each this.cartItems}} <div class="row cc_items"> <div class="col-xs-8 cc_prod_name"> {{#ifEquals pricingType 'external'}} {{#if extName}} {{productLink this.mockProduct 'small cc_product_name_link' text=(displayProductName 'Aggregate_Display' displayProductBean.name extName)}} {{else}} {{productLink this.mockProduct 'small cc_product_name_link' text=(displayProductName 'Aggregate_Display' displayProductBean.name mockProduct.name)}} {{/if}} {{else}} {{productLink this.mockProduct 'small cc_product_name_link' text=(displayProductName 'Aggregate_Display' displayProductBean.name mockProduct.name)}} {{/ifEquals}} </div> <div class="col-xs-4 cc_prod_qty"> <div id="CartItemDetail-Qty-View" class="quantity cc_quantity"> {{#ifEquals pricingType 'external'}} <label for="{{this.itemID}}" class="sr-only">{{pageLabelMap 'MiniCart_Quantity'}}</label> <input id="{{this.itemID}}" type="text" name="qty" class="form-control input-sm cc_input_sm" data-id= "{{this.itemID}}" value="{{this.quantity}}" readonly /> {{else}} {{#ifNotEquals pricingType 'attrGroup'}} {{#ifDisplay 'MC.RO'}} <label for="{{this.itemID}}" class="sr-only">{{pageLabelMap 'MiniCart_Quantity'}}</label> <input id="{{this.itemID}}" type="text" name="qty" class="form-control input-sm cc_input_sm" data-id= "{{this.itemID}}" value="{{this.quantity}}" readonly /> {{else}} <label for="qtyInput_{{this.itemID}}" class="sr-only">{{pageLabelMap 'MiniCart_EnterQuantity'}}</label> <input id="qtyInput_{{this.itemID}}" type="text" name="qty" class="form-control input-sm input-text entry cc_input_sm" data-id= "{{this.itemID}}" value="{{this.quantity}}" maxlength="7" /> {{/ifDisplay}} {{/ifNotEquals}} {{#ifEquals pricingType 'attrGroup'}} <span class="cc_attributes_link{{this.itemID}}"><a href="#minicart_attribute_items{{this.itemID}}" class="attributeItemsLink cc_attribute_items_link" id="attributeItemsLink{{itemID}}" data-desktop="true" data-toggle="modal" data-id="{{itemID}}">{{pageLabelMap 'Cart_AttributeItems'}}</a></span> {{> minicartAttributesDisplay}} {{/ifEquals}} {{/ifEquals}} </div> </div> </div> <div class="row cc_error_row"> <div class="col-xs-12 cc_error_col"> <div class="error-{{this.itemID}} miniCartError cc_mini_cart_error" style="display: none"> </div> </div> </div> {{/each}} {{/ifDisplay}} <hr> <div class="summary cc_summary"> <div class="row cc_row_total"> <div class="col-xs-6 cc_total_qty">{{pageLabelMap 'MiniCart_Total_Qty'}}</div> <div class="col-xs-6 cc_total_price">{{pageLabelMap 'MiniCart_Total_Price'}}</div> </div> <div class="row cc_row_sum"> <div class="col-xs-6 cc_total_items"><span class="cc_cart_item_count">{{cartItemCount}} {{pageLabelMap 'MiniCart_Total_Items'}}</span></div> <div class="col-xs-6 cc_subtotal"><span class="cc_subtotal">{{price subTotal}}</span></div> </div> <hr> <div class="form-group text-center cc_form_group"> {{#ifDisplay 'MC.DsplItem'}} {{#ifDisplay 'MC.RO'}} {{else}} <button class="btn btn-default btn-sm updateCartButton cc_update_cart_button" type="submit">{{pageLabelMap 'MiniCart_Update'}}</button> {{/ifDisplay}} {{/ifDisplay}} <button class="btn btn-default btn-sm loggedInAction cc_logged_in_action" type="submit">{{pageLabelMap 'Component_MiniCart_Action'}}</button> </div> </div> {{else}} <p class="cc_mini_cart_noitems">{{pageLabelMap 'Component_MiniCart_NoItems'}}</p> {{/ifGreater}} {{else}} {{#ifGreater cartItemCount 0}} <div class="row cc_row_caption"> <div class="col-xs-12 cc_col_caption"> {{#ifEquals cartItemCount 1}} {{pageLabelMap 'Component_MiniCart_ThereIs'}}&#160;{{cartItemCount}}&#160;{{pageLabelMap 'Component_MiniCart_Item'}} {{else}} {{pageLabelMap 'Component_MiniCart_ThereAre'}}&#160;{{cartItemCount}}&#160;{{pageLabelMap 'Component_MiniCart_Items'}} {{/ifEquals}} </div> </div> <div class="row cc_row_subtotal"> <div class="col-xs-12 cc_col_subtotal"> {{pageLabelMap 'Component_MiniCart_Subtotal'}}:&#160;<strong>{{price subTotal}}</strong> </div> </div> <div class="form-group cc_form"> <div class="form-group text-center cc_form_group"> <button class="btn btn-default btn-sm loggedInAction cc_logged_in_action" type="submit">{{pageLabelMap 'Component_MiniCart_Action'}}</button> </div> </div> {{else}} <div class="form-group cc_form_group"> <p class="cc_no_items">{{pageLabelMap 'Component_MiniCart_NoItems'}}</p> </div> {{/ifGreater}} {{/ifDisplay}} </div> <div id="modalSec"></div> </div> </div> </div> </script> <script id="MiniCart-RemoveDialog" type="text/template"> <a class="modalLauncher" style="display:none" href="#removeMod" data-backdrop="static" data-toggle="modal">&#160;</a>&#160; <div id="removeMod" class="modal fade" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="{{pageLabelMap 'Modal_Aria_Close'}}"><span aria-hidden="true">&#215;</span></button> <h4 class="modal-title">{{pageLabelMap 'Cart_Remove_Prompt'}}</h4> </div> <div class="modal-body"> <ul> {{#each this.zeroValues}} {{#ifEquals pricingType 'external'}} {{#if extName}} <li>{{this.extName}}</li> {{else}} <li>{{this.mockProduct.name}}</li> {{/if}} {{else}} <li>{{this.mockProduct.name}}</li> {{/ifEquals}} {{/each}} </ul> </div> <div class="modal-footer"> <input type="button" class="btn btn-default btn-sm revertCloseModal" data-zeros="{{stringify this.zeroValues}}" data-dismiss="modal" value="{{pageLabelMap 'Dialog_No'}}" /> <input type="button" class="btn btn-default btn-sm closeModal" data-zeros="{{this.zeroValues}}" value="{{pageLabelMap 'Yes'}}" /> </div> </div> </div>< </div> </script> <script id="MiniCart-AttributeItems" type="text/template"> <div id="minicart_attribute_items{{itemID}}" class="modal fade cc_modal cc_cart_attribute_items_modal gp_cart_attribute_items_modal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content cc_modal_content"> <div class="modal-header"> <button type="button" class="close cc_close" data-dismiss="modal" aria-label="{{pageLabelMap 'Modal_Aria_Close'}}"><span aria-hidden="true">&#215;</span></button> {{#ifEquals this.pricingType 'external'}} {{#if extName}} <h3 id="myModalLabel">{{this.extName}}&#58;&#160;{{pageLabelMap 'Cart_AttributeItems'}}</h3> {{else}} <h3 id="myModalLabel">{{this.mockProduct.name}}&#58;&#160;{{pageLabelMap 'Cart_AttributeItems'}}</h3> {{/if}} {{else}} <h3 id="myModalLabel">{{this.mockProduct.name}}&#58;&#160;{{pageLabelMap 'Cart_AttributeItems'}}</h3> {{/ifEquals}} </div> <div class="modal-body cc_modal-body"> <div class="table-responsive"> <table class="cart_figures table table-striped table-condensed cc_table cc_included_items"> <thead class="cc_table_header"> <th class="cc_name">{{pageLabelMap 'CartInc_SKU'}}</th> {{#each this.topAttributes}} <th class="cc_attribute_name">{{{this.displayName}}}</th> {{/each}} <th class="cc_attribute_qty">{{pageLabelMap 'CartInc_AttributeQuantity'}}</th> <th class="cc_price">{{pageLabelMap 'CartInc_Price'}}</th> <th class="cc_total">{{pageLabelMap 'CartInc_Total'}}</th> <th class="cc_remove"></th> </thead> <tbody> {{#each this.minorLines}} <tr> <td class="text-nowrap"> {{#if extSKU}} {{extSKU}} {{else}} {{mockProduct.sku}} {{/if}} </td> {{#if primaryAttr}}<td><span class="cc_attr_display">{{{primaryAttr.displayName}}}</span></td>{{/if}} {{#if secondaryAttr}}<td><span class="cc_attr_display">{{{secondaryAttr.displayName}}}</span></td>{{/if}} {{#if tertiaryAttr}}<td><span class="cc_attr_display">{{{tertiaryAttr.displayName}}}</span></td>{{/if}} {{#ifEquals pricingType 'external'}} <td><span class="cc_attr_qty"><input id="qtyInput_{{this.itemID}}" type="text" name="qty" class="form-control input-sm input-text entry cc_input_sm" data-id= "{{this.itemID}}" data-parentID="{{this.parentCartItem}}" value="{{this.quantity}}" maxlength="7" readonly/></span></td> {{else}} <td><span class="cc_attr_qty"><input id="qtyInput_{{this.itemID}}" type="text" name="qty" class="form-control input-sm input-text entry cc_input_sm" data-id= "{{this.itemID}}" data-parentID="{{this.parentCartItem}}" value="{{this.quantity}}" maxlength="7" /></span></td> {{/ifEquals}} <td><span class="cc_attr_price">{{price this.price this.currencyCode}}</span></td> <td><span class="cc_attr_line_total">{{price this.SubAmount this.currencyCode}}</span></td> </tr> {{/each}} </tbody> </table> </div> <hr> <div class="row"> <div class="col-md-12"> <span class="pull-right"> <button class="btn btn-default btn-sm cc_update_cart_button updateCartButton" type="button" >{{pageLabelMap 'MiniCart_Update'}}</button> </span> </div> </div> <div class="row"> <div class="col-md-12"> <span class="pull-right">{{pageLabelMap 'CartInc_Total'}}&#58;&#160;{{price this.SubAmount}}</span> </div> </div> </div> </div> </div> </div> </script> <script> jQuery(function($) { CCRZ.models.miniCartDetailModel = CCRZ.CloudCrazeModel.extend({ className: 'cc_ctrl_CartRD', fetch: function(callback) { var model = this; model.invokeCtx('fetchMiniCart', true, function(response, event){ if (response && response.data && response.data.attributeList) { model.parseAttributes(response.data); } if (response && response.success){ model.set(model.parse(response.data)); } CCRZ.miniCartCheckoutModel = new CCRZ.models.miniCartDetailModel(); CCRZ.miniCartCheckoutModel.set(model.parse(response.data)); callback(response); }, {escape : false, buffer: false}); }, parseAttributes: function(data) { _.each(data.cartItems, function(item) { _.each(item.minorLines, function(line){ item.topAttributes = []; if(line.primaryAttr){ line.primaryAttr.displayName = data.attributeList[line.primaryAttr.sfid].displayName; item.topAttributes.push(_.find(data.attributeList, function (a) { return a.sfid === line.primaryAttr.parentAttribute; })); } if(line.secondaryAttr) { line.secondaryAttr.displayName = data.attributeList[line.secondaryAttr.sfid].displayName; item.topAttributes.push(_.find(data.attributeList, function (a) { return a.sfid === line.secondaryAttr.parentAttribute; })); } if(line.tertiaryAttr) { line.tertiaryAttr.displayName = data.attributeList[line.tertiaryAttr.sfid].displayName; item.topAttributes.push(_.find(data.attributeList, function (a) { return a.sfid === line.tertiaryAttr.parentAttribute; })); } }); }) }, save: function(skipPricing, callback) { var model = this; this.saveAndProcess(false, skipPricing, function(response) { if (response && response.success){ model.fetch(callback); } else{ callback(response); } }); }, saveAndProcess: function(deepSave, skipPricing, callback) { var model = this; var messages = model.unset('messages'); var cartjson = JSON.stringify(model.toJSON()); model.invokeContainerLoadingCtx($('.deskLayout'), 'saveCart', cartjson, deepSave, skipPricing, function(response, event){ if (response && response.success){ model.invokeContainerLoadingCtx($('.deskLayout'), 'performExtPriceValidation', cartjson, false, function(response, event){ if (response && response.success){ model.invokeContainerLoadingCtx($('.deskLayout'), 'saveCart', cartjson, true, skipPricing, function(response, event){ if (response && response.success){ model.set(model.parse(response.data)); } callback(response); }, {timeout: 120000}); }else{ callback(response); } }, {timeout: 120000}); model.set('messages', messages); }else{ callback(response); } }); } }); CCRZ.views.removeModal = Backbone.View.extend({ viewName : "removeModal", templateBoth : CCRZ.util.template(CCRZ.uiProperties.miniCartView.removeModal.tmpl), initialize: function() { }, render : function(modelData, callback) { this.dataSet = modelData; this.setElement($(CCRZ.uiProperties.miniCartView.removeModal.selector)); var v = this; v.$el.html(v.templateBoth(this.dataSet)); callback(); CCRZ.pubSub.trigger("view:"+this.viewName+":refresh", this); } }); CCRZ.views.cartView = CCRZ.CloudCrazeView.extend({ templateCartPhone : CCRZ.util.template(CCRZ.uiProperties.miniCartView.phone.tmpl), templateDesktop : CCRZ.util.template(CCRZ.uiProperties.miniCartView.desktop.tmpl), viewName: "cartView", managedSubView: false, events : { "click .productNameLink" : "goToProductDetail", 'click .loggedInAction' : 'gotoCartDetails', 'click .updateCartButton': 'saveCart', 'click .closeModal': 'closeRemoveModal', 'click .revertCloseModal': 'closeRevertRemoveModal', 'keypress .input-text.entry' : 'qtyKeyPress', 'change .input-text.entry' : 'changeQuantity' }, init: function() { if(CCRZ.disableAdaptive) { Handlebars.registerPartial("minicartAttributesDisplay", $(CCRZ.uiProperties.miniCartView.partial.minicartAttributesDisplay).html()); } CCRZ.pubSub.on('cartChange', function(cartId) { CCRZ.pagevars.currentCartID = cartId; this.update(); }, this); this.params = new Object(); this.params.skipPricing = !CCRZ.pagevars.storeSettings['AutoCalcPriceAdjust__c']; this.cartmodel = new CCRZ.models.miniCartDetailModel(); this.dataSet = new Object(); this.selector = ''; this.attrQtyChanged = false; this.update(); }, update : function() { var v = this; this.cartmodel.fetch(function() { v.render(); }); }, renderPhone: function() { var view = this; if (!this.selector) view.setElement($(CCRZ.uiProperties.miniCartView.phone.selector)); //view.setElement($('#cartBody')); else view.setElement($(this.selector)); view.$el.html(view.templateCartPhone(view.cartmodel.toJSON())); }, renderDesktop : function(){ var view = this; view.setElement($(CCRZ.uiProperties.miniCartView.desktop.selector)); view.$el.html(view.templateDesktop(view.cartmodel.toJSON())); }, changeQuantity: function(event) { var objLink = $(event.target); var matchId = objLink.data("id"); var qty = objLink.val(); var scrubbedQty = CCRZ.util.scrubQuantity(qty); var revertQty = false; //based on page config...if true allow 0s else revert 0s if(CCRZ.pagevars.pageConfig.isTrue('c.noqty')){ revertQty = (qty !== scrubbedQty); }else{ revertQty = (qty !== scrubbedQty || qty < 1); } if(revertQty) { CCRZ.pubSub.trigger("pageMessage", CCRZ.createPageMessage('WARN', "messagingAction-Warning", 'Invalid_Qty')); this.revertItemQty(matchId, objLink); }else{ //CCRZ-3771 - only check qty rules if revertQty was false this.checkQtyRules(event, matchId, qty, objLink); } }, updateItemQty: function(event, matchId, qty) { var items = this.cartmodel.get('cartItems'); $.each(items, function( index, value ){ if(value.itemID == matchId){ //save the previous value in case we need to revert later on value.previousQuantity = value.quantity; value.quantity = qty; } }); this.updateAttributeItemQty(event, matchId, qty, items); }, updateAttributeItemQty: function(event, matchId, qty, items) { var view = this; var attributeItems = items.filter(function(i) { return i.pricingType === 'attrGroup'; }); var objLink = $(event.target); if(attributeItems) { this.attrQtyChanged = true; // if qty changed but not upated, revert qty upon closing of modal $('.gp_cart_attribute_items_modal').on('hidden.bs.modal', function (e) { if(view.attrQtyChanged) { return _.each(attributeItems, function(item) { _.each(item.minorLines, function(line){ if(line.itemID === matchId) { objLink.val(line.previousQuantity); line.quantity = line.previousQuantity; } }); }); } view.attrQtyChanged = false; }); return _.each(attributeItems, function(item) { _.each(item.minorLines, function(line){ if(line.itemID === matchId) { line.previousQuantity = line.quantity; line.quantity = qty; } }); }); } }, revertItemQty: function(matchId, qtyInput) { // revert the qty input text to the qty in the model for the given item var items = this.cartmodel.get('cartItems'); $.each(items, function( index, value ){ if(value.itemID == matchId){ qtyInput.val(value.quantity); } }); this.revertAttributeItemQty(matchId, qtyInput, items); }, revertAttributeItemQty: function(matchId, qtyInput, items) { var attributeItems = items.filter(function(i) { return i.pricingType === 'attrGroup'; }); if(attributeItems) { return _.each(attributeItems, function(item) { _.each(item.minorLines, function(line){ if(line.itemID === matchId) { qtyInput.val(line.quantity); } }); }); } }, checkQtyRules: function(event, matchId, qty, objLink){ var items = this.cartmodel.get('cartItems'); var increment = 1; $.each(items, function( index, value ){ if(value.itemID == matchId){ if(value.qtyIncrement!=null){ increment = value.qtyIncrement; sku = value.mockProduct.sku; } } }); increment = this.checkAttributeQtyRule(matchId, qty, items, increment); //CCRZ-3502 START: Mini-cart ignores product quantity rules if(CCRZ.pagevars.pageConfig.isTrue('MC.chkInc') && increment!=1){ //increment check is TRUE //check product quantity rules var multiple = qty; multiple = Math.ceil(multiple / increment); var calcQty = increment * multiple; if(calcQty!=qty){ if(!CCRZ.pagevars.pageConfig.isTrue('MC.wrnInc')){ //warnOnly is false so we revert the qty and display an error this.revertItemQty(matchId, objLink); //revert to previous value var msgArr = new Array(); msgArr[0] = sku; msgArr[1] = increment; var msg = CCRZ.processPageLabelMap('MiniCart_InvalidIncrementError', msgArr); var msgContext = CCRZ.createPageMessage('ERROR', "error-"+matchId, msg); CCRZ.pubSub.trigger("pageMessage", msgContext); }else{ //warnOnly is true so we change the qty and display a warning this.updateItemQty(event, matchId, calcQty); this.revertItemQty(matchId, objLink); //this doesn't actually revert the qty, it just updates the qty input box var msgArr = new Array(); msgArr[0] = sku; msgArr[1] = calcQty; var msg = CCRZ.processPageLabelMap('MiniCart_InvalidIncrementWarn', msgArr); var msgContext; if(objLink.data("parentid") !=null && objLink.data("parentid") != ''){ msgContext = CCRZ.createPageMessage('WARN', "error-"+objLink.data("parentid"), msg); }else{ msgContext = CCRZ.createPageMessage('WARN', "error-"+matchId, msg); } CCRZ.pubSub.trigger("pageMessage", msgContext); } }else{ this.updateItemQty(event, matchId, calcQty); //user input a valid quantity } }else{ //increment check is false, or increment is 1 this.updateItemQty(event, matchId, qty); } //CCRZ-3502 END: Mini-cart ignores product quantity rules }, checkAttributeQtyRule: function(matchId, qtyInput, items, increment) { var attributeItems = items.filter(function(i) { return i.pricingType === 'attrGroup'; }); if(attributeItems) { _.each(attributeItems, function(item) { _.each(item.minorLines, function(line){ if(line.qtyIncrement!=null){ increment = line.qtyIncrement; sku = line.mockProduct.sku; } }); }); } return increment; }, openRemoveModal: function(event, zeroValues) { var objLink = $(event.currentTarget); var modalData = {"zeroValues":zeroValues}; var modalView = new CCRZ.views.removeModal(); modalView.render(modalData, function() { $('#removeMod').modal({ keyboard: false, backdrop: 'static', show: true }); }); }, closeRemoveModal: function(event){ //called when closing the modal, and allowing 0 to remove the items from the cart var view = this; var objLink = $(event.currentTarget); //actaully save the model which will remove the items with 0 from the cart this.saveToModel(event); //close the modal $('#removeMod').modal('hide'); }, closeRevertRemoveModal: function(event){ //called when we first have to revert to the previous value var objLink = $(event.currentTarget); var zeroValues = objLink.data("zeros"); //for each zeroValue, revert the value to the previous quantity for(index = 0; index < zeroValues.length; index++){ //set to the previous quantity, first get the element qtyElement = $('#qtyInput_'+zeroValues[index].itemID); qtyElement.val(zeroValues[index].previousQuantity); qtyElement.change(); } //now with the 0s removed, we can all the existing save cart function and it will update the model this.saveToModel(event); //close the modal $('#removeMod').modal('hide'); }, saveCart : function(event){ if($('.gp_cart_attribute_items_modal').hasClass('in')) { $('.gp_cart_attribute_items_modal').modal('hide'); } var view = this; if(CCRZ.pagevars.pageConfig.isTrue('c.noqty') && CCRZ.pagevars.pageConfig.isTrue('c.vernoqty') ){ //find any items in the model with quantity 0 var items = this.cartmodel.get('cartItems'); var zeroValues = []; $.each(items, function( index, value ){ if(value.quantity == 0){ zeroValues.push(value); } }); //if we found an 0 quantites, then open the modal if(zeroValues.length > 0){ //popup the modal this.openRemoveModal( event, zeroValues); //else just go ahead and save the changes to the model }else{ this.saveToModel(event); } }else{ this.saveToModel(event); } }, saveToModel: function(event){ var view = this; this.cartmodel.save(this.params.skipPricing, function(response){ if (response.success) { this.attrQtyChanged = false; view.render(); CCRZ.pubSub.trigger('cartChange', CCRZ.pagevars.currentCartID); } else{ CCRZ.pubSub.trigger("pageMessage", response); } }); }, gotoCartDetails: function (event) { var objLink = $(event.target); var id = objLink.data("id"); cartDetails(id); }, goToProductDetail: function(event) { var sku = $(event.currentTarget).data("sku"); productDetails(sku); }, qtyKeyPress: function(event) { return CCRZ.util.isValidNumericInput(event); } }); CCRZ.cartView = new CCRZ.views.cartView(); }); </script></span><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id245"> <script> jQuery(function($) { //setup default options, then use ui properties, if they exist... var uiprops = {}; //only use the correct ui properties if they properly defined, else use component defaults. if(CCRZ.uiProperties && CCRZ.uiProperties.autoComplete && CCRZ.uiProperties.autoComplete.PRODUCT_SEARCH && CCRZ.uiProperties.autoComplete.PRODUCT_SEARCH.sidebarSearchText){ uiprops = CCRZ.uiProperties.autoComplete.PRODUCT_SEARCH.sidebarSearchText; } var options = _.extend( {minLength:3}, {delay:300}, {resultLimit:10}, {position: {collision:'none flip'}}, uiprops); CCRZ.pubSub.on('view:prodsearchWidgetView:refresh',function(){ $('.sidebarSearchText').each(function(){ var elem = $($(this).get(0)); if (!elem.hasClass('ui-autocomplete-input')) { elem.autocomplete({ source: function( request, response ) { Visualforce.remoting.Manager.invokeAction( 'ccrz.cc_ctrl_AutoComplete.searchAutoComplete', CCRZ.pagevars.remoteContext, request.term, options.resultLimit, 'PRODUCT_SEARCH', function(resp){ if(resp && resp.data){ response(resp.data); } }, {buffer:false,escape:false} ); }, open: function(){ setTimeout(function () { $('.ui-autocomplete').css('z-index', 99999999999999); }, 0); }, minLength: options.minLength, delay: options.delay, position: options.position }); } }); }); }); </script> <script id="SidebarSearch-View-Desktop" type="text/template"> <div class="panel panel-default cc_panel cc_product_search_panel"> <div class="panel-heading cc_heading"> <h3 class="panel-title cc_title">{{pageLabelMap 'ProductSearchNav_Title'}}</h3> </div> <div class="panel-body cc_body"> <p class="cc_intro_text">{{pageLabelMap 'ProductSearchNav_IntroText'}}</p> <div class="input-group form-group"> <input name="sidebarSearchText" type="text" class="form-control sidebarSearchText cc_sidebar_search_text" placeholder="{{pageLabelMap 'ProductSearchNav'}}" title="{{pageLabelMap 'ProductSearch_Tooltip'}}" autocomplete="off" /> <div class="input-group-btn search_button"> <button name="sidebarSearchButton" class="btn btn-default sidebarSearchButton cc_sidebar_search_button" type="submit" data-container="body" data-toggle="popover" data-placement="bottom" data-content="{{pageLabelMap 'ProductSearch_Tooltip'}}"> <i class="fa fa-search" aria-hidden="true"></i> <!--*****************************--> </button> </div> </div> <div class="searchBoxError cc_searchbox_error" role="alert" style="display:none;"> <i class="fa fa-exclamation-circle" aria-hidden="true"></i> <span class="sr-only">{{pageLabelMap 'SearchWidget_Error'}}</span> </div> </div> </div> </script> <script> jQuery(function($) { if (CCRZ.pagevars.pageConfig.get('SB.Location')) { CCRZ.util.createView({ templatePrefix: CCRZ.uiProperties.searchWidget.tmpl, viewName : "prodsearchWidgetView", preRender : function() { $('.' + CCRZ.uiProperties.searchWidget.desktop.left.selector).html(''); $('.' + CCRZ.uiProperties.searchWidget.desktop.right.selector).html(''); }, desktop :{ target : CCRZ.pagevars.pageConfig.get('SB.Location') == 'RIGHT' ? CCRZ.uiProperties.searchWidget.desktop.right.selector : CCRZ.pagevars.pageConfig.get('SB.Location') == 'LEFT' ? CCRZ.uiProperties.searchWidget.desktop.left.selector : 'search-box-no-displ' }, tablet : { target : CCRZ.pagevars.pageConfig.get('SB.Location') == 'RIGHT' || CCRZ.pagevars.pageConfig.get('SB.Location') == 'LEFT' ? CCRZ.uiProperties.searchWidget.desktop.right.selector : 'search-box-no-displ' }, phone : { target : 'search-box-no-displ' }, events :{ "click .sidebarSearchButton" : "doSearchNav", "keypress .sidebarSearchText" : "doSearchEnter" }, doSearchNav : function() { if(this.validateSearchInput()){ var ccid = CCRZ.pagevars.currentCartID || ''; var storeName = CCRZ.pagevars.storefrontName || ''; window.location = CCRZ.pageUrls.productList + "?cartID="+ccid+getCSRQueryString()+"&operation=quickSearch&searchText="+encodeURIComponent($.trim($('.sidebarSearchText').val())); } }, doSearchEnter : function(event) { var v = this; if (window.event && window.event.keyCode == 13 || event.which == 13) { v.doSearchNav(); return false; } else { return true; } }, validateSearchInput : function(){ var v = this; var srchInput = $('.sidebarSearchText'); var srchBtn = $('.sidebarSearchButton'); var srchVal = false || (srchInput.val()?srchInput.val().trim():false); if(srchVal && srchVal.length > 1 ){ $('.searchBoxError').toggle(false); return true; }else{ $('.searchBoxError').text(CCRZ.pagevars.pageLabels['ProductSearch_Tooltip']); $('.searchBoxError').toggle(true); return false; } } }); //Create the view } }); </script></span><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id261"> <script> jQuery(function($) { //setup default options, then use ui properties, if they exist... var uiprops = {}; //only use the correct ui properties if they properly defined, else use component defaults. if(CCRZ.uiProperties && CCRZ.uiProperties.autoComplete && CCRZ.uiProperties.autoComplete.PRODUCT_SEARCH && CCRZ.uiProperties.autoComplete.PRODUCT_SEARCH.search_input){ uiprops = CCRZ.uiProperties.autoComplete.PRODUCT_SEARCH.search_input; } var options = _.extend( {minLength:3}, {delay:300}, {resultLimit:10}, {position: {collision:'none flip'}}, uiprops); CCRZ.pubSub.on('view:productSearchView:refresh',function(){ $('.search_input').each(function(){ var elem = $($(this).get(0)); if (!elem.hasClass('ui-autocomplete-input')) { elem.autocomplete({ source: function( request, response ) { Visualforce.remoting.Manager.invokeAction( 'ccrz.cc_ctrl_AutoComplete.searchAutoComplete', CCRZ.pagevars.remoteContext, request.term, options.resultLimit, 'PRODUCT_SEARCH', function(resp){ if(resp && resp.data){ response(resp.data); } }, {buffer:false,escape:false} ); }, open: function(){ setTimeout(function () { $('.ui-autocomplete').css('z-index', 99999999999999); }, 0); }, minLength: options.minLength, delay: options.delay, position: options.position }); } }); }); }); </script> <script id="productSearchTemplateDesktop" type="text/template"> {{#ifDisplay 'H.DisplSearch'}} <div class="navbar-form cc_navbar_form" role="search"> <div class="input-group cc_input-group"> <input id="searchText" type="text" class="form-control search_input cc_search_input" placeholder="{{pageLabelMap 'ProductSearch'}}" title="{{pageLabelMap 'ProductSearch_Tooltip'}}" data-trigger="focus" autocomplete="off"> <span class="input-group-btn"> <button id="doSearch" class="btn btn-default search_button" type="Submit"><i class="fa fa-search" aria-hidden="true"></i></button> </span> </div> </div> <span id="cc_search_error" data-trigger="manual" data-placement="bottom" data-content="{{pageLabelMap 'ProductSearch_Tooltip'}}"></span> <div class="searchTopBarErrorMessage searchBoxWidgetError" ></div> {{/ifDisplay}} </script> <script> jQuery(function($) { 'use strict'; /** * Models */ CCRZ.models.productSearchModel = Backbone.Model.extend(); /** * Views */ CCRZ.views.productSearchView = CCRZ.CloudCrazeView.extend({ templateDesktop : CCRZ.util.template(CCRZ.uiProperties.productSearchView.desktop.tmpl), templatePhone : CCRZ.util.template(CCRZ.uiProperties.productSearchView.phone.tmpl), viewName : "productSearchView", events:{ "click #doSearch" : "doSearch", "keyup #searchText" : "enterPress" }, init : function(){ this.render(); }, renderDesktop : function(){ this.$el.html(''); this.setElement($(CCRZ.uiProperties.productSearchView.desktop.selector)); var modeljson = this.model.toJSON(); var searchhtml = this.templateDesktop(modeljson); this.$el.html(searchhtml); if(CCRZ.disableAdaptive) { // initialize popover/tooltip $('#doSearch').popover(); } }, renderPhone : function(){ this.$el.html(''); this.setElement($(CCRZ.uiProperties.productSearchView.phone.selector)); this.$el.html(this.templatePhone(this.model.toJSON())); }, enterPress : function(e){ var code = e.which; // recommended to use e.which, it's normalized across browsers if(code==13)e.preventDefault(); if(CCRZ.disableAdaptive) { $('#cc_search_error').popover('hide'); } if(code==13){ this.doSearch(e); } }, doSearch : function(event){ if(this.validateSearchInput()){ var searchText = $.trim($("#searchText").val()); var URL = CCRZ.buildQueryString(this.model.get("defaults").page + '?operation=quickSearch&searchText='+encodeURIComponent(searchText)); window.location.href = URL; } }, validateSearchInput : function(){ var v = this; var srchInput = $('#searchText'); var srchVal = false || (srchInput.val()?srchInput.val().trim():false); if(srchVal && srchVal.length > 1 ){ $('.searchBoxWidgetError').toggle(false); return true; } else { if(CCRZ.disableAdaptive) { $('#cc_search_error').popover('show'); } else { $('.searchBoxWidgetError').text(CCRZ.pagevars.pageLabels['ProductSearch_Tooltip']); $('.searchBoxWidgetError').toggle(true); } return false; } } }); CCRZ.productSearchModel = new CCRZ.models.productSearchModel({ defaults : { page : CCRZ.pageUrls.productList, currentCartId: CCRZ.pagevars.currentCartID } }); CCRZ.productSearchView = new CCRZ.views.productSearchView({ model : CCRZ.productSearchModel }); }); </script></span><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id273"> <script id="Spotlight-Desktop" type="text/template"> {{#if this.Spotlight}} <div class="panel panel-default cc_panel cc_spotlight_products"> <div class="panel-heading cc_heading"> <h3 class="panel-title cc_title"> {{#if this.crossSell}} {{pageLabelMap 'CrossSell_AlsoConsider'}} {{else}} {{pageLabelMap 'Spotlight_Title'}} {{/if}} </h3> </div> <div class="panel-body cc_body"> {{#each this.Spotlight}} <div class="row"> <div class="col-md-12"> {{productLink this.mockProduct 'cc_product_name_img' image=(displayImage this.mediaWrapper 'spot img-responsive center-block' alt=this.mockProduct.name dataId=this.mockProduct.sku)}} </div> </div> <div class="row"> <div class="col-md-12"> <h5> {{productLink this.mockProduct 'cc_product_name'}} </h5> <p class="cc_sku"> <span class="cc_sku_label">{{pageLabelMap 'CartInc_SKU'}}</span>&#160; <span class="cc_sku_value">{{this.mockProduct.sku}}</span> </p> <p class="description cc_description"> {{unescape this.mockProduct.shortDesc}} </p> {{#if this.primaryAttr}} <span class="cc_attr_message">{{pageLabelMap 'ProductAttributes_PriceMessage'}}</span> {{else}} {{#if this.showNewSubscriptionSelection}} <p class="price priceSubscription cc_price_subscription"> <span class="cc_subscr_price">{{pageLabelMap 'Prod_SpotLightPrice' (price this.price) (price this.minSubPrice) (price this.maxSubPrice)}}</span> </p> {{else}} <!--********************************************************--> {{#if this.maxPrice}} <p class="price cc_price"> {{#if this.displayPrice}} <span class="price cc_price cc_display_price">{{pageLabelPrefixMap 'DisplayPrice_' this.displayPrice}}</span> {{else}} {{#ifbothPricesZero this.minPrice this.maxPrice}} <span class="cc_price_label">{{pageLabelMap 'CartInc_Price'}}:</span> <span class="cc_price_value">{{displayRangePrice 'ProductDetails_PriceRangeFormat' this.minPrice this.maxPrice}}</span> {{/ifbothPricesZero}} {{/if}} </p> {{else}} {{#if this.displayPrice}} <p class="price displayPrice cc_display_price"> <span class="cc_display_price">{{pageLabelPrefixMap 'DisplayPrice_' this.displayPrice}}</span> </p> {{else}} <p class="price cc_price"> <span class="cc_price_label">{{pageLabelMap 'CartInc_Price'}}:</span> <span class="cc_price_value">{{price this.price}}</span> </p> {{/if}} {{/if}} {{#if this.isTierPriced}} <div class="cc_prt_tool_tip_div cc_prt_tool_tip_div_spotLight" data-toggle="tooltip" title="{{pageLabelMap 'ProductPricingTiers_VolumeHover'}}"> <span class="cc_prt_tool_tip_text cc_prt_tool_tip_text_spotLight">{{pageLabelMap 'ProductPricingTiers_VolumePricing'}}</span> </div> {{/if}} {{/if}} {{/if}} </div> </div> <hr> {{/each}} </div> </div> {{/if}}<!--*******************************--> {{#if this.Featured}} <div class="panel panel-default cc_feeatured_products"> <div class="panel-heading cc_heading"> <h3 class="panel-title cc_title"> {{#if this.crossSell}} {{pageLabelMap 'CrossSell_AlsoConsider'}} {{else}} {{pageLabelMap 'Featured_Title'}} {{/if}} </h3> </div> <div class="panel-body cc_body"> <div class="row"> {{#each this.Featured}} <div class="cc_featured_col {{#ifEquals ../this.colNum '1'}}col-md-12{{else}}{{#ifEquals ../this.colNum '2'}}col-md-6{{else}}{{#ifEquals ../this.colNum '3'}}col-md-4{{else}}{{#ifEquals ../this.colNum '4'}}col-md-3{{else}}col-md-3{{/ifEquals}}{{/ifEquals}}{{/ifEquals}}{{/ifEquals}}"> {{productLink this.mockProduct 'cc_product_name_img' image=(displayImage this.mediaWrapper 'featured img-responsive center-block' alt=this.mockProduct.name dataId=this.mockProduct.sku)}} <h5> {{productLink this.mockProduct 'cc_product_name'}} </h5> <p class="cc_sku"> <span class="cc_sku_label">{{pageLabelMap 'CartInc_SKU'}}</span>&#160; <span class="cc_sku_value">{{this.mockProduct.sku}}</span> </p> <p class="description cc_description"> {{unescape this.mockProduct.shortDesc}} </p> {{#if this.primaryAttr}} <span class="cc_attr_message">{{pageLabelMap 'ProductAttributes_PriceMessage'}}</span> {{else}} {{#if this.showNewSubscriptionSelection}} <p class="price priceSubscription cc_price_subscription"> <span class="cc_subscr_price">{{pageLabelMap 'Prod_SpotLightPrice' (price this.price) (price this.minSubPrice) (price this.maxSubPrice)}}</span> </p> {{else}} <!--********************************************************--> {{#if this.maxPrice}} <p class="price cc_price"> {{#if this.displayPrice}} <span class="price cc_price cc_display_price">{{pageLabelPrefixMap 'DisplayPrice_' this.displayPrice}}</span> {{else}} {{#ifbothPricesZero this.minPrice this.maxPrice}} <span class="cc_price_label">{{pageLabelMap 'CartInc_Price'}}:</span> <span class="cc_price_value">{{displayRangePrice 'ProductDetails_PriceRangeFormat' this.minPrice this.maxPrice}}</span> {{/ifbothPricesZero}} {{/if}} </p> {{else}} {{#if this.displayPrice}} <p class="price displayPrice cc_display_price"> <span class="cc_display_price">{{pageLabelPrefixMap 'DisplayPrice_' this.displayPrice}}</span> </p> {{else}} <p class="price cc_price"> <span class="cc_price_label">{{pageLabelMap 'CartInc_Price'}}:</span> <span class="cc_price_value">{{price this.price}}</span> </p> {{/if}} {{/if}} {{#if this.isTierPriced}} <div class="cc_prt_tool_tip_div cc_prt_tool_tip_div_spotLight" data-toggle="tooltip" title="{{pageLabelMap 'ProductPricingTiers_VolumeHover'}}"> <span class="cc_prt_tool_tip_text cc_prt_tool_tip_text_spotLight">{{pageLabelMap 'ProductPricingTiers_VolumePricing'}}</span> </div> {{/if}} {{/if}} {{/if}} </div> {{#ifVariableRowFull @index ../this.colNum}} <div class="clearfix"></div> <hr> {{/ifVariableRowFull}} {{/each}} </div> </div> </div> {{/if}}<!--*******************************--> </script> <script> CCRZ.remoteAction.FPfetchFeaturedProducts = 'ccrz.cc_ctrl_FeaturedProductRD.fetchFeaturedProducts'; CCRZ.remoteAction.FPfetchRelatedProducts = 'ccrz.cc_ctrl_FeaturedProductRD.fetchRelatedProducts'; </script> <script type="text/javascript"> Handlebars.registerHelper("ifVariableRowFull", function(index, columns, options){ var col = parseInt(columns); if(col < 2) { return options.fn(this); } else if (col === 2) { if((index + 1) % 2 === 0) { return options.fn(this); } } else if (col === 3) { if((index + 1) % 3 === 0) { return options.fn(this); } } else { if((index + 1) % 4 === 0) { return options.fn(this); } } }); jQuery(function($) { var staticResource = "/resource/1649697394000/ccrz__CC_OOTBImages"; var relatedProducts = ("false" === "true"); var cartLoaded = false; CCRZ.models.Spotlight = CCRZ.CloudCrazeModel.extend({ className: 'cc_ctrl_FeaturedProductRD', fetch: function(callback) { var model = this; model.set("crossSell", relatedProducts); if (relatedProducts) { var cartItems = new Array(); if (CCRZ.currentCart && CCRZ.currentCart.get("cartItems")) { $.each(CCRZ.currentCart.get("cartItems").models, function(index, object){ cartItems.push(object.get("mockProduct").id); }); }else{ if (CCRZ.currentCart && CCRZ.currentCart.get("ECartItemsS")) { $.each(CCRZ.currentCart.get("ECartItemsS").models, function (index, object) { if(object.get("cartItemType") !== "Coupon") { cartItems.push(object.get("product").sfid); } }); } } this.invokeContainerLoadingCtx($('.featured-prod'), 'fetchRelatedProducts', cartItems, function(response){ if(response && response.data) { model.set(model.parse(response.data)); model.set("imgpath", staticResource); callback(); } }, { escape: false }); } else { this.invokeContainerLoadingCtx($('.featured-prod'), 'fetchFeaturedProducts', function(response){ if(response && response.data) { if(response.data["Featured"].length == 1) { model.set("colNum", 1); } else if(response.data["Featured"].length > 1) { model.set("colNum", CCRZ.getPageConfig('FP.colNum', 2)); } model.set(model.parse(response.data)); model.set("imgpath", staticResource); callback(); } }, { escape: false, buffer: false }); } } }); CCRZ.views.spotlightView = CCRZ.CloudCrazeView.extend({ templatePhone : CCRZ.util.template(CCRZ.uiProperties.spotlightView.phone.tmpl), templateDesktop : CCRZ.util.template(CCRZ.uiProperties.spotlightView.desktop.tmpl), viewName : "spotlightView", events: { "click .productName" : "gotoProductDetail" }, init : function(){ this.model = new CCRZ.models.Spotlight(); var v = this; if(relatedProducts){ CCRZ.pubSub.on("action:CartDetailView:cartItemsRefreshed", function(){ v.model.fetch(function() { v.render(); }); }); }else{ v.model.fetch(function() { v.render(); }); } }, renderDesktop : function(){ var v = this; this.setElement($(CCRZ.uiProperties.spotlightView.desktop.selector)); this.$el.html(v.templateDesktop(v.model.toJSON())); }, renderPhone : function(){ var v = this; this.setElement($(CCRZ.uiProperties.spotlightView.phone.selector)); this.$el.html(v.templatePhone(v.model.toJSON())); }, postRender : function(){ var v = this; if(v.model.get("colNum") == 1) { $(".featured_products>div").first().addClass( "featured_products_item_single_col" ); } // CCRZ.pubSub.trigger("view:"+this.viewName+":refresh", this); }, gotoProductDetail: function (event) { var objLink = $(event.target); var id = objLink.data("id"); productDetails(id); } }); CCRZ.views.spotView = new CCRZ.views.spotlightView(); setTimeout(function(){ $('#carousel-spotlight').carousel({interval:false}); $('.item.idx0').addClass('active'); }, 1000); // var spotView = new CCRZ.views.spotlightView(); }); </script></span><span id="CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:j_id314"> <script id="promo-desktop-template" type="text/template"> {{#if this}} <div class="panel panel-default cc_panel cc_promo"> <div class="panel-body cc_body"> {{#each this}} {{#if sku}} {{productLink this 'cc_promo_link' image=(displayImage this 'img-responsive img-rounded cc_promo_img center-block' alt=this.altMsg) promo=name}} {{else}}{{#if categoryId}} {{categoryLink this 'cc_promo_link' image=(displayImage this 'img-responsive img-rounded cc_promo_img center-block' alt=this.altMsg) promo=name}} {{else}}{{#if externalLink}} <a href="{{decodeHTML externalLink}}" class="cc_promo_link promo_ext" {{#if isNewWindow}}target="_blank"{{/if}}" data-promo="{{name}}"><img class="img-responsive img-rounded cc_promo_img center-block" src="{{fullImageURL}}" alt="{{altMsg}}" /></a> {{else}}{{#if isDownload }} <a href="{{downloadUri}}" target="_blank" class="cc_promo_link promo_dwnld" data-promo="{{name}}"><img class="img-responsive img-rounded cc_promo_img center-block" src="{{fullImageURL}}" alt="{{altMsg}}" /></a> {{else}}{{#if noLink }} <img src="{{fullImageURL}}" class="img-responsive img-rounded cc_promo_img center-block" alt="{{altMsg}}" /><br> {{/if}}{{/if}}{{/if}}{{/if}}{{/if}} {{/each}} </div> </div> {{/if}} </script> <script id="promo-desktop-template-centerColumn" type="text/template"> <div class="promo_container promo_banner_container"> {{#if this}} <div class="panel panel-default cc_panel cc_promo"> <div class="panel-body cc_body"> {{#each this}} <div class="promotion_banner promo_desk {{sfid}}"> {{#if sku}} {{productLink this 'promo_desk promo_sku cc_promo_link' image=(displayImage this 'promo_desk promo_sku img-responsive cc_promo_img' alt=this.altMsg) promo=name}} {{else}}{{#if categoryId}} {{categoryLink this 'promo_desk promo_category cc_promo_link' image=(displayImage this 'promo_desk promo_category img-responsive cc_promo_img' alt=this.altMsg) promo=name}} {{else}}{{#if externalLink}} <a href="{{decodeHTML externalLink}}" {{#if isNewWindow}}target="_blank"{{/if}} class="promoLink promo_desk promo_ext {{#if isNewWindow}}promo_newwindow{{/if}} cc_promo_link" data-promo="{{name}}"><img src="{{fullImageURL}}" alt="{{altMsg}}" class="promoLink promo_desk promo_ext {{#if isNewWindow}}promo_newwindow{{/if}} img-responsive cc_promo_img" /></a> {{else}}{{#if isDownload }} <a href="{{downloadUri}}" target="_blank" class="promoLink promo_desk promo_dwnld cc_promo_link" data-promo="{{name}}"><img src="{{fullImageURL}}" alt="{{altMsg}}" class="promoLink promo_desk promo_dwnld img-responsive cc_promo_img"/></a> {{else}}{{#if noLink }} <img src="{{fullImageURL}}" alt="{{altMsg}}" class="promo_desk promo_nolink img-responsive cc_promo_img"/> {{/if}}{{/if}}{{/if}}{{/if}}{{/if}} </div> {{/each}} </div> </div> {{/if}} </div> </script> <script> jQuery(function($) { "use strict"; CCRZ.models.PromoDispModel = CCRZ.CloudCrazeModel.extend({ className : "cc_ctrl_promoRD", fetch: function(callback) { var model = this; this.invokeCtx("fetchPromos", {location: 'SRMORS'}, function(response){ if(response.success){ model.set(model.parse(response.data)); callback(); }else{//TODO - Handle this } }, { buffer: false }); } }); CCRZ.views.PromoDisp = CCRZ.CloudCrazeView.extend({ phoneTemplate : CCRZ.util.template(CCRZ.uiProperties.PromoDisp.phone.tmpl), deskTemplate : CCRZ.util.template(CCRZ.uiProperties.PromoDisp.desktop.tmpl), deskBannerTemplate : CCRZ.util.template(CCRZ.uiProperties.PromoDisp.desktop.banner.tmpl), viewName : "PromoDisp", events : { "click .promoLink" : "gotoProdDetail" }, initialize: function() { var view = this; this.model.fetch(function(){ view.render(); CCRZ.pubSub.trigger("view:"+view.viewName+":rendered", view); }); }, viewChanged: function() { if(this.currentView !== CCRZ.display.currentView) { this.currentView = CCRZ.display.currentView; return true; } return false; }, renderViewChanged: function() { if(this.viewChanged()) { this.render(); } }, gotoProdDetail: function(event) { var objLink = $(event.currentTarget); var id = objLink.data("id"); productDetails(id); }, render: function() { // clear existing promo containers $(CCRZ.uiProperties.PromoDisp.desktop.right.selector).html(''); $(CCRZ.uiProperties.PromoDisp.desktop.left.selector).html(''); $(CCRZ.uiProperties.PromoDisp.desktop.banner.selector).html(''); $(CCRZ.uiProperties.PromoDisp.tablet.side.selector).html(''); $(CCRZ.uiProperties.PromoDisp.tablet.banner.selector).html(''); $(CCRZ.uiProperties.PromoDisp.phone.selector).html(''); // add promotions in correct location for device if(CCRZ.display.isTablet()) { $(CCRZ.uiProperties.PromoDisp.tablet.side.selector).html(this.deskTemplate(this.model.get('Right Nav'))); $(CCRZ.uiProperties.PromoDisp.tablet.side.selector).append(this.deskTemplate(this.model.get('Left Nav'))); $(CCRZ.uiProperties.PromoDisp.tablet.banner.selector).append(this.deskBannerTemplate(this.model.get('Banner'))); } else if(CCRZ.display.isPhone()) { $(CCRZ.uiProperties.PromoDisp.phone.selector).append(this.phoneTemplate(this.model.get('Mobile'))); }else{ $(CCRZ.uiProperties.PromoDisp.desktop.right.selector).html(this.deskTemplate(this.model.get('Right Nav'))); $(CCRZ.uiProperties.PromoDisp.desktop.left.selector).html(this.deskTemplate(this.model.get('Left Nav'))); $(CCRZ.uiProperties.PromoDisp.desktop.banner.selector).append(this.deskBannerTemplate(this.model.get('Banner'))); } CCRZ.pubSub.trigger("view:"+this.viewName+":refresh", this); } }); CCRZ.promoModel = new CCRZ.models.PromoDispModel(); CCRZ.promoView = new CCRZ.views.PromoDisp({ model : CCRZ.promoModel }); if(!CCRZ.disableAdaptive){ CCRZ.dynamicViews.push(CCRZ.promoView); } }); </script></span><script src="/ccrz__PageLabels?storefront=DefaultStore&amp;pageName=CCPage&amp;userLocale=en_US&amp;pageKey=SRMORS&amp;trg=" type="text/javascript"></script><script type="text/javascript" src="/resource/1649697395000/ccrz__CCRZ_JS/v004/boot3/ccrz-libse-min.js"></script> </body> </html><script type="text/javascript">Sfdc.onReady(function(){ Sfdc.Resource.addJavaScripts(['/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/nist-component-library-2.0.47/dist/js/uswds.min.js']); SfdcApp && SfdcApp.Visualforce && SfdcApp.Visualforce.VSManager && SfdcApp.Visualforce.VSManager.vfPrepareForms(["CCPage:cc_tmpl_OneColRD:cc_tmpl_Storefront:phoneLoginForm"]); });</script>

Pages: 1 2 3 4 5 6 7 8 9 10