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 type="text/javascript" src="https://web-static.archive.org/_static/js/bundle-playback.js?v=7YQSqjSh" charset="utf-8"></script> <script type="text/javascript" src="https://web-static.archive.org/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="https://web-static.archive.org/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://shop.nist.gov/","20230329063241","https://web.archive.org/","web","https://web-static.archive.org/_static/", "1680071561"); </script> <link rel="stylesheet" type="text/css" href="https://web-static.archive.org/_static/css/banner-styles.css?v=p7PEIJWi" /> <link rel="stylesheet" type="text/css" href="https://web-static.archive.org/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <script src="/web/20230329063241js_/https://shop.nist.gov/static/111213/js/perf/stub.js" type="text/javascript"></script><script src="/web/20230329063241js_/https://shop.nist.gov/jslibrary/1637251310242/sfdc/VFRemote.js" type="text/javascript"></script><script src="/web/20230329063241js_/https://shop.nist.gov/jslibrary/1662649314242/ui-sfdc-javascript-impl/SfdcCore.js" type="text/javascript"></script><script src="/web/20230329063241js_/https://shop.nist.gov/static/111213/js/picklist4.js" type="text/javascript"></script><script src="/web/20230329063241js_/https://shop.nist.gov/jslibrary/1635874030242/sfdc/VFState.js" type="text/javascript"></script><script src="/web/20230329063241js_/https://shop.nist.gov/jslibrary/1647410350242/sfdc/NetworkTracking.js" type="text/javascript"></script><script>try{ NetworkTracking.init('/_ui/networks/tracking/NetworkTrackingServlet', 'network', '066t0000000517V'); }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":"066t0000000517V","xhr":false,"dev":false,"tst":false,"dbg":false,"tm":1680071561873,"ovrprm":false},"actions":{"ccrz.cc_ctrl_AutoComplete":{"ms":[{"name":"searchAutoComplete","len":4,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0TnpOYSxQTGZtOVFUd213Ui1SRUlRUmJYLTFvLE4ySTROV1Zp","authorization":"eyJub25jZSI6InViU2xhUEUycHFHVEcxM3dVaE9JNFRnNzQ1TnQ0SWxHdjVORmh5STh4RkFcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODc0LCJleHAiOjB9.Q2l4alkzSjZMbU5qWDJOMGNteGZRWFYwYjBOdmJYQnNaWFJsTG5ObFlYSmphRUYxZEc5RGIyMXdiR1YwWlE9PQ==.Pbzlu0Cs7dOfE7BkxlDnbAIxc1OWte8WOEHowbmx_IY="}],"prm":1},"ccrz.cc_ctrl_CartRD":{"ms":[{"name":"applyCoupon","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0TnpSYSxwTFhXNjQ0NlVBOXN1OHRkQlp5VlVLLE9HUXhPR0V5","authorization":"eyJub25jZSI6InZScTVQM3drajFfVDZWTXdoRjFzcGVuVVROdmNETENzLTBubmxnc3lEbDhcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODc1LCJleHAiOjB9.Q2g5alkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtRndjR3g1UTI5MWNHOXU=.8EH2bvoeRZSEcatoB3cdXbwnJeUZJOht1A925SQclwI="},{"name":"clearCoupon","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0TnpWYSxnWUk2cHNxMENhLUh5cWVXZEszUFozLFpXSTNZekUz","authorization":"eyJub25jZSI6Ijg4eWY0bkJNYVJsZjdDMXVENVVZd18xSmJ5UkdsWGN2U0VKS3hDNElxRUlcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODc1LCJleHAiOjB9.Q2g5alkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtTnNaV0Z5UTI5MWNHOXU=.MzFHGM_Ux1BooGzgG0r7hoexHD59GU3tVHpKeEZKsPk="},{"name":"createRequestForQuote","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0TnpaYSxYRHhTR3Vlb21WZkJ3V2hpYjIzSGRYLE1qRXdaV0V3","authorization":"eyJub25jZSI6InJOUmo0VHItZnM4Rkd1eHc1aHFrd2FYMXBNeXVuY0dhelJBWFBTQVR2SnNcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODc2LCJleHAiOjB9.Q2lsalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtTnlaV0YwWlZKbGNYVmxjM1JHYjNKUmRXOTBaUT09.Fy2s7habfJWq9eu0Prxf4A1tZ9U04jHJecO-lDm1D6M="},{"name":"createWishlistFromCart","len":3,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0TnpaYSxPTXFYeFhNemR5NFYtNWFoM2hxSjk5LE0ySTVabUpr","authorization":"eyJub25jZSI6IkNBX2RmLVluc2xiM1BELXZNaUdFMDVFLXRZZ0NBMzV0Zm1Da3B0YlVZVElcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODc3LCJleHAiOjB9.Q2lwalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtTnlaV0YwWlZkcGMyaHNhWE4wUm5KdmJVTmhjblE9.giCssjogddXd8FWiBla0vVdSq3GEYkBgOk1qJof1lVU="},{"name":"fetchCart","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0TnpkYSwyTFVxNGxVekhfcGtzRlU0RDVSWGJELE1tTmpaVGRq","authorization":"eyJub25jZSI6IldBS19TRnBEU1NJVFVMRkJGWU1UYXMyelNZNzZQYVQxWTl3OVFDdmpEWTRcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODc4LCJleHAiOjB9.Q2gxalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtWmxkR05vUTJGeWRBPT0=.u0R9flunQywXvNx01Q6ZdD6macwjxMVPBcKnMtDn_Q8="},{"name":"fetchFullCart","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0TnpoYSxTYUQ1eG9QU0FhbVY0TlR5QnByV0VxLE5qWm1aV0Zr","authorization":"eyJub25jZSI6Img3cjlubFl5MVdvYWlNWXNGVmVyX2JWdzFyNW43UmxTNUtQY0x4c1p4azhcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODc4LCJleHAiOjB9.Q2lGalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtWmxkR05vUm5Wc2JFTmhjblE9.DDqlsBM-2EEFainLo-pV7c4npkDuG9tn6PHOkSiJwnk="},{"name":"fetchMiniCart","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0TnpsYSxHbjVXX081eF9HR25zZU1CMmxuTm9GLE56Y3dOelUw","authorization":"eyJub25jZSI6Ik5EZ1NKQ3pMR1NEQ01iUTVTQ2h4eFBueEJiYkxROXBIeEtaN0dvUXhPRDRcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODc5LCJleHAiOjB9.Q2lGalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtWmxkR05vVFdsdWFVTmhjblE9.2F2-q9tTfEyK7Rm4SeSqkEolf5svWT-40G1iX5Y8Zrc="},{"name":"fetchPricingTiers","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0TnpsYSw4Y2tHYUptanBPVFluSDQ2ZmJ0b3BuLFlqVTRNelk0","authorization":"eyJub25jZSI6IlRDSGZkbXUzX1JFTU5uS2Y5LUNISFVReWtRaWtLdFpNSTFWbGluRjFtbmdcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODgwLCJleHAiOjB9.Q2lWalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtWmxkR05vVUhKcFkybHVaMVJwWlhKeg==.-sub6kN1Uc9ltcemr5n_jEUzudno4C-gznlWI8foj-U="},{"name":"getCartTotal","len":3,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RCYSxjNHpZd0RTSjJOTXlZWERYOTZKWE9KLE5UVmhNR1U0","authorization":"eyJub25jZSI6Ik9oQVJJUlBtTmNMSGVhLUw0cHhIYVRNNGJWMFc1dG51SUhHMHE2bURhWXNcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODgwLCJleHAiOjB9.Q2lCalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxtZGxkRU5oY25SVWIzUmhiQT09.4xd8j9h9mlV51xbzL6_shOkANYO1i6giR2SRMaxSbtI="},{"name":"performExtPriceValidation","len":3,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RGYSxUNFk4eGwxS2ItWkJHWWJrUnBEWGpiLE1ERTJPV1k0","authorization":"eyJub25jZSI6IlIzSWE2RUNDOXkyUk9NTUdiZW01eVhuN1A5ekFkR3RiUFFsS3hiQ3ltUGdcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODgxLCJleHAiOjB9.Q2kxalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxuQmxjbVp2Y20xRmVIUlFjbWxqWlZaaGJHbGtZWFJwYjI0PQ==.Gg89zEMudoUBifOOyGzNksqh8j-VC15Q4Hx3BxxitLM="},{"name":"removeCartItem","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RKYSxPamFGd08yMlBmcU1kZDRjMGNjWmpJLFkyWTVaVFkz","authorization":"eyJub25jZSI6Imhkam02RXA0SXBJTzZRZW15U0o2cmZVWXdodm5GbmluT1FDX25ldDd2RkFcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODgyLCJleHAiOjB9.Q2lKalkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxuSmxiVzkyWlVOaGNuUkpkR1Z0._85jC_SpzDnAIH_-fA_j_7zyvwLZOnpp31CGk1493zU="},{"name":"saveCart","len":4,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RKYSxEOTdZZG1meTFiMVVsQW91dElzQ015LE9UVXdZekEz","authorization":"eyJub25jZSI6InFTSHZxY0pFZC01S0hHZDhMUWVFZVg3bmYzZzByd1RWT0Ixb0JEQkdCZFFcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODgzLCJleHAiOjB9.Q2h4alkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxuTmhkbVZEWVhKMA==.XRWKSD-HBkMO2K9ajrhDwk3YWFo4mJbVOrW1jZbbv5o="},{"name":"updateCart","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0ROYSxlbmMtMXZiajAzMHBCRDdyeUhEb0E5LFpERTVPV1Ew","authorization":"eyJub25jZSI6Ii0zaDZvdHUtdmctSEllRlRZYU5SWHc3RUJWSlJEOGZmUG53bDVZTzlzemNcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODgzLCJleHAiOjB9.Q2g1alkzSjZMbU5qWDJOMGNteGZRMkZ5ZEZKRUxuVndaR0YwWlVOaGNuUT0=.LNqskAGgdmxC-gMw7MiwFsdlu0PQvFac3NF2EviyZ2A="}],"prm":1},"ccrz.cc_ctrl_FeaturedProductRD":{"ms":[{"name":"fetchFeaturedProducts","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RSYSw2N1YtRjMtQm9BM0cyMFBxNVItQ2UxLFpUTXlOalk0","authorization":"eyJub25jZSI6IjNzQTl0ZTE3OTRqQUhIRG0zc0VJR1RCVzVKTzZpQkg3X3U5SF90eEdiS2tcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODg0LCJleHAiOjB9.Q2pSalkzSjZMbU5qWDJOMGNteGZSbVZoZEhWeVpXUlFjbTlrZFdOMFVrUXVabVYwWTJoR1pXRjBkWEpsWkZCeWIyUjFZM1J6.e4XUiJVX_QnTgYJx_2cVIRKxBgjZ8FlQVkYyUrM63fw="},{"name":"fetchRelatedProducts","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RSYSxfNzRSYlpqRjR4a0pCQTlkTVEzbW9kLE1qSXpNelJo","authorization":"eyJub25jZSI6Ilo0cE95NEhKZERCbjFfUXNvbWdLNEpkcFJyNUhrU1V2N2UyeGU3blg5N3dcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODg1LCJleHAiOjB9.Q2pOalkzSjZMbU5qWDJOMGNteGZSbVZoZEhWeVpXUlFjbTlrZFdOMFVrUXVabVYwWTJoU1pXeGhkR1ZrVUhKdlpIVmpkSE09.OVYo9vwQS2Hq4oyDPuUFJzT8uJ6h8kUEwXb2yAh-GB8="}],"prm":1},"ccrz.cc_ctrl_Header":{"ms":[{"name":"forgotPassword","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RWYSx5aXBZX0FWQUN2and3eXFnc3NTbmhBLE56QXdObVl6","authorization":"eyJub25jZSI6Ilk5eGgwNTNlalJXZVJGbXdCaF9zWHZ2Nk5NMW83YVotaG1oRXJWYU4tRmNcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODg2LCJleHAiOjB9.Q2lKalkzSjZMbU5qWDJOMGNteGZTR1ZoWkdWeUxtWnZjbWR2ZEZCaGMzTjNiM0pr.MSLs53JzmzlAYOB5pioG6h_lO8JdlGmv1eWB39KnjkU="}],"prm":1},"ccrz.cc_ctrl_MenuBar":{"ms":[{"name":"getMenuJson","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RaYSxyUkE4VUdvVkxHMm9VbW1ENXlmV1FCLFpHTm1OalZo","authorization":"eyJub25jZSI6Il9IX0w5YlRUQW1fYUhjVlFHNlB2LTNTSUZ0V1o1VjZZaU5fVEFvQm0xdFVcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODg2LCJleHAiOjB9.Q2lCalkzSjZMbU5qWDJOMGNteGZUV1Z1ZFVKaGNpNW5aWFJOWlc1MVNuTnZiZz09.ABlrMf4pAWlrf6OOjq1P1q611mtCsLkbBb3taDAMSLs="}],"prm":1},"ccrz.cc_ctrl_promoRD":{"ms":[{"name":"fetchPromos","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RkYSx3YUZJQTdLaUU3eWVlOHo3Qjc0X0w3LFpXSXpNVFU0","authorization":"eyJub25jZSI6IkZLc2phQUhSVVdlTERaaVFaN3A1eVZCclIxSWdsYTcteUc2SXFtVGIwcVlcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODg3LCJleHAiOjB9.Q2lCalkzSjZMbU5qWDJOMGNteGZjSEp2Ylc5U1JDNW1aWFJqYUZCeWIyMXZjdz09.wX9UhYxlpGGXSh2ygIQWq0EtgCu3Uao7-dnTc3vK8cQ="}],"prm":1},"ccrz.cc_RemoteActionController":{"ms":[{"name":"addBulk","len":2,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RkYSxqTzM1ZE1ydGc5dndRc2llUlJSUGhiLE56SmpNVE14","authorization":"eyJub25jZSI6IlEzMXlaSkVSSlA5SWlTN0ZfeDY2S0YydVMxLU5GM3RBVXhfZ3NWeEs5X01cdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODg4LCJleHAiOjB9.Q2laalkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVZV1JrUW5Wc2F3PT0=.GkvWBDB35PBwzHyV0KJ5TL4XaFAH2i06HflyuVCJYWs="},{"name":"addConfigurationRemoteAction","len":5,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RoYSw1UWpyZ2MyTGFhUGpPOUxzanQ2TS14LFpqUTJaVGN3","authorization":"eyJub25jZSI6IlRlcjh4eWxpTThzSVZ6b2RZZ1ptOFNKaVdIb1pNSmx3QWNKRTB1bjlRWkVcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODg4LCJleHAiOjB9.Q2p0alkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVZV1JrUTI5dVptbG5kWEpoZEdsdmJsSmxiVzkwWlVGamRHbHZiZz09.tMRummNZ7Df3IZ7bZ93vTUvMWELP8hVNODRr-bDLxXM="},{"name":"addConfiguration","len":4,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RsYSw4a2dOTTdTelo1MXhxUkFRNnlqTTlRLFpURTNPREF3","authorization":"eyJub25jZSI6ImhBeU1NSnkzWG5FcV9IVGNnRnNaZlctcXJDcXBmUVdwbkZHdDdtT1FKbVlcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODg5LCJleHAiOjB9.Q2k5alkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVZV1JrUTI5dVptbG5kWEpoZEdsdmJnPT0=.25zYSrNBREACV3L13hXKmKVWEEXEAGS5I5fDsPJNtJg="},{"name":"addItem","len":7,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T0RsYSx5OWhkSnlnYjBldndFOWROZ3VVa2s5LE1XUmlZbVkx","authorization":"eyJub25jZSI6IkFhbDBUMmdrWk1FcWlYNnYyOTJ5eE82VXduRDc4YllJQUJHcV9HdzNMNm9cdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODkwLCJleHAiOjB9.Q2laalkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVZV1JrU1hSbGJRPT0=.bvuxYZvTofNOiT4GQFwCXE6_mzlV-AFl_3B75gjDlpM="},{"name":"getCartTotal","len":3,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T1RCYSxQdjhWMUV5aDdIZC1Yc1pzdFNWT2hqLFpEZG1OREF5","authorization":"eyJub25jZSI6IjZaUklTa0pnejZqVUpFMEIyWk01NFJ1TFMxV0d6SDg4TFhrUjduanVQLVVcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODkxLCJleHAiOjB9.Q2l0alkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVaMlYwUTJGeWRGUnZkR0Zz.rl3C7e1bu-xatDPowc5gOU90nukYqePJLf0thLxcBg8="},{"name":"getCategoryTreeJson","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T1RGYSxUVDduMFZvaUJZOWJxQVE4dWQxaDhmLFpHRTROemxs","authorization":"eyJub25jZSI6ImxVdjFBNklNWGozX0ljU2pGaFZEQVE5dU5PREw1OW9hT09zcDJnODhabW9cdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODkxLCJleHAiOjB9.Q2pKalkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVaMlYwUTJGMFpXZHZjbmxVY21WbFNuTnZiZz09.8G7DVOr8XBihcf_L8VLT4cbIp88_RsUxjwcoXza1FzE="},{"name":"getCountries","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T1RKYSxmcmg1aVY1T0d4SXYxZkdPY0NJYWZWLFlUZzBaRFl4","authorization":"eyJub25jZSI6InVWZ2cybG9HY2l2OWFIMzRRSmE0d1QwWHM4T2p5am1HblQtWGt5Wm9lcVlcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODkyLCJleHAiOjB9.Q2l0alkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVaMlYwUTI5MWJuUnlhV1Z6.4e26gBHOboooBkMRlSRRJPn4yR0lpqbPDpKUT-ivlKU="},{"name":"getCurrentUser","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T1RKYSxyS01ITVVIX0YyWU5fdC1sbnRKaFNYLFlqYzJOalUy","authorization":"eyJub25jZSI6IkE4V0xDRWItSHNkOUlfRVpTb1lZYk5mZW9ORUVLNmRlRkp0bFQ3Y3lCVG9cdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODkzLCJleHAiOjB9.Q2kxalkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVaMlYwUTNWeWNtVnVkRlZ6WlhJPQ==.SqCjyGSlXgXXdxotKWbBfu31W9XFQh5ruaVBKTFckgk="},{"name":"getHeaderInfo","len":1,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T1ROYSx1bkREakhmUXB4NDZzZzhHcEVnNDFVLFl6aGxNREV3","authorization":"eyJub25jZSI6IkxVbXdCcU84QnZEajFyYUNWMEVRV2hOU1U5V2ZncDkyYzJfY3h3Q0NGQ2NcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODk0LCJleHAiOjB9.Q2l4alkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVaMlYwU0dWaFpHVnlTVzVtYnc9PQ==.Q7kvNzSBTnttgKgRJ6uMHnx4VzejueiC5X4eFoXa2bk="},{"name":"getStates","len":0,"ns":"ccrz","ver":47.0,"csrf":"VmpFPSxNakF5TXkwd05DMHdNVlF3Tmpvek1qbzBNUzQ0T1RSYSxUUzBJSGlTbk1LX0l0LWpkOUxhR0w3LFl6aGtaRFZs","authorization":"eyJub25jZSI6IjVvb0JuOVNsX3NMZmNGX011ajduTm90WmtGRTQ4LWpVSlFFaExlOXJqRlVcdTAwM2QiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IntcInRcIjpcIjAwRHQwMDAwMDAwR3pHRVwiLFwidlwiOlwiMDJHdDAwMDAwMDAwWXp0XCIsXCJhXCI6XCJ2ZnJlbW90aW5nc2lnbmluZ2tleVwiLFwidVwiOlwiMDA1dDAwMDAwMDJtSmhzXCJ9IiwiY3JpdCI6WyJpYXQiXSwiaWF0IjoxNjgwMDcxNTYxODk0LCJleHAiOjB9.Q2loalkzSjZMbU5qWDFKbGJXOTBaVUZqZEdsdmJrTnZiblJ5YjJ4c1pYSXVaMlYwVTNSaGRHVno=.s_V94Dm-q_z5ohxTYLGDVZv2eQZ5k-JocRgUGRc9iug="}],"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="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:hib"> <script id="_fed_an_ua_tag" src="https://web.archive.org/web/20230329063241js_/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" style="text-decoration: none;" href="https://web.archive.org/web/20230329063241/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="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:hib:cc_Header:j_id8"> <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><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="/web/20230329063241cs_/https://shop.nist.gov/resource/1649697395000/ccrz__CCRZ_JS/v004/boot3/css/ccrz-libs.min.css"/> <script type="text/javascript" src="/web/20230329063241js_/https://shop.nist.gov/resource/1649697395000/ccrz__CCRZ_JS/v004/boot3/ccrz-libsh-min.js"></script> <script type="text/javascript" src="/web/20230329063241js_/https://shop.nist.gov/resource/1649697398000/ccrz__CC_Javascript_Framework/js/cc3-min.js"></script> <script type="text/javascript" src="/web/20230329063241js_/https://shop.nist.gov/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="/web/20230329063241cs_/https://shop.nist.gov/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/nist-component-library-2.0.47/dist/css/styles.css"/> <link type="text/css" rel="stylesheet" href="/web/20230329063241cs_/https://shop.nist.gov/resource/1663598225000/CC_Theme_NIST_NewStorefront_NISTComponentLibrary2047/css3/styles.css"/> <script type="text/javascript" src="/web/20230329063241js_/https://shop.nist.gov/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://web.archive.org/web/20230329063241/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__HomePage"; CCRZ.pagevars.currentPageURL = "https://web.archive.org/web/20230329063241/https://shop.nist.gov/ccrz__HomePage?refURL=https%3A%2F%2Fshop.nist.gov%2F"; 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> <meta content="SEO Description" name="description"/> <meta content="SEO Keywords" name="keywords"/> </head> <body class="cc_main_body"><span id="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id32"> <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; } }); </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://web.archive.org/web/20230329063241/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"><a href="/" title="Home" aria-label="Home">NIST Store</a></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"> <a href="/ccrz__CCSiteLogin?cclcl=en_US" class="usa-button usa-button--header">Sign-In/Register</a> </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="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm" name="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm" method="post" action="https://web.archive.org/web/20230329063241/https://shop.nist.gov/ccrz__HomePage?refURL=https%3A%2F%2Fshop.nist.gov%2F" class="phoneLoginForm" enctype="application/x-www-form-urlencoded"> <input type="hidden" name="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm" value="HomePage:cc_tmpl_TwoColRightRD: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(["HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm"]); if(typeof jsfcljs == 'function'){jsfcljs(document.forms['HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm'],'HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm:j_id38,HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm:j_id38','');}return false }</script><input id="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm:hdnUsername" type="hidden" name="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm:hdnUsername"/><input id="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm:hdnPassword" type="hidden" name="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm:hdnPassword"/><div id="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm:j_id848"></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="202303221824290891"/><input type="hidden" id="com.salesforce.visualforce.ViewStateMAC" name="com.salesforce.visualforce.ViewStateMAC" value="AGV5SnViMjVqWlNJNkltdHZkWEZxYW1WSUxYRlpibDlwTUcxdlgyRktVak5OWVdkblNtTnRhV0Z4V1VwamQwWm5YMXBXUlVGY2RUQXdNMlFpTENKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUlzSW10cFpDSTZJbnRjSW5SY0lqcGNJakF3UkhRd01EQXdNREF3UjNwSFJWd2lMRndpZGx3aU9sd2lNREpIZERBd01EQXdNREF3V1hwMFhDSXNYQ0poWENJNlhDSjJabk5wWjI1cGJtZHJaWGxjSWl4Y0luVmNJanBjSWpBd05YUXdNREF3TURBeWJVcG9jMXdpZlNJc0ltTnlhWFFpT2xzaWFXRjBJbDBzSW1saGRDSTZNVFk0TURBM01UVTJNVGcwTkN3aVpYaHdJam93ZlE9PS4uVlFmSlFDY0N2Y1l0Q3p2c0pFaUU2eTBZV3JCN2pLVkVtYl9IZklDeXlDMD0="/></span></span><span id="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id54" 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"><span id="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id149" style="display: none;"></span> <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_TwoColRightRD"> <div class="row"> <div class="col-md-3 cc_left_col"> <div class="effleft"></div> <div class="search-box-RightNav"></div> <div id="MyAccount_navSection"></div> <div class="minicart"></div> <div class="quick-order"></div> <div id="categories-right-nav"></div> <div class="filterContainer"></div> <div class="widgetSection"></div> <div class="promotion-box-LeftNav"></div> <div class="reorderContainer"></div> </div> <div class="col-md-9 cc_main_content_col"> <div class="effwig"></div> <div class="promotion-box-Banner"></div><span id="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id193:j_id194:j_id209" style="display: none;"></span> <div class="splash-promo-Desktop"></div><span id="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id193:j_id194:j_id214"> <div class="usa-alert usa-alert--info margin-top-0"> <div class="usa-alert__body"> <p class="usa-alert__text text-semibold"><p>NIST is currently unable to ship to Russia, Belarus, and Ukraine. As a result, we are not currently accepting or processing orders that require shipping to these countries.</p><p><b>Attention Calibration customers</b>: Note that the annual price change took effect on February 3rd 2023. Quotes obtained within 30 days prior to the price change will be placed with the previous FY22 price.</p><p><b>NOTE</b>: <b>For Standard Reference Material Orders</b>: Please select "Standard Reference Materials" above to browse available products, or search products by name, keywords or SRM number from the search bar.</p> </p> </div> </div> <h2>Featured Programs</h2> <div class="grid-row grid-gap-2 margin-top-4"> <div class="nist-card tablet:grid-col-4" id="CalibShow"> <div class="nist-card__inner padding-3 border-width-05"> <div class="nist-card__image"><svg height="100px" id="Layer_1" version="1.1" viewbox="0 0 100 82.4" width="120px" x="0" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" y="0"> <title id="rulerTitle">Ruler Icon</title> <desc id="rulerDesc">An illustrated ruler icon.</desc> <style> .st00 { fill: #005ea2; } </style> <path class="st00" d="M2.1 42.9C.1 44-.5 46.6.6 48.5l18.3 31.8c1.1 2 3.7 2.6 5.6 1.5l73.4-42.4c2-1.1 2.6-3.7 1.5-5.6L81.1 2.1C80 .1 77.4-.5 75.5.6L2.1 42.9zM9.8 48 76 9.8l14.2 24.6-4.8 2.8-5.3-9.2-3.5 2 5.3 9.2-5.5 3.2-5.3-9.2-3.6 2.1 5.3 9.2-5.5 3.2-5.3-9.2-3.6 2.1 5.3 9.2-5.5 3.2-7.3-13-3.5 2 7.4 12.8-5.5 3.2-5.3-9.2-3.6 2.1 5.3 9.2-5.5 3.2L35 54l-3.6 2.1 5.3 9.2-5.5 3.2-5.3-9.2-3.6 2.1 5.3 9.2-3.6 2L9.8 48z"></path> <a href="https://web.archive.org/web/20230329063241/https://shop.nist.gov/ccrz__ProductList?categoryId=a0lt00000013aClAAI&amp;cclcl=en_US"><rect fill="transparent" height="100px" width="100px" x="0" y="0"></rect></a> </svg></div> <div class="nist-card__title text-center padding-top-4"> <h3>Calibrations</h3> </div> <div class="nist-card__content"> <p> The calibration services of the National Institute of Standards and Technology (NIST) are designed to help the makers and users of precision instruments achieve the highest possible levels of measurement quality and productivity. </p> </div> <a class="usa-button usa-button--outline" href="ccrz__CCPage?pageKey=CI&amp;cclcl=en_US">See Calibration FAQs</a> </div> </div> <div class="nist-card tablet:grid-col-4" id="SRDShow"> <div class="nist-card__inner padding-3 border-width-05"> <div class="nist-card__image"><svg height="100px" id="Layer_1" version="1.1" viewbox="0 0 12 14" width="100px" x="0" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" y="0"> <title id="binarydocTitle">Binary Document Icon</title> <desc id="binarydocDesc">An illustrated binary document icon.</desc> <style> .st01 { fill-rule: evenodd; clip-rule: evenodd; fill: #005ea2; } </style> <path class="st01" d="m8.6.1 3.3 3.3.1.4v9.7l-.5.5H.5l-.5-.5V.5L.5 0h7.7l.4.1zM1 1v12h10V4L8 1H1zm1.5 4.1c0 1.2.4 1.9 1.3 1.9.5 0 .8-.2 1-.5.3-.4.5-.9.5-1.5 0-1.3-.4-2-1.3-2-.6 0-.9.2-1.2.5-.2.4-.3.9-.3 1.6zm.8-.1c0-.9.2-1.4.6-1.4.3 0 .5.4.5 1.3s-.2 1.4-.5 1.4c-.4 0-.6-.4-.6-1.3zm3.2 1.9h2.4v-.7h-.7V3l-1.7.3V4l.8-.2v2.4h-.8v.7zm-1.3 5H2.7v-.7h.8V8.8l-.8.2v-.7L4.4 8v3.2h.8v.7zm1-1.9c0 1.3.5 1.9 1.4 1.9.5 0 .8-.2 1.1-.5.2-.4.3-.9.3-1.5 0-1.3-.4-2-1.3-2-.5 0-.8.2-1.1.5-.3.4-.4.9-.4 1.6zm.9 0c0-.9.2-1.4.6-1.4.3 0 .4.4.4 1.3s-.1 1.4-.5 1.4-.5-.5-.5-1.3z"></path> <a href="https://web.archive.org/web/20230329063241/https://shop.nist.gov/ccrz__ProductList?categoryId=a0lt00000048oCsAAI&amp;cclcl=en_US"><rect fill="transparent" height="100px" width="100px" x="0" y="0"></rect></a> </svg></div> <div class="nist-card__title text-center padding-top-4"> <h3>Standard Reference Data</h3> </div> <div class="nist-card__content"> <p>For over 50 years, NIST has developed and distributed Standard Reference Data in Chemistry, Engineering, Fluids and Condensed Phases, Material Sciences, Mathematical and Computer Sciences and Physics.</p> </div> <a class="usa-button usa-button--outline" href="ccrz__CCPage?pageKey=SRDFAQ">See SRD FAQs</a> </div> </div> <div class="nist-card tablet:grid-col-4" id="SRMShow"> <div class="nist-card__inner padding-3 border-width-05"> <div class="nist-card__image"><svg height="100px" id="Layer_1" version="1.1" viewbox="0 0 24 24" width="100px" x="0" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" y="0"> <title id="labbeakerTitle">Lab Beaker Icon</title><desc id="labbeakerDesc">An illustrated lab beaker icon.</desc> <style type="text/css"> .st03 { fill: #005ea2; stroke: #005ea2; stroke-width: 0; stroke-miterlimit: 10; } </style> <path class="st03" d="M2 9h7.5c.3 0 .5.2.5.4v.8c0 .2-.2.4-.5.4H2v3h7.5c.3 0 .5.2.5.4v.8c0 .2-.2.4-.5.4H2v3h7.5c.3 0 .5.2.5.4v.8c0 .2-.2.4-.5.4H2v3c0 .5.9 1.2 2 1.2h16c1.1 0 2-.7 2-1.5V6H2v3zm20.5-9h-21C.7 0 0 .5 0 1.1v2.2c0 .7.7 1.2 1.5 1.2h21c.8 0 1.5-.5 1.5-1.1V1.1c0-.6-.7-1.1-1.5-1.1z"></path> <a href="https://web.archive.org/web/20230329063241/https://shop.nist.gov/ccrz__ProductList?categoryId=a0l3d0000005KjWAAU&amp;cclcl=en_US"> <rect fill="transparent" height="100px" width="100px" x="0" y="0"></rect> </a> </svg></div> <div class="nist-card__title text-center padding-top-4"> <h3>Standard Reference Materials</h3> </div> <div class="nist-card__content"> <p>NIST supports accurate and compatible measurements by certifying and providing over 1200 Standard Reference Materials&reg; with well-characterized composition or properties, or both.</p> </div> <a class="usa-button usa-button--outline" href="https://web.archive.org/web/20230329063241/https://www.nist.gov/srm">SRM Home Page</a> <a class="usa-button usa-button--outline" href="ccrz__CCPage?pageKey=CI&amp;cclcl=en_US">See SRM FAQs</a> <a class="usa-button usa-button--outline" href="ccrz__CCPage?pageKey=SRMArchive&amp;cclcl=en_US">Archived Certificates</a> </div> </div> </div></span> <div class="cart-template"></div> <div class="featured-prod"></div><span id="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id193:j_id194:j_id227"> <script> 聽 聽 CCRZ.uiProperties.miniCartView.desktop.tmpl = 'ccMiniCart-Desktop'; Handlebars.registerHelper('contains', function(needle, haystack, options) { needle = Handlebars.escapeExpression(needle); haystack = Handlebars.escapeExpression(haystack); return (haystack.indexOf(needle) > -1) ? options.fn(this) : options.inverse(this); }); Handlebars.registerHelper("incAdd", function(value, options) { return parseInt(value) + 1; }); 聽 聽 </script> &nbsp; &nbsp; <script id="ccMiniCart-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> <style> .cc_items { padding-top: 10px; justify-content: space-between; } .cc_items:first-child { padding-top: 0px; } </style> <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"><strong>{{pageLabelMap 'MiniCart_Product'}}</strong></div> <div class="col-xs-4 pull-right cc_qty"><strong>{{pageLabelMap 'MiniCart_Quantity'}}</strong></div> </div> {{#each this.cartItems}} <div class="row cc_items"> <div class="col-xs-8 cc_prod_name"> <span class="small cc_product_name_link gp_prod">SKU {{mockProduct.sku}}:</span><br/> {{#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> {{#ifEquals productR.programOffice 'SRD'}} {{#ifEquals productR.programProductType 'Online Database'}} <input id="qtyInput_{{this.itemID}}" type="text" readonly="true" name="qty" class="form-control input-sm input-text entry cc_input_sm" data-id= "{{this.itemID}}" value="{{this.quantity}}" maxlength="7" /> {{else}} {{#ifEquals productR.programProductType 'Site License'}} <input id="qtyInput_{{this.itemID}}" type="text" readonly="true" name="qty" class="form-control input-sm input-text entry cc_input_sm" data-id= "{{this.itemID}}" value="{{this.quantity}}" maxlength="7" /> {{else}} {{#ifEquals productR.programProductType 'Site License REFPROP'}} <input id="qtyInput_{{this.itemID}}" type="text" readonly="true" name="qty" class="form-control input-sm input-text entry cc_input_sm" data-id= "{{this.itemID}}" value="{{this.quantity}}" maxlength="7" /> {{else}} {{#contains "Setup Fee for" mockProduct.name }} <input id="qtyInput_{{this.itemID}}" type="text" readonly="true" name="qty" class="form-control input-sm input-text entry cc_input_sm" data-id= "{{this.itemID}}" value="{{this.quantity}}" maxlength="7" /> {{else}} <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" /> {{/contains}} {{/ifEquals}} {{/ifEquals}} {{/ifEquals}} {{else}} {{#contains "Setup Fee for" mockProduct.name }} <input id="qtyInput_{{this.itemID}}" type="text" readonly="true" name="qty" class="form-control input-sm input-text entry cc_input_sm" data-id= "{{this.itemID}}" value="{{this.quantity}}" maxlength="7" /> {{else}} {{#if mockProduct.quantityPurchaseLimit}} <input id="qtyInput_{{this.itemID}}" type="text" readonly="true" name="qty" class="form-control input-sm input-text entry cc_input_sm" data-id= "{{this.itemID}}" value="{{this.quantity}}" maxlength="7" /> {{else}} <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" /> {{/if}} {{/contains}} {{/ifEquals}} {{/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"><strong>{{pageLabelMap 'MiniCart_Total_Qty'}}</strong></div> <div class="col-xs-6 cc_total_price"><strong>{{pageLabelMap 'MiniCart_Total_Price'}}</strong></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> {{#ifEquals cartItemCount 1}} {{#each this.cartItems}} {{#ifEquals @index 0}} {{#if mockProduct.eligibleforQuote}} <div class="col-xs-6 cc_subtotal"><span class="cc_subtotal">TBD</span></div> {{else}} <div class="col-xs-6 cc_subtotal"><span class="cc_subtotal">{{price ../subTotal}}</span></div> {{/if}} {{/ifEquals}} {{/each}} {{else}} <div class="col-xs-6 cc_subtotal"><span class="cc_subtotal">{{price subTotal}}</span></div> {{#each this.cartItems}} {{#if mockProduct.eligibleforQuote}} <div class="col-xs-12 cc_quote"><span class="cc_quote">Item {{incAdd @index}}: Quote Requested</span></div> {{/if}} {{/each}} {{/ifEquals}} </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></span> </div> </div> </div> </div> <div class="container-fluid navbar-inverse cc_navbar-inverse"> <footer class="footer cc_footer"> <div class="footerBrowser cc_footer_browser"><span id="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id232"> <div class="row"><span id="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id232:cc_Footer:j_id234"> <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://web.archive.org/web/20230329063241/https://www.nist.gov/privacy-policy">Site Privacy</a> </li> <li class="nist-footer__menu-item"> <a href="https://web.archive.org/web/20230329063241/https://www.nist.gov/oism/accessibility">Accessibility</a> </li> <li class="nist-footer__menu-item"> <a href="https://web.archive.org/web/20230329063241/https://www.nist.gov/privacy">Privacy Program</a> </li> <li class="nist-footer__menu-item"> <a href="https://web.archive.org/web/20230329063241/https://www.nist.gov/oism/copyrights">Copyrights</a> </li> <li class="nist-footer__menu-item"> <a href="https://web.archive.org/web/20230329063241/https://www.commerce.gov/vulnerability-disclosure-policy">Vulnerability Disclosure</a> </li> <li class="nist-footer__menu-item"> <a href="https://web.archive.org/web/20230329063241/https://www.nist.gov/no-fear-act-policy">No Fear Act Policy</a> </li> <li class="nist-footer__menu-item"> <a href="https://web.archive.org/web/20230329063241/https://www.nist.gov/foia">FOIA</a> </li> <li class="nist-footer__menu-item"> <a href="https://web.archive.org/web/20230329063241/https://www.nist.gov/environmental-policy-statement">Environmental Policy</a> </li> <li class="nist-footer__menu-item "> <a href="https://web.archive.org/web/20230329063241/https://www.nist.gov/summary-report-scientific-integrity">Scientific Integrity</a> </li> <li class="nist-footer__menu-item "> <a href="https://web.archive.org/web/20230329063241/https://www.nist.gov/nist-information-quality-standards">Information Quality Standards</a> </li> <li class="nist-footer__menu-item"> <a href="https://web.archive.org/web/20230329063241/https://www.commerce.gov/">Commerce.gov</a> </li> <li class="nist-footer__menu-item"> <a href="https://web.archive.org/web/20230329063241/https://www.science.gov/">Science.gov</a> </li> <li class="nist-footer__menu-item"> <a href="https://web.archive.org/web/20230329063241/https://www.usa.gov/">USA.gov</a> </li> <li class="nist-footer__menu-item"> <a href="https://web.archive.org/web/20230329063241/https://vote.gov/">Vote.gov</a> </li> </ul> </div> </div> <div class="nist-footer__logo"> <a class="nist-footer__logo-link" href="https://web.archive.org/web/20230329063241/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="/web/20230329063241im_/https://shop.nist.gov/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 showCategories = true; var productList = function(categoryId) { document.location = CCRZ.pageUrls.productList + "?viewState=ListView&cartID=" + CCRZ.pagevars.currentCartID + "&categoryId=" + categoryId+getCSRQueryString(); } var productDetails = function(productId) { document.location = "/ccrz__ProductDetails?viewState=DetailView&cartID=" + CCRZ.pagevars.currentCartID + "&sku=" + productId+getCSRQueryString(); } var cartDetails = function() { document.location = "/ccrz__Cart?cartID=" + CCRZ.pagevars.currentCartID + getCSRQueryString(); } var orderDetails = function(orderId) { document.location = "/ccrz__OrderView" + CCRZ.buildQueryString("?o=" + orderId); }; jQuery(document).ready(function() { jQuery('.carousel-inner .item:first-child').addClass('active'); jQuery('.carousel').carousel(); }); </script><span id="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id240"> <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="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id243"> <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="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id299"> <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://web.archive.org/web/20230329063241/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="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id332"> <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="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id384"> <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="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id400"> <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="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id412"> <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="HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:j_id453"> <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: 'Landing Page'}, 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 id="splash-desktop-template" type="text/template"> {{#if this.Splash}} <div id="carousel-splash" class="carousel slide" data-ride="carousel"> <!--************--> <ol class="carousel-indicators"> {{#each this.Splash}} <li data-target="#carousel-splash" data-slide-to="{{@index}}"></li> {{/each}} </ol> <!--********************--> <div class="carousel-inner" role="listbox"> {{#each this.Splash}} <div class="item" data-id="{{@index}}"> <!--********************--> <!--*********************************--> {{#if this.sku}} {{productLink this 'center-block' image=(displayImage this 'center-block' alt=this.altMsg) promo=name}} <!--**********************************--> {{else}}{{#if this.categoryId}} {{categoryLink this 'center-block' image=(displayImage this 'center-block' alt=this.altMsg) promo=name}} <!--***************************************--> {{else}}{{#if this.externalLink}} <a href="{{decodeHTML this.externalLink}} " class="splashPromoLink" data-promo="{{name}}" {{#if this.isNewWindow}}target="_blank"{{/if}}> <img src="{{this.fullImageURL}}" alt="{{this.name}}" class="center-block" /> </a> <!--***************************************--> {{else}}{{#if this.noLink }} <img src="{{this.fullImageURL}}" alt="{{this.name}}" class="center-block" /> {{/if}}{{/if}}{{/if}}{{/if}} </div> {{/each}} </div> <!--**********--> <a class="left carousel-control" href="#carousel-splash" role="button" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> <span class="sr-only">{{pageLabelMap 'Splash_Previous'}}</span> </a> <a class="right carousel-control" href="#carousel-splash" role="button" data-slide="next"> <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> <span class="sr-only">{{pageLabelMap 'Splash_Next'}}</span> </a> </div> <br /> <!--**********************************************--> {{/if}} </script> <script> jQuery(function($) { "use strict"; CCRZ.models.SplashDispModel = CCRZ.CloudCrazeModel.extend({ className : "cc_ctrl_promoRD", fetch: function(callback) { var model = this; this.invokeCtx("fetchPromos", {location: 'Landing Page'}, function(response){ if(response && response.success){ model.set(model.parse(response.data)); callback(); }else{} }); } }); CCRZ.views.SplashDisp = CCRZ.CloudCrazeView.extend({ phoneTemplate : CCRZ.util.template(CCRZ.uiProperties.SplashDisp.phone.tmpl), deskTemplate : CCRZ.util.template(CCRZ.uiProperties.SplashDisp.desktop.tmpl), viewName : "PromoDisp", events : { "click .carousel-indicators li" : "slideToPromo" }, initialize : function(){ var view = this; this.model.fetch(function(){ view.render(); CCRZ.pubSub.trigger("view:"+view.viewName+":rendered", view); }); }, doRender : function (theTemplate, theSelector){ this.setElement(theSelector); this.$el.html(theTemplate(this.model.toJSON())); }, renderDesktop : function(){ this.doRender(this.deskTemplate, $(CCRZ.uiProperties.SplashDisp.desktop.selector)); this.doCarousel(); }, renderPhone : function(){ this.doRender(this.phoneTemplate, $(CCRZ.uiProperties.SplashDisp.phone.selector)); this.doCarousel(); }, doCarousel : function(){ $('.carousel-inner .item:first-child').addClass('active'); $('.carousel-indicators li:first-child').addClass('active'); $('#splashCarousel').on('slid', function(event) { var idx = $('.carousel-inner .active').data('id'); $('.carousel-indicators li').removeClass('active'); $('.carousel-indicators li[data-slide-to="' + idx + '"]').addClass("active"); }); $('.carousel').carousel(); }, slideToPromo : function(event){ var idx = $(this).data("slide-to"); $('#splashCarousel').carousel(idx); $('.carousel-indicators li').removeClass('active'); $('.carousel-indicators li[data-slide-to="' + idx + '"]').addClass("active"); } }); CCRZ.splashModel = new CCRZ.models.SplashDispModel(); CCRZ.splashView = new CCRZ.views.SplashDisp({ model : CCRZ.splashModel }); }); </script><script src="/web/20230329063241js_/https://shop.nist.gov/ccrz__PageLabels?storefront=DefaultStore&amp;pageName=HomePage&amp;userLocale=en_US&amp;pageKey=&amp;trg=" type="text/javascript"></script><script type="text/javascript" src="/web/20230329063241js_/https://shop.nist.gov/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(["HomePage:cc_tmpl_TwoColRightRD:cc_tmpl_Storefront:phoneLoginForm"]); });</script><!-- FILE ARCHIVED ON 06:32:41 Mar 29, 2023 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 11:44:41 Feb 28, 2025. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.667 exclusion.robots: 0.033 exclusion.robots.policy: 0.023 esindex: 0.021 cdx.remote: 9.321 LoadShardBlock: 2453.16 (6) PetaboxLoader3.datanode: 2336.076 (8) PetaboxLoader3.resolve: 145.246 (3) load_resource: 123.909 loaddict: 39.994 -->

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