ADD To CART - Freestyle Sublimation Document



ADD To CART - Freestyle Sublimation DOCUMENTATION



IFRAME EMBED Plugin code:

<div id="loaderAlign"> <div class="loader"></div> </div> <div id="iframediv" style="display: none;height: 2905px;min-height: 600px;"> <iframe id="myIframe" scrolling="no" height="100%" width="100%" src="https://www.augustasportswear.com/custom-sublimation"> </iframe> </div> <style> body, html { overflow: initial !important; overscroll-behavior: initial !important; } .store-front { height: auto !important; } #loaderAlign{ height: 100vh; display: flex; justify-content: center; align-items: center; } .loader { border: 16px solid #f3f3f3; border-radius: 50%; border-top: 16px solid #3498db; width: 120px; height: 120px; -webkit-animation: spin 2s linear infinite; /* Safari */ animation: spin 2s linear infinite; } /* Safari */ @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } </style> <script type="text/javascript"> var asbFSPluginVersion = "20230421-1300"; var pageUrl = location.href; var domainUrl = document.domain; var pageQuery = null; var iframeHasSameDomainUrl = true; var sublimationUrl = 'custom-sublimation'; var headwearUrl = 'freestyle-custom-headwear'; var sublimationType ='sublimation'; var headwearType ='headwear'; var defaultConfig = { 'discount' : 5, 'addlLeadTime' : 2, 'moq':6, 'moqPrice':60 }; var categoryArray = [ {'name' : 'fanwear', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'lacrosse', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'baseball', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'basketball', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'soccer', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'football', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'fleece', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'track', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'training', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'softball', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'polo', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : '5-day-turbo', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'volleyball', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'babe-ruth-turbo', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'accessories', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'compression', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'semi-sublimated', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'default-page', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':sublimationType }, {'name' : 'search-display-view-tags', 'tag' : 'search-display-view-tags', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice }, {'name' : 'search-display-view-term', 'searchTerm' : 'search-display-view-tags', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice }, {'name' : 'custom-headwear', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'styles', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'running-hats', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'beanies-knits', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'camo-hats', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'on-field-hats', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'lifestyle-outdoor-hats', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'sideline-coaches-hats', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'trucker-hats', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'visors', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'boonie-hats', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'features', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'flexfit-hats', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'snapback-hats', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'structured-hats', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType }, {'name' : 'unstructured-hats', 'discount' : defaultConfig.discount, 'addlLeadTime' : defaultConfig.addlLeadTime,'moq':defaultConfig.moq, 'moqPrice':defaultConfig.moqPrice, 'type':headwearType } ]; var categoryShareMapper = { 'fanwear' : 'fanwear', 'lacrosse' : 'lacrosse', 'baseball' : 'baseball', 'basketball' : 'basketball', 'soccer' : 'soccer', 'football' : 'football', 'fleece' : 'fleece', 'outerwear' : 'fleece', 'track' : 'track', 'training' : 'training', 'softball' : 'softball', 'polos' : 'polo', 'turbo' : '5-day-turbo', 'volleyball' : 'volleyball', 'babe ruth turbo' : 'babe-ruth-turbo', 'masks, gaiters,' : 'accessories', 'compression' : 'compression', 'semi-sublimated' : 'semi-sublimated', 'freestyle sublimation' : 'default-page', 'search-display-view-tags' : 'search-display-view-tags', 'search-display-view-term' : 'search-display-view-term', 'custom headwear': 'custom-headwear', 'styles': 'styles', 'active/lightweight': 'running-hats', 'beanies': 'beanies-knits', 'camo': 'camo-hats', 'on-field': 'on-field-hats', 'outdoor': 'lifestyle-outdoor-hats', 'sideline': 'sideline-coaches-hats', 'truckers / mesh back': 'trucker-hats', 'visors': 'visors', 'wide brim / boonie': 'boonie-hats', 'features': 'features', 'flexfit': 'flexfit-hats', 'snapback': 'snapback-hats', 'structured': 'structured-hats', 'unstructured': 'unstructured-hats' }; window.onmessage = (e) => { var data = e.data.toString(); if(e.data.domainUrl){ iframeHasSameDomainUrl = false; pageUrl = e.data.pageUrl; pageQuery = e.data.pageQuery; var domain = e.data.domainUrl; domainUrl = domain.replace(/^https?:\/\//,''); setIframeSrc(); var iframeSrc = getIframeSrc(); } if (data.indexOf('asgIframeHeight') > -1) { var iframeHeight = e.data.split(":"); document.getElementById('iframediv').style.height = iframeHeight[1] + 'px'; } if (data.indexOf('reLoadIframe') > -1) { //document.getElementById("showSummary").style.display = "none"; setIframeSrc(); } if (data.indexOf('scrollToTop') > -1) { window.scrollTo({ top: 0, left: 0, behavior: 'smooth' }); } if (data.indexOf('asgPageName') > -1) { var pageName = e.data.split(":"); if (pageName[1] == 'configurator') document.getElementById("myIframe").setAttribute("scrolling", "yes"); else { document.getElementById("myIframe").setAttribute("scrolling", "no"); } } if (data.indexOf('cartData') > -1) { var queryString = getCurrentUrlParams(); var categoryName = queryString['categoryName']; if(categoryName){ categoryName = categoryName.toLowerCase(); } else { categoryName = 'freestyle sublimation'; } var path = location.origin+location.pathname; var obj = data.split("#"); let objList = obj[1]; localStorage.setItem("cartObject",objList); localStorage.setItem("cartCategoryName", categoryName); localStorage.setItem("cartPath", path); window.location='/cart'; } }; document.querySelector('#myIframe').addEventListener("load", e => { sendParentHeightToChild(); }) function sendParentHeightToChild() { var child = document.getElementById("myIframe").contentWindow; var elemTop = document.getElementById("iframediv").offsetTop; var windowHeight = document.documentElement.clientHeight || document.body.clientHeight || window.innerHeight; var calcHeight = windowHeight - elemTop; if (child.postMessage) { child.postMessage("parentHeight:" + calcHeight, '*'); child.postMessage("parentDomain:" + domainUrl, '*'); } } function sendDataToChild() { var child = document.getElementById("myIframe").contentWindow; if (child.postMessage) { child.postMessage("loadNextPageIframe", '*'); } } function getFullUrl (){ var searchLocation = false; if(window.location){ if(window.location.search){ if(window.location.search.substr(1)){ searchLocation = true; } } } if(searchLocation){ return window.location.search.substr(1); } else { var baseUrl = window.document.baseURI; var baseUrlData = baseUrl.split("?"); if(baseUrlData[1] != undefined){ return baseUrlData[1]; } return ""; } } function getCurrentUrlParams () { if(iframeHasSameDomainUrl === false){ return pageQuery; } else { var operator = '&'; var getUrl = getFullUrl(); var queryString = (function(params) { if (params === "") return {}; var obj = {}; for (var i = 0; i < params.length; ++i) { var value = params[i].split('=', 2); if (value.length === 1) obj[value[0]] = ""; else obj[value[0]] = decodeURIComponent(value[1].replace(/\+/g, " ")); } return obj; })(getUrl.split(operator)); return queryString; } } function findIndex(arr) { var selectedIndex = 0; for (i = 0; i < arr.length; i++) { var ele = arr[i]; var designLineFullImage = ele.designLineFullImage; var designLineFullImageArray = designLineFullImage.split("/"); var designLineFullImageArrayLength = designLineFullImageArray.length - 1; var imageName = designLineFullImageArray[designLineFullImageArrayLength]; if(imageName && (imageName != "null")){ selectedIndex = i; break; } } return selectedIndex; } function setIframeSrc () { var queryString = getCurrentUrlParams(); if(validate(queryString,'styleId')){ var styleId = queryString['styleId']; var ajaxUrl = "https://n4nf1c.a.searchspring.io/api/search/autocomplete.json?siteId=n4nf1c&q="+styleId+"&resultsPerPage=1&resultsFormat=native&filter.is_search_enabled=true"; var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var resultObj = JSON.parse(this.responseText); var results = resultObj.results; var result = results[0]; var product_category = result.product_category; var colorImages = result.color_images; var colorImagesObj = colorImages.replace(/&quot;/g, '"'); var colorImagesArray = JSON.parse(colorImagesObj); var currentIframeUrl = document.getElementById('myIframe').src; if(product_category == "Sublimated"){ var index = findIndex(colorImagesArray); var childColorImage = colorImagesArray[index]; var designLineEntites = childColorImage.designLineName; var designLine = encodeURI(designLineEntites.toLowerCase()); var designLinePartNumber = childColorImage.designLinePartNumber; var designLinePartNumberArray = designLinePartNumber.split("."); var partNumber = designLinePartNumberArray[0]; var designLineFullImage = childColorImage.designLineFullImage; var designLineFullImageArray = designLineFullImage.split("/"); var designLineFullImageArrayLength = designLineFullImageArray.length - 1; var imageName = designLineFullImageArray[designLineFullImageArrayLength]; var imageNameArray = imageName.split("_"); var sNumber = imageNameArray[0]; var sNumberValue = sNumber.slice(1); var designLineLowerEntites = designLineEntites.toLowerCase(); var designLineEntitesArray = designLineLowerEntites.split(" "); for (var i = 0; i < designLineEntitesArray.length; i++) { designLineEntitesArray[i] = designLineEntitesArray[i].charAt(0).toUpperCase() + designLineEntitesArray[i].slice(1); } var designLineFormatted = designLineEntitesArray.join(" "); var encodedDesignLineEntites = encodeURI(designLineFormatted) var iNumber = styleId+"_"+encodedDesignLineEntites+"_"+sNumberValue; replaceText = 'Configurator'; currentIframeUrl = currentIframeUrl + "?storeId=10251&catalogId=10151&langId=-1&configuratorType=uniforms&partNumber="+partNumber+"&iNumber="+iNumber+"&designLine="+designLine; }else if(product_category == "Stock"){ var childColorImage = colorImagesArray[0]; var colorCOde = childColorImage.colorCode; replaceText = 'CapConfigurator'; currentIframeUrl = currentIframeUrl + "?storeId=10251&catalogId=10601&langId=-1&partNumber="+styleId+"&capColorCode="+colorCOde; } if(defaultConfig.discount){ currentIframeUrl += "&discount="+defaultConfig.discount } if(defaultConfig.addlLeadTime){ currentIframeUrl += "&addlLeadTime="+defaultConfig.addlLeadTime } if(defaultConfig.moq){ currentIframeUrl += "&moq="+defaultConfig.moq } if(defaultConfig.moqPrice){ currentIframeUrl += "&moqPrice="+defaultConfig.moqPrice } var url = currentIframeUrl.split('?'); var urlArray = url[0]; var urlHrefArray = urlArray.split('/'); var urlHrefReplaceEntity = urlHrefArray[urlHrefArray.length -1]; url[0] = urlArray.replace(urlHrefReplaceEntity, replaceText); var newUrl = url.join('?'); var href = new URL(newUrl); var generatedUrl = href.toString(); document.getElementById('myIframe').src = generatedUrl; setTimeout(function(){ document.getElementById("iframediv").style.display = "block"; document.getElementById("loaderAlign").style.display = "none"; }, 1000); } }; xhttp.open("GET", ajaxUrl, true); xhttp.send(); }else { var url = getIframeSrc(); if(url) { document.getElementById('myIframe').src = url; }else { var iframe = document.getElementById('myIframe'); iframe.src = iframe.src; } setTimeout(function(){ document.getElementById("iframediv").style.display = "block"; document.getElementById("loaderAlign").style.display = "none"; }, 1000); } } function validate (queryString, type) { if(queryString){ if(queryString[type]){ return true; } return false; } return false; } function getIframeSrc () { var queryString = getCurrentUrlParams(); if(validate(queryString,'categoryName')){ var categoryName = queryString['categoryName']; return generateUrl((categoryName.toLowerCase()).trim(), true) } else if(validate(queryString,'searchTerm')){ var searchTerm = queryString['searchTerm']; return generateUrl('search-display-view-term', false) } else if(validate(queryString,'tag')){ var tag = queryString['tag']; return generateUrl('search-display-view-tags', false) } else { var currentURL = pageUrl; var url = currentURL.split("?"); var urlArray = url[0]; var urlHrefArray = urlArray.split('/'); var categoryName = null; urlHrefArray.forEach(function(urlEntity) { categoryArray.forEach(function(category){ if( (urlEntity.toLowerCase()).trim() === ((category.name).toLowerCase()).trim() ){ categoryName = ((category.name).toLowerCase()).trim(); } }) }) return generateUrl(categoryName); } } function isConfiguratorPage () { var queryString = getCurrentUrlParams(); if(validate(queryString,'sNumber')){ return true; } return false; } function isCapConfiguratorPage () { var queryString = getCurrentUrlParams(); if(validate(queryString,'dNumber')){ return true; } return false; } function checkCategory (categoryName) { const category = categoryArray.filter((item) => item.name === categoryName); if(category.length){ return true; } return false; } const getType = (value, categoryName) => { if(categoryName){ let category = categoryShareMapper[categoryName]; let categoryObj = categoryArray.filter(function(obj){ if(category == obj.name){ return obj; } }) let type = categoryObj.length && categoryObj[0] && categoryObj[0].type ? categoryObj[0].type : null; if (type == headwearType) return headwearUrl; else return sublimationUrl; } else { if (value == headwearType) return headwearUrl; else return sublimationUrl; } } function generateUrl(categoryName, isCategoryName){ var currentIframeUrl = document.getElementById('myIframe').src; var queryString = getCurrentUrlParams(); var replaceText = sublimationUrl; let fetchType = validate(queryString,'type') ? queryString['type'] : null; var embedType = getType(fetchType, categoryName) replaceText = embedType; if(categoryName){ if(categoryName.toLowerCase() == 'freestyle sublimation'){ categoryName = 'default-page'; }else if(categoryName.toLowerCase() == 'custom headwear'){ categoryName = 'custom-headwear'; }else { replaceText = embedType+'-'+categoryName; } if(isConfiguratorPage()){ replaceText = 'Configurator'; categoryName = categoryShareMapper[categoryName]; }else if(isCapConfiguratorPage()){ replaceText = 'CapConfigurator'; categoryName = categoryShareMapper[categoryName]; } else if(!isCategoryName) { replaceText = 'SearchDisplayView'; categoryName = categoryShareMapper[categoryName]; } else if( (categoryName === '5-day-turbo') || (categoryName === 'semi-sublimated') ) { replaceText = categoryName; } else if(!checkCategory(categoryName)) { if(fetchType == headwearType){ categoryName = 'custom-headwear'; replaceText = headwearUrl; }else { categoryName = 'default-page'; replaceText = sublimationUrl; } } } else{ if(fetchType == headwearType){ categoryName = 'custom-headwear'; }else { categoryName = 'default-page'; } if(isConfiguratorPage()){ categoryName = 'default-page'; replaceText = 'Configurator'; } else if(isCapConfiguratorPage()){ categoryName = 'custom-headwear'; replaceText = 'CapConfigurator'; } } var Index = categoryArray.findIndex(x => ((x.name).toLowerCase()).trim() === categoryName ); var categoryObj = categoryArray[Index]; var url = currentIframeUrl.split('?'); var urlArray = url[0]; var paramsArray = url[1]; var urlHrefArray = urlArray.split('/'); var urlHrefReplaceEntity = urlHrefArray[urlHrefArray.length -1]; url[0] = urlArray.replace(urlHrefReplaceEntity, replaceText); var newUrl = url.join('?'); var href = new URL(newUrl); var categoryObjLength = Object.keys(categoryObj).length; if(categoryObjLength) { Object.keys(categoryObj).forEach(function(key){ href.searchParams.delete(key); if(key == 'tag'){ value = queryString['tag'] href.searchParams.set(key, value); }else if(key == 'searchTerm'){ value = queryString['searchTerm'] href.searchParams.set(key, value); } else{ href.searchParams.set(key, categoryObj[key]); } }) } if(isConfiguratorPage() || isCapConfiguratorPage()){ Object.keys(queryString).forEach(function(key){ href.searchParams.delete(key); href.searchParams.set(key, queryString[key]); }) } return href.toString(); } function isScrolledIntoView() { var elem = document.getElementById("iframediv"); var docViewTop = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop; var windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; var docViewBottom = docViewTop + windowHeight; var elemTop = elem.offsetTop; var elemBottom = elemTop + elem.offsetHeight; return ((elemBottom <= docViewBottom)); } if (typeof $ !== "undefined"){ if($(document).ready) {$(document).ready(pageLoad, false);} else {document.addEventListener('load', pageLoad, false);} }else{ if (window.attachEvent) {window.attachEvent('onload', pageLoad);} else if (window.addEventListener) {window.addEventListener('load', pageLoad, false);} else {document.addEventListener('load', pageLoad, false);} } function pageLoad() { setIframeSrc(); window.onscroll = function() { if (isScrolledIntoView()) { sendDataToChild(); } }; } </script>
ADD TO CART Page code:
Cart Page code:

