{"version":3,"file":"signup.box.min.js","names":["m","$","boxDetails","init","resizeTimeout","ajaxSetup","cache","getData","window","on","clearTimeout","setTimeout","resizeWindow","change","changeBoxType","selectDeliveryPeriodRadio","selectDeliveryPeriodDropDown","click","selectBox","product","this","closest","productID","data","productTitle","productDescription","showBoxDetails","initProductDetailsDialog","updateProductDetails","selectedItems","purchaseButtons","length","fixedNavigationContainer","prev","css","outerHeight","dialog","title","modal","autoOpen","resizable","draggable","hubInfoUrl","getJSON","html","tableContainer","empty","i","DeliveryDateCollection","deliveryDate","produceTable","addClass","produceTableHeaderLine","headers","ProduceDetailCollection","h","append","text","produceTableContent","j","produceDetail","produceTableContentLine","Name","Grower","Method","Location","boxContainer","DeliveryDateRange","windowWidth","width","purchaseButton","productCard","isSelected","hasClass","toggleClass","find","sendGoogleAnalyticsAddToCart","trackedAddButton","selectedDeliveryPeriod","val","prop","trigger","jsonSummary","deliveryPeriod","products","option1","option1Name","option1Description","option1Radio","option2","option2Name","option2Description","option2Radio","boxPrice","boxImageUrl","originalProductID","originalProductName","originalProductSupplier","priceContainer","currencySymbol","toFixedIntl","attr","push","productId","quantity","parseInt","jsonData","JSON","stringify","ooooby","jQuery","document","ready"],"sources":["signup.box.js"],"mappings":"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","ignoreList":[],"sourcesContent":["(function (m, $) {\n\n var boxDetails;\n m.init = function () {\n $.ajaxSetup({ cache: false });\n\n boxDetails = m.getData(\"data-boxprices\");\n\n var resizeTimeout;\n $(window).on(\"resize\", function () {\n clearTimeout(resizeTimeout);\n resizeTimeout = setTimeout(m.resizeWindow, 500);\n });\n\n $(\".ux-option-select\").change(m.changeBoxType);\n $(\"input:radio[name='Frequency']\").change(m.selectDeliveryPeriodRadio);\n $(\"select[name='Frequency']\").change(m.selectDeliveryPeriodDropDown);\n $(\".ux-purchase\").click(m.selectBox);\n $(\".ux-box-details-button\").click(function () {\n var product = $(this).closest(\".ux-product\");\n var productID = product.data(\"originalProductId\");\n var productTitle = product.data(\"productTitle\");\n var productDescription = product.data(\"productDescription\");\n m.showBoxDetails(productID, productTitle, productDescription);\n return false;\n });\n\n m.initProductDetailsDialog();\n m.updateProductDetails();\n m.resizeWindow();\n\n var selectedItems = $(\".ux-selected\");\n var purchaseButtons = $(\".ux-purchase\");\n\n if (selectedItems.length === 0 && purchaseButtons.length === 1) {\n var purchaseButton = $(purchaseButtons[0]);\n purchaseButton.click();\n }\n };\n\n m.resizeWindow = function () {\n var fixedNavigationContainer = $(\".ux-signup-fixed-navigation\");\n var lastSectionContainer = fixedNavigationContainer.prev();\n\n lastSectionContainer.css(\"padding-bottom\", fixedNavigationContainer.outerHeight());\n };\n\n m.initProductDetailsDialog = function () {\n $(\".ux-productdetails-modal\").dialog({\n title: \"Product Details\",\n modal: true,\n autoOpen: false,\n resizable: false,\n draggable: false\n });\n };\n\n m.showBoxDetails = function (productID, productTitle, productDescription) {\n var hubInfoUrl = \"/getboxcontents?productID=\" + productID + \"&weeksToGet=1\";\n\n $.getJSON(hubInfoUrl, function (data) {\n var productDescriptionContainer = $(\".ux-product-description\");\n productDescriptionContainer.html(productDescription);\n\n var tableContainer = $(\".ux-contents-table\");\n tableContainer.empty();\n\n for (var i = 0; i < data.DeliveryDateCollection.length; i++) {\n var deliveryDate = data.DeliveryDateCollection[i];\n\n var produceTable = $(\"
\").addClass(\"box-list\");\n\n var produceTableHeaderLine = $(\"\");\n var headers = [\"Produce (\" + deliveryDate.ProduceDetailCollection.length + \" items)\", \"Grower\", \"Method\", \"Location\"];\n for (var h = 0; h < headers.length; h++) {\n produceTableHeaderLine.append($(\"\").addClass(h === 1 || h === 3 ? \"less-important\" : \"\").text(headers[h]));\n }\n produceTable.append($(\"\").append(produceTableHeaderLine));\n\n var produceTableContent = $(\"\");\n for (var j = 0; j < deliveryDate.ProduceDetailCollection.length; j++) {\n var produceDetail = deliveryDate.ProduceDetailCollection[j];\n var produceTableContentLine = $(\"\");\n produceTableContentLine.append($(\"\").addClass(\"important\").text(produceDetail.Name));\n produceTableContentLine.append($(\"\").addClass(\"less-important\").text(produceDetail.Grower));\n produceTableContentLine.append($(\"\").text(produceDetail.Method));\n produceTableContentLine.append($(\"\").addClass(\"less-important\").text(produceDetail.Location));\n produceTableContent.append(produceTableContentLine);\n }\n produceTable.append(produceTableContent);\n\n var boxContainer = $(\"
\").addClass(\"box\");\n boxContainer.append($(\"

\").text(deliveryDate.DeliveryDateRange));\n boxContainer.append(produceTable);\n tableContainer.append(boxContainer);\n }\n\n var windowWidth = $(window).width();\n $(\".ux-productdetails-modal\").dialog(\"option\", \"title\", productTitle);\n $(\".ux-productdetails-modal\").dialog(\"option\", \"width\", windowWidth * 0.8);\n $(\".ux-productdetails-modal\").dialog(\"open\");\n });\n };\n\n m.selectBox = function () {\n var purchaseButton = $(this);\n var productCard = purchaseButton.closest(\".ux-product\");\n\n var isSelected = productCard.hasClass(\"ux-selected\");\n\n productCard.toggleClass(\"selected\", !isSelected);\n productCard.toggleClass(\"ux-selected\", !isSelected);\n\n purchaseButton.toggleClass(\"button-green\", isSelected);\n purchaseButton.toggleClass(\"button-light-parchment\", !isSelected);\n\n var buttonText = purchaseButton.find(\".ux-text\");\n buttonText.html(isSelected ? \"Select\" : \"Deselect\");\n\n m.updateProductDetails();\n m.sendGoogleAnalyticsAddToCart(purchaseButton, isSelected ? -1 : 1);\n };\n \n m.changeBoxType = function() {\n let productCard = $(this).closest(\".ux-product\");\n let isSelected = productCard.hasClass(\"ux-selected\");\n\n let trackedAddButton = productCard.find(\".ux-tracking-addtocart-button, .ux-tracking-manual-addtocart-button\");\n if (trackedAddButton && isSelected) {\n m.sendGoogleAnalyticsAddToCart(trackedAddButton, -1);\n }\n \n m.updateProductDetails();\n \n trackedAddButton = productCard.find(\".ux-tracking-addtocart-button, .ux-tracking-manual-addtocart-button\");\n if (trackedAddButton && isSelected) {\n m.sendGoogleAnalyticsAddToCart(trackedAddButton, 1);\n }\n }\n\n m.selectDeliveryPeriodDropDown = function () {\n var selectedDeliveryPeriod = $(\"select[name='Frequency']\").val();\n $(\"input:radio[name='Frequency'][value='\" + selectedDeliveryPeriod + \"']\").prop(\"checked\", true).trigger(\"click\");\n\n m.updateProductDetails();\n };\n\n m.selectDeliveryPeriodRadio = function () {\n var selectedDeliveryPeriod = $(\"input:radio[name='Frequency']:checked\").val();\n $(\"select[name='Frequency']\").val(selectedDeliveryPeriod);\n\n m.updateProductDetails();\n };\n\n var jsonSummary = { deliveryPeriod: 1, selectedItems: [] };\n m.updateProductDetails = function () {\n var products = $(\".ux-product\");\n var selectedItems = [];\n for (var i = 0; i < products.length; i++) {\n var product = $(products[i]);\n var isSelected = product.hasClass(\"ux-selected\");\n var productID = product.data(\"productId\");\n var productTitle = product.data(\"productName\");\n\n var option1 = \"00000000-0000-0000-0000-000000000000\";\n var option1Name = \"\";\n var option1Description = \"\";\n var option1Radio = product.find(\"input:radio[name='\" + productID + \"_option1']:checked\");\n if (option1Radio.length > 0) {\n option1 = option1Radio.val();\n option1Name = option1Radio.data(\"choiceName\");\n option1Description = option1Radio.data(\"choiceDescription\");\n }\n\n var option2 = \"00000000-0000-0000-0000-000000000000\";\n var option2Name = \"\";\n var option2Description = \"\";\n var option2Radio = product.find(\"input:radio[name='\" + productID + \"_option2']:checked\");\n if (option2Radio.length > 0) {\n option2 = option2Radio.val();\n option2Name = option2Radio.data(\"choiceName\");\n option2Description = option2Radio.data(\"choiceDescription\");\n }\n\n var boxPrice = boxDetails[productID][option1][option2][\"price\"];\n var boxImageUrl = boxDetails[productID][option1][option2][\"image_url\"];\n var originalProductID = boxDetails[productID][option1][option2][\"product_id\"];\n var originalProductName = boxDetails[productID][option1][option2][\"product_name\"];\n var originalProductSupplier = boxDetails[productID][option1][option2][\"product_supplier\"];\n\n if (option1Name !== \"\" && option2Name !== \"\")\n productTitle = productTitle + \" (\" + option1Name + \", \" + option2Name + \")\";\n else if (option1Name !== \"\" && option2Name === \"\")\n productTitle = productTitle + \" (\" + option1Name + \")\";\n else if (option1Name === \"\" && option2Name !== \"\")\n productTitle = productTitle + \" (\" + option2Name + \")\";\n\n product.find(\".ux-choice-1-description\").html(option1Description);\n product.find(\".ux-choice-2-description\").html(option2Description);\n\n var priceContainer = product.find(\".ux-price\");\n var currencySymbol = priceContainer.data(\"currencySymbol\");\n priceContainer.html(currencySymbol + boxPrice.toFixedIntl(2));\n\n product.find(\".ux-product-image\").attr(\"src\", boxImageUrl);\n\n product.data(\"originalProductId\", originalProductID);\n product.data(\"productTitle\", productTitle);\n\n var trackedAddButton = product.find(\".ux-tracking-addtocart-button, .ux-tracking-manual-addtocart-button\");\n if (trackedAddButton) {\n trackedAddButton.attr(\"tracking-addtocart-price\", boxPrice.toFixedIntl(2));\n trackedAddButton.attr(\"tracking-addtocart-productid\", originalProductID);\n trackedAddButton.attr(\"tracking-addtocart-productname\", originalProductName);\n trackedAddButton.attr(\"tracking-addtocart-productbrand\", originalProductSupplier);\n }\n\n if (isSelected)\n selectedItems.push({ \"productId\": originalProductID, \"quantity\": 1 });\n }\n\n jsonSummary.selectedItems = selectedItems;\n jsonSummary.deliveryPeriod = parseInt($(\"#Frequency\").val());\n\n var jsonData = JSON.stringify(jsonSummary);\n $(\"#BoxesJsonSummary\").val(jsonData);\n };\n\n}(window.ooooby = window.ooooby || {}, jQuery));\n\n$(document).ready(function () {\n ooooby.init();\n});"]}