<style> body { overflow-x: hidden; letter-spacing: 1px; } body { margin: 0; padding: 0; color: #4d4d4d; font-family: sans-serif; line-height: 1.4; } .row{ margin: 0; } html, body, a, p { font: 400 normal 12px/14px "AvenirNextN","Helvetica Neue",Helvetica,sans-serif; } .noItem{ padding: 16px; text-align: center; } a { color: inherit; cursor: pointer; text-decoration: none; } .asgCheckoutFlow { width: 90%; margin: 0 auto; } .container_content_rightsidebar { padding: 0 16px; overflow: hidden; box-sizing: border-box; } .asgCheckoutFlow>.rowContainer>.row>.asgLeftCol { width: 100%; } .asgLeftCol { margin-top: 30px; } .cartItemHeader { border-bottom: 1px solid #000; } .col6 { width: 50%; } .asgCheckoutFlow .cartItemHeader h2 { margin: 0; border: 0; padding-bottom: 10px; display: inline-block; } .asgCheckoutFlow h2 { color: #000; margin-top: 15px; text-transform: uppercase; font-size: 18px; border-bottom: 1px solid #bcbcbc; margin-bottom: 15px; } span#orderQuantity { font-size: 16px; font-weight: bold; color: black; position: relative; margin-left: 5px; } #order_details { clear: both; padding-bottom: 10px; } #order_details .tr.cart_data { border-bottom: 1px solid #ddd; padding: 14px 14px 0 14px; } .subCartEdit { display: flex; float: right; align-items: center; } .subCartEdit a { text-decoration: underline; font-size: 12px; text-transform: uppercase; } .asgActionLists.sublimated.removeItem { margin-left: 15px; padding-top: 5px; } .orderItemDelete { top: 0; right: 0; width: 17px; position: relative; } .shopping_cart_box #order_details .th_align_left_normal { border-bottom: 0; } #order_details .th_align_left_normal { min-width: 120px; border-bottom: 2px dotted #e5e5e5; font-weight: normal; padding: 6px 0; text-align: left; vertical-align: top; } .tr.cart_data .cart_product { width: 100%; overflow: hidden; padding: 0; } #order_details div img{ width: 49%; } #order_details .img { float: left; } .cart_data .td.cart_product>.img { width: 20%; margin-right: 1%; margin-bottom: 1%; } .tr.cart_data .cart_product .img { border: 1px solid #ccc; padding: 5px; } p, a { line-height: 1.7em; } .asgCheckoutFlow .cartItemDetails { float: right; width: 75%; } .asgCheckoutSubTitle, .asgCheckoutSubTitle a, .asgCheckoutFlow h3 { font-size: 14px; text-transform: uppercase; color: #000; font-family: "AvenirNextB"; line-height: 1.2em; } .subCartDetBlock { float: left; width: 48%; } .asgCheckoutFlow dl { padding: 5px 0; color: #000; font-size: 12px; } .asgCheckoutFlow dt { float: left; clear: left; text-align: left; text-transform: uppercase; white-space: nowrap; color: #000; } .asgCheckoutFlow dd { margin: 0 0 0 110px; padding: 0 0 .5em 0; color: #000; font-family: "AvenirNextB"; } .subCartSpacer { height: 40px; } .subCartQtyBox { display: flex; margin-bottom: 5px; float: right; width: 51%; font-size: 12px; } .subCartQtyBox .size { min-width: 50px; } .subCartQtyBox .price { margin: 0 8px 0 8px; min-width: 60px; } .subCartQtyBox .multi { margin: 0 10px 0 0; } .subCartQtyBox .qty { display: flex; flex-direction: column; } .subCartQtyBox .qty .box { min-width: 40px; } </style> <div class="container_content_rightsidebar shop_cart asgCheckoutFlow"> <div class="rowContainer"> <div class="row"> <div class="col8 ccol9 dcol12 acol12 asgLeftCol"> <div class="row cartItemHeader"> <div class="col6 acol12 dcol12"> <div class="orderQty"> <h2>Cart:</h2> <span id="orderQuantity"></span> </div> </div> </div> <div class="shopping_cart_box"> <div id="order_details"> </div> </div> </div> </div> </div> </div> <script> var asbFSPluginVersion = "20220310-1300"; var totalItems = 0; var styleNumber = null; var divData = ""; var noData = "Empty Cart ( No items added in Cart )"; var obj = []; var totalItem = ""; if(localStorage.getItem("cartArray")){ var arraData = localStorage.getItem("cartArray"); obj = JSON.parse(arraData); } if(localStorage.getItem("cartCategoryName")){ var data = localStorage.getItem("cartObject"); var categoryName = localStorage.getItem("cartCategoryName"); var path = localStorage.getItem("cartPath"); var parseData = JSON.parse(data); var rosterArray = []; var bottomArray = {}; var topArray = {}; var bottomRoster = []; var topRoster = []; bottomArray.styleNumber = parseData.bottomStyle; bottomArray.ProductDesignLine = parseData.bottomDesignLine; bottomArray.productImage = parseData.bottomImage; bottomArray.title = parseData.bottomName; bottomArray.leadTime = parseData.bottomProductLeadTime; bottomArray.total = parseData.totalBottomRoster; topArray.styleNumber = parseData.style; topArray.ProductDesignLine = parseData.designLine; topArray.productImage = parseData.image; topArray.title = parseData.topName; topArray.leadTime = parseData.topProductLeadTime; topArray.total = parseData.totalRoster; parseData.rosterData.forEach( (roster) => { if(roster.bottomStyleId == parseData.bottomStyle){ var bottomObj = {}; bottomObj.partNumber = roster.bottomPartNumber; bottomObj.price = roster.bottomPrice; bottomObj.quantity = roster.bottomQuantity; bottomObj.size = roster.bottomSize; bottomObj.styleId = roster.bottomStyleId; bottomRoster.push(bottomObj); } else if(roster.styleId == parseData.bottomStyle){ var bottomObj = {}; bottomObj.partNumber = roster.partNumber; bottomObj.price = roster.price; bottomObj.quantity = roster.quantity; bottomObj.size = roster.size; bottomObj.styleId = roster.styleId; bottomRoster.push(bottomObj); } if(roster.styleId == parseData.style){ var topObj = {}; topObj.partNumber = roster.partNumber; topObj.price = roster.price; topObj.quantity = roster.quantity; topObj.size = roster.size; topObj.styleId = roster.styleId; topRoster.push(topObj); } }); bottomArray.rosterData = bottomRoster; topArray.rosterData = topRoster; obj = obj.filter(function(item){ return item['style'] != parseData.style }); rosterArray = parseData; rosterArray['top'] = topArray; rosterArray['bottom'] = bottomArray; rosterArray.categoryName = categoryName; rosterArray.pagepath = path; obj.push(rosterArray); localStorage.setItem("cartArray",JSON.stringify(obj)); localStorage.removeItem("cartObject"); localStorage.removeItem("cartCategoryName"); localStorage.removeItem("cartPath"); } if(obj.length){ obj.forEach((cart) => { var totalRoster = 0; if(cart.totalRoster && cart.totalBottomRoster){ totalRoster += cart.totalRoster; totalRoster += cart.totalBottomRoster; }else if(cart.totalRoster){ totalRoster += cart.totalRoster; }else { totalRoster += cart.totalBottomRoster; } totalItems +=totalRoster var editLink = cart.pagepath+'?sNumber='+cart.refNum+'&pin='+cart.hashedPin+'&categoryName='+cart.categoryName+'&isCartEdit=true'; divData +='<div class="tr cart_data" id="'+cart.style+'">'; divData +='<div class="subCartEdit">'; var conversionStyleSwatch = cart.conversionStyleSwatch; var conversionStyleSwatchArray = Object.entries(conversionStyleSwatch); if(conversionStyleSwatchArray.length) { divData +='<select class = "dropdown" onchange=redirectToIframe(this.value)>'; divData +='<option value = "" selected>Add Other Size</option>'; for (var key in conversionStyleSwatchArray) { var item = conversionStyleSwatchArray[key]; var name = item[1]; var value = item[0]; var itemLink = cart.pagepath+"?sNumber="+cart.refNum+"&PartNumber="+value+'&categoryName='+cart.categoryName; divData +='<option value = "'+itemLink+'">'+name+'</option>'; } divData +='</select>'; } divData +='&nbsp;&nbsp;'; divData +='<a class="order_link hover_underline tlignore" href="'+editLink+'">Edit</a>'; divData +='<div class="asgActionLists sublimated removeItem">'; divData +="<a class='remove_address_link hover_underline tlignore' href='javaScript:void(0);' onclick='deleteProduct(\""+cart.style+"\", \""+totalRoster+"\")' >"; divData +='<img class="orderItemDelete" src="https://static.augustasportswear.com/static/Sub_Icon_Remove_B2B.png" alt="">'; divData +='</a>'; divData +='</div>'; divData +='</div>'; if(cart.totalRoster && cart.totalBottomRoster){ divData +=layout(cart,cart.top, editLink, 'top'); divData +=layout(cart,cart.bottom, editLink, 'bottom'); }else if(cart.totalRoster){ divData +=layout(cart,cart.top, editLink, 'top'); }else{ divData +=layout(cart,cart.bottom, editLink, 'bottom'); } divData +='</div>'; }); } else { divData +='<div class="tr noItem">'+noData+'</div>'; } if(totalItems > 1) { totalItem = totalItems + " Items"; } else { totalItem = totalItems + " Item"; } document.getElementById("orderQuantity").innerHTML = totalItem; document.getElementById("order_details").innerHTML = divData; function redirectToIframe(value) { window.location=value; } function deleteProduct(id, quantity){ obj = obj.filter(function(item){ return item['style'] != id }); localStorage.setItem("cartArray",JSON.stringify(obj)); document.getElementById(id).remove(); totalItems = totalItems - quantity; if(totalItems > 1) { totalItem = totalItems + " Items"; } else { totalItem = totalItems + " Item"; divData ='<div class="tr noItem">'+noData+'</div>'; document.getElementById("order_details").innerHTML = divData; } document.getElementById("orderQuantity").innerHTML = totalItem; } function layout(obj, cart, editLink, type) { console.log(type); var divData = ""; divData +='<div class="th_align_left_normal td cart_product">'; divData +='<div class="img" >'; divData +='<a href="javaScript:void(0);" title="">'; divData +='<img alt="" src="'+cart.productImage.frontImage+'">'; divData +='<img alt="" src="'+cart.productImage.backImage+'"/>'; divData +='</a>'; divData +='</div>'; divData +='<div class="cartItemDetails"> '; divData +='<div class="asgCheckoutSubTitle">'; divData +='<a class="hover_underline" href="'+editLink+'">'+cart.title; divData +='</a>'; divData +='</div>'; divData +='<div class="subCartDetBlock">'; var rushAdded = "NO"; var customLogo = "NO"; var customLogoPrice = 0; if(obj.isRushAdded){ rushAdded = "YES - "+obj.currencySymbol+(obj.rushPrice).toFixed(2)+" ea."; } if(type == 'top') { if( (obj.hasCustomMascot == true && obj.hasRasterImage == true && obj.hasVectorImage == true && type != 'bottom') || (obj.bottomHasCustomMascot == true && obj.bottomHasRasterImage == true && obj.bottomHasVectorImage == true && type == 'bottom')){ customLogo = "Yes - Raster & Vector "; if(obj.hasCDL != true && obj.custom_mascot_raster_price !=0 && obj.custom_mascot_raster_price != null){ customLogoPrice = obj.custom_mascot_raster_price; customLogo += obj.currencySymbol+customLogoPrice.toFixed(2)+" ea."; } else if(obj.hasCDL != true && obj.mockup_custom_mascot_raster_price !=0 && obj.mockup_custom_mascot_raster_price != null) { customLogoPrice = obj.mockup_custom_mascot_raster_price; customLogo += obj.currencySymbol+customLogoPrice.toFixed(2)+" ea."; } else if (obj.hasCDL == true ) { customLogo += "Free"; } } else if( (obj.hasCustomMascot == true && obj.hasRasterImage == true && obj.hasVectorImage != true && type != 'bottom') || (obj.bottomHasCustomMascot == true && obj.bottomHasRasterImage == true && obj.bottomHasVectorImage != true && type == 'bottom') ){ customLogo = "Yes - Raster "; if(obj.hasCDL != true && obj.custom_mascot_raster_price !=0 && obj.custom_mascot_raster_price != null) { customLogoPrice = obj.custom_mascot_raster_price; customLogo += obj.currencySymbol+customLogoPrice.toFixed(2)+" ea."; } else if(obj.hasCDL != true && obj.mockup_custom_mascot_raster_price !=0 && obj.mockup_custom_mascot_raster_price != null) { customLogoPrice = obj.mockup_custom_mascot_raster_price; customLogo += obj.currencySymbol+customLogoPrice.toFixed(2)+" ea."; } else if (obj.hasCDL == true ) { customLogo += "Free"; } } else if ( (obj.hasCustomMascot == true && obj.hasVectorImage == true && obj.hasRasterImage != true && type != 'bottom') || ( obj.bottomHasCustomMascot == true && obj.bottomHasVectorImage == true && (obj.bottomHasRasterImage != true) && type == 'bottom') ) { customLogo = "Yes - Vector (FREE)"; } } else if(type == 'bottom') { if((obj.bottomHasCustomMascot == true && obj.bottomHasRasterImage == true && obj.bottomHasVectorImage == true)){ customLogo = "Yes - Raster & Vector "; if(obj.bottomHasCDL != true && obj.custom_mascot_raster_price !=0 && obj.custom_mascot_raster_price != null){ customLogoPrice = obj.custom_mascot_raster_price; customLogo += obj.currencySymbol+customLogoPrice.toFixed(2)+" ea."; } else if(obj.bottomHasCDL != true && obj.mockup_custom_mascot_raster_price !=0 && obj.mockup_custom_mascot_raster_price != null) { customLogoPrice = obj.mockup_custom_mascot_raster_price; customLogo += obj.currencySymbol+customLogoPrice.toFixed(2)+" ea."; } else if (obj.bottomHasCDL == true ) { customLogo += "Free"; } } else if(obj.bottomHasCustomMascot == true && obj.bottomHasRasterImage == true && obj.bottomHasVectorImage != true) { customLogo = "Yes - Raster "; if(obj.bottomHasCDL != true && obj.custom_mascot_raster_price !=0 && obj.custom_mascot_raster_price != null) { customLogoPrice = obj.custom_mascot_raster_price; customLogo += obj.currencySymbol+customLogoPrice.toFixed(2)+" ea."; } else if(obj.bottomHasCDL != true && obj.mockup_custom_mascot_raster_price !=0 && obj.mockup_custom_mascot_raster_price != null) { customLogoPrice = obj.mockup_custom_mascot_raster_price; customLogo += obj.currencySymbol+customLogoPrice.toFixed(2)+" ea."; } else if (obj.bottomHasCDL == true ) { customLogo += "Free"; } } else if ( obj.bottomHasCustomMascot == true && obj.bottomHasVectorImage == true && obj.bottomHasRasterImage != true ) { customLogo = "Yes - Vector (FREE)"; } } divData +='<dl>'; divData +='<dt>Style #:</dt>'; divData +='<dd>'+cart.styleNumber+'</dd>'; divData +='<dt>Design:</dt>'; divData +='<dd>'+cart.ProductDesignLine+'</dd>'; divData +='<dt>RUSH ADDED:</dt>'; divData +='<dd>'+rushAdded+'</dd>'; divData +='<dt>CUSTOM LOGO:</dt>'; divData +='<dd>'+customLogo+'</dd>'; divData +='<dt>Lead Time:</dt>'; divData +='<dd><div><span class="leadDaysSublimation">'+cart.leadTime+' DAYS</span></div></dd>'; divData +='</dl>'; divData +='</div>'; divData +='<div class="subCartSpacer"></div>'; cart.rosterData.forEach((list) => { var productPrice = parseFloat(obj.minimumChargesPrice) + parseFloat(customLogoPrice); if(obj.isRushAdded){ productPrice +=parseFloat(obj.rushPrice) } var listItems = (list.quantity*productPrice).toFixed(2); divData +='<div class="subCartQtyBox">'; divData +='<span class="size">'+list.size+'</span>'; divData +='<span class="price">'+obj.currencySymbol + productPrice.toFixed(2)+' </span>'; divData +='<span class="multi">x</span>'; divData +='<div class="qty"><span class="box">'+list.quantity+'</span></div>'; divData +='<span class="priceFull">'+obj.currencySymbol + listItems+'</span>'; divData +='</div>'; }); divData +='</div>'; divData +='</div>'; return divData; } </script>