{"version":3,"sources":["call-to-action.js","clipboard.js","comments.js","destini.js","power-reviews.js","print.js","product-detail.js","product-listing.js","quality.js","recipe-search-results.js","share-this.js"],"names":["makeContentFullWidth","$","css","document","ready","length","Clipboard","clip","e","text","clearSelection","setTimeout","removeClass","showCommentsDialog","dialog","title","width","resizable","draggable","modal","modifyCommentsDialogMarkup","attr","remove","addStylesToDialog","each","this","innerText","addClass","limitTextArea","prepend","hasCharacterCounter","attachKeyupListener","maxTextAreaLength","on","event","checkTextAreaMaxLength","textBox","currentCount","checkSpecialKeys","value","substring","currentCharactersRemaining","keyCode","click","scrollTop","animate","offset","top","show","hide","loadDestini","refreshRate","destiniCheck","setInterval","destiniIsLoaded","clearInterval","initializeDestini","containerId","associationId","destini","body","loadPowerReviews","config","getPowerReviewsConfiguration","componentsToRender","ReviewSnippet","ReviewDisplay","powerReviewsCheck","initializePowerReviews","powerReviewsDependenciesLoaded","groupId","apiKey","data","merchantGroupId","key","productPageId","productPageIdVariant","api_key","locale","renderPayload","merchantId","merchant_group_id","merchant_id","page_id","components","page_id_variant","requirePowerReviews","POWERREVIEWS","unbind","slideToggle","idx","val","href","window","location","split","replace","prop","initClickableThumbnails","setThumbnailToDisplayImage","target","initProductImageZoom","imageDisplay","empty","children","transform","append","transform-origin","pageX","left","pageY","height","background-image","imageDispalyArea","thumbnail","imageSrc","imageTitle","imageAlt","getRelatedRecipes","ecommerceProductGuid","type","contentType","dataType","success","console","log","template","kendo","html","result","error","requestUrl","getRelatedProducts","productGuid","grabTuttorossoProductCategories","i","selectCurrentProductCategory","Id","Title","attachDetailListeners","callback","currentProductCategory","selector","loop","activateOwl","itemsToDisplay","owlCarousel","items","attachDetailChangeListeners","attachDetailClickListeners","change","url","selectedCategoryGuid","beforeSend","complete","listingUrlToVisit","baseListingUrl","urlify","unformattedUrl","toLowerCase","attachListingClickListeners","genericTabletScreenWidth","currentTarget","screen","fn","fitVids","customSelector","modifySearchQueryText","preselectIngredient","ingredientParameter","URLSearchParams","search","get","urlParams","selectFromIngredientDropdown","ingredientId","trim","shareButtons","querySelectorAll","shareButton","addEventListener","network"],"mappings":"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","file":"all.min.js","sourcesContent":["$(document).ready(function() {\r\n\tmakeContentFullWidth();\r\n});\r\n\r\nfunction makeContentFullWidth() {\r\n\t$('#content:has(\".call-to-action-overlay\")').css(\"max-width\", \"unset\"); // make any page with CTA overlay widget full width\r\n}\r\n","$(document).ready(() => {\r\n\tif ($('.ingredients-copy').length == 0)\r\n\t\treturn;\t\r\n\tvar clip = new Clipboard(\".ingredients-copy\");\r\n\tclip.on(\"success\", function(e) {\r\n\t\t$(\".ingredients-copy\").text(\"Copied!\");\r\n\t\t$(\".ingredients-copy\").addClass(\"successful-copy\");\r\n\t\te.clearSelection();\r\n\t\tsetTimeout(() => {\r\n\t\t\t$(\".ingredients-copy\").removeClass(\"successful-copy\");\r\n\t\t\t$(\".ingredients-copy\").text(\"Copy List\");\r\n\t\t}, 2500);\r\n\t});\r\n});\r\n","function showCommentsDialog() {\r\n\t$('div.review-modal').dialog({\r\n\t\ttitle: \"We're Glad You Enjoyed This Dish!\",\r\n\t\twidth: \"75%\",\r\n\t\tresizable: false,\r\n\t\tdraggable: false,\r\n\t\tmodal: true\r\n\t}).show();\r\n\tmodifyCommentsDialogMarkup();\r\n}\r\n\r\nfunction modifyCommentsDialogMarkup() {\r\n\t$('div.review-modal div[data-sf-role=\"comments-new-form\"] textarea').attr(\"placeholder\", \"Write a review*\");\r\n\t$('div.review-modal div[data-sf-role=\"comments-new-form\"] input[data-sf-role=\"comments-new-name\"]').attr(\"placeholder\", \"Your name*\");\r\n\t$('div.review-modal div[data-sf-role=\"comments-new-form\"] input[type=\"email\"]').attr(\"placeholder\", \"Your email*\");\r\n\t// $('div.review-modal div[data-sf-role=\"comments-new-form\"] div[data-sf-role=\"captcha-container\"] label').text(\"Please enter the code above*\")\r\n\t$('div.review-modal div[data-sf-role=\"comments-new-form\"] div[data-sf-role=\"comments-new-pending-approval-message\"]').text(\"Thank you for the review! Please wait 1-2 days for our approval process.\")\r\n\t$('div.review-modal div[data-sf-role=\"comments-new-form\"] img:not([data-sf-role=\"captcha-image\"]').remove();\r\n\t$('div.review-modal h3').remove();\r\n\t$('div.review-modal a[data-sf-role=\"comments-new-form-button\"]').remove();\r\n\t$('div.review-modal a[data-sf-role=\"comments-sort-new-button\"]').remove();\r\n\t$('div.review-modal a[data-sf-role=\"comments-sort-old-button\"]').remove();\r\n\t$('div.review-modal span[data-sf-role=\"comments-count-list-wrapper\"]').remove();\r\n\t$('div.review-modal div[data-sf-role=\"comments-container\"]').remove();\r\n\t$('div.not-real-review-modal p[data-sf-role=\"review-new-form-replacement\"]').remove();\r\n\taddStylesToDialog();\r\n\tlimitTextArea();\r\n}\r\n\r\nfunction addStylesToDialog() {\r\n\t$('div.review-modal div[data-sf-role=\"comments-new-form\"] span').each(function() {\r\n\t\tlet innerText = $(this).text();\r\n\t\tif (innerText == \"Rating\")\r\n\t\t\t$(this).text(\"Rating*\");\r\n\t});\r\n\t$('div.review-modal button[data-sf-role=\"comments-new-submit-button\"]').addClass(\"review-button\");\r\n}\r\n\r\nfunction limitTextArea() {\r\n\tlet maxTextAreaLength = 500;\r\n\t$('div.review-modal textarea[data-sf-role=\"comments-new-message\"]').attr('maxlength', maxTextAreaLength);\r\n\tlet hasCharacterCounter = $('div.review-modal div[data-sf-role=\"comments-new-form\"] div:has(\"div.sf-Ratings\") .character-counter').length > 0;\r\n\tif (!hasCharacterCounter) {\r\n\t\tlet counterMarkup = '
' + maxTextAreaLength + ' characters remaining
';\r\n\t\t$('div.review-modal div[data-sf-role=\"comments-new-form\"] div:has(\"div.sf-Ratings\")').prepend(counterMarkup);\r\n\t\tattachKeyupListener(maxTextAreaLength);\r\n\t}\r\n}\r\n\r\nfunction attachKeyupListener(maxTextAreaLength) {\r\n\t$('div.review-modal textarea[data-sf-role=\"comments-new-message\"]').on(\"keyup\", function (event) {\r\n\t\tcheckTextAreaMaxLength(this, event, maxTextAreaLength);\r\n\t});\r\n}\r\n\r\nfunction checkTextAreaMaxLength(textBox, e, maxTextAreaLength) {\r\n\tlet currentCount = textBox.value.length;\r\n\tif (!checkSpecialKeys(e)) {\r\n\t\tif (currentCount > maxTextAreaLength - 1) textBox.value = textBox.value.substring(0, maxTextAreaLength);\r\n\t}\r\n\tlet currentCharactersRemaining = maxTextAreaLength - currentCount;\r\n\t$(\"div.character-counter\").text(currentCharactersRemaining + \" characters remaining\");\r\n\treturn true;\r\n}\r\n\r\nfunction checkSpecialKeys(e) {\r\n\tif (e.keyCode != 8 && e.keyCode != 46 && e.keyCode != 37 && e.keyCode != 38 && e.keyCode != 39 && e.keyCode != 40)\r\n\t\treturn false;\r\n\telse\r\n\t\treturn true;\r\n}\r\n\r\n$(document).ready(function(){\r\n $('.make-comment').click(function(){\r\n showCommentsDialog();\r\n });\r\n\r\n\t$(\".js-read-reviews\").click(function() {\r\n\t\t$(\"html, body\").animate(\r\n\t\t\t{\r\n\t\t\t\tscrollTop: $(\"#recipe-reviews\").offset().top\r\n\t\t\t},\r\n\t\t\t1250\r\n\t\t);\r\n\t});\r\n});\r\n\r\nsetTimeout(function(){\r\n if($('div[data-sf-role=\"comments-container\"] > div').length > 0){\r\n $('.js-read-reviews').show();\r\n } else {\r\n $('#recipe-reviews').hide();\r\n }\r\n}, 2000)","$(document).ready(function() {\r\n\tif ($(\"#destini\").length) loadDestini(250);\r\n});\r\n\r\nfunction loadDestini(refreshRate) {\r\n\tlet destiniCheck = setInterval(function() {\r\n\t\tif (destiniIsLoaded()) {\r\n\t\t\tclearInterval(destiniCheck);\r\n\t\t\tinitializeDestini();\r\n\t\t}\r\n\t}, refreshRate);\r\n}\r\n\r\nfunction initializeDestini() {\r\n\t$(\".buynow\").click(function() {\r\n\t\tvar containerId = $(this).attr(\"data-destini-container\");\r\n\t\tvar associationId = $(this).attr(\"data-destini-association\");\r\n\t\tdestini.init(containerId);\r\n\t\tdestini.loadWidget(associationId);\r\n\t});\r\n}\r\n\r\nfunction destiniIsLoaded() {\r\n\treturn document.body && destini;\r\n}\r\n","$(document).ready(function() {\r\n\tif (!requirePowerReviews()) return;\r\n\tloadPowerReviews();\r\n});\r\n\r\nfunction loadPowerReviews() {\r\n\tlet config = getPowerReviewsConfiguration();\r\n\tlet componentsToRender = {};\r\n\tlet refreshRate = 100;\r\n\tif ($(\"#pr-reviewsnippet\").length) componentsToRender.ReviewSnippet = \"pr-reviewsnippet\";\r\n\tif ($(\"#pr-reviewdisplay\").length) componentsToRender.ReviewDisplay = \"pr-reviewdisplay\";\r\n\tif ($(\"#pr-questiondisplay\").length) componentsToRender.QuestionDisplay = \"pr-questiondisplay\";\r\n\tif ($(\"#pr-write\").length) componentsToRender.Write = \"pr-write\";\r\n\tlet powerReviewsCheck = setInterval(function() {\r\n\t\tif (powerReviewsDependenciesLoaded()) {\r\n\t\t\tclearInterval(powerReviewsCheck);\r\n\t\t\tinitializePowerReviews(componentsToRender, config);\r\n\t\t}\r\n\t}, refreshRate);\r\n}\r\n\r\nfunction getPowerReviewsConfiguration() {\r\n\tlet key = $(\".power-reviews-details\").data(\"api-key\");\r\n\tlet groupId = $(\".power-reviews-details\").data(\"merchant-group-id\");\r\n\tlet id = $(\".power-reviews-details\").data(\"merchant-id\");\r\n\treturn {\r\n\t\tapiKey: key,\r\n\t\tmerchantGroupId: groupId,\r\n\t\tmerchantId: id\r\n\t};\r\n}\r\n\r\nfunction initializePowerReviews(componentsToRender, config) {\r\n\tlet productPageId = $(\".product-details\").data(\"product-pr-pageid\");\r\n\tlet productPageIdVariant = $(\".product-details\").data(\"product-pr-pageid-variant\");\r\n\tlet renderPayload = {\r\n\t\tapi_key: config.apiKey,\r\n\t\tlocale: \"en_US\",\r\n\t\tmerchant_group_id: config.merchantGroupId,\r\n\t\tmerchant_id: config.merchantId,\r\n\t\tpage_id: productPageId,\r\n\t\treview_wrapper_url: \"/write-a-review?\",\r\n\t\tcomponents: componentsToRender\r\n\t};\r\n\tif (productPageIdVariant) {\r\n\t\trenderPayload.page_id_variant = productPageIdVariant;\r\n\t}\r\n\tPOWERREVIEWS.display.render(renderPayload);\r\n}\r\n\r\nfunction requirePowerReviews() {\r\n\tif ($(\"#pr-write\").length || $(\"#pr-reviewdisplay\").length || $(\"pr-questiondisplay\").length) {\r\n\t\treturn true;\r\n\t} else {\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nfunction powerReviewsDependenciesLoaded() {\r\n\treturn document.body && POWERREVIEWS;\r\n}\r\n","$('#print-recipe').unbind('click').click(function(e) {\r\n $('#print-options').slideToggle();\r\n});\r\n\r\n$.each($('#print-options a'), (idx, val) => {\r\n var href = window.location.href.split('/');\r\n $(val).attr('href', $(val).attr('href').replace('[title]', href[href.length - 1]));\r\n})\r\n\r\n$('#print-images').click(function(){\r\n if($('#print-images').prop('checked')){\r\n $.each($('#print-options a'), (idx, val) => { \r\n $(val).attr('href', $(val).attr('href') + '&images=true') \r\n });\r\n } else {\r\n $.each($('#print-options a'), (idx, val) => { \r\n $(val).attr('href', $(val).attr('href').replace('&images=true', ''));\r\n\r\n });\r\n }\r\n});","$(document).ready(() => {\r\n\tinitClickableThumbnails();\r\n\tinitProductImageZoom();\r\n\tvar ecommerceProductGuid = $(\".product-details\").data(\"product-ecommerce-id\");\r\n\tvar productGuid = $(\".product-details\").data(\"product-id\");\r\n\tif (ecommerceProductGuid) \r\n\t\tgetRelatedRecipes(ecommerceProductGuid);\r\n\tif (productGuid) \r\n\t\tgetRelatedProducts(productGuid);\r\n});\r\n\r\nfunction initClickableThumbnails() {\r\n\tif ($(\".thumbnail-wrapper\").length) {\r\n\t\t$(\"img.thumbnail\").on(\"click\", e => {\r\n\t\t\tlet thumbnail = $(e.target);\r\n\t\t\tsetThumbnailToDisplayImage(thumbnail);\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction initProductImageZoom() {\r\n\tlet imageDisplay = $(\".display-image\");\r\n\tif (imageDisplay.length) {\r\n\t\timageDisplay.empty();\r\n\t\timageDisplay.on(\"mouseover\", function() { \r\n\t\t\t$(this).children(\".zoomable-display-image\").css({ transform: \"scale(1.7)\" }); \r\n\t\t})\r\n\t\t.on(\"mouseout\", function() {\r\n\t\t\t$(this).children(\".zoomable-display-image\").css({ transform: \"scale(1)\" });\r\n\t\t})\r\n\t\t.on(\"mousemove\", function(e) {\r\n\t\t\t$(this).children(\".zoomable-display-image\")\r\n\t\t\t.css({ \"transform-origin\": ((e.pageX - $(this).offset().left) / $(this).width()) * 100 + \"% \" + ((e.pageY - $(this).offset().top) / $(this).height()) * 100 + \"%\" });\r\n\t\t})\r\n\t\t.each(function() {\r\n\t\t\t$(this).append('
').children(\".zoomable-display-image\").css({ \"background-image\": \"url(\" + $(this).attr(\"src\") + \")\" });\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction setThumbnailToDisplayImage(thumbnail) {\r\n\tlet imageSrc = thumbnail.attr(\"src\");\r\n\tlet imageTitle = thumbnail.attr(\"title\");\r\n\tlet imageAlt = thumbnail.attr(\"alt\");\r\n\tlet imageDispalyArea = $(\".product-details .image div.display-image\");\r\n\timageDispalyArea.attr(\"src\", imageSrc);\r\n\timageDispalyArea.attr(\"title\", imageTitle);\r\n\timageDispalyArea.attr(\"alt\", imageAlt);\r\n\tinitProductImageZoom();\r\n}\r\n\r\nfunction getRelatedRecipes(ecommerceProductGuid) {\r\n\tlet requestUrl = \"/api/productdetail/getrelatedrecipes/\" + ecommerceProductGuid;\r\n\t$.ajax({\r\n\t\turl: requestUrl,\r\n\t\ttype: \"GET\",\r\n\t\tcontentType: \"application/json\",\r\n\t\tdataType: \"json\",\r\n\t\tsuccess: data => {\r\n\t\t\tconsole.log(\"related recipe success (\" + data.length + \" results)\");\r\n\t\t\tif (data.length < 1) {\r\n\t\t\t\t$(\".recipe-carousel-lineup .header\").hide();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar template = kendo.template($(\"#relatedRecipesTemplate\").html());\r\n\t\t\tvar result = template(data);\r\n\t\t\t$(\"#related-recipes\").html(result); // for desktop related recipes\r\n\r\n\t\t\ttemplate = kendo.template($(\"#relatedRecipesCarouselTemplate\").html());\r\n\t\t\tresult = template(data);\r\n\t\t\t$(\"#related-recipes-carousel\").html(result); // for mobile related recipes carousel\r\n\t\t\tactivateOwl(\".related-recipes-carousel\", 1);\r\n\t\t},\r\n\t\terror: data => {\r\n\t\t\tconsole.log(\"oops! related recipes error (url: \" + requestUrl + \")\");\r\n\t\t\tconsole.error(\"error -> \", data);\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction getRelatedProducts(productGuid) {\r\n\tlet requestUrl = \"/api/productdetail/getrelatedproducts/\" + productGuid;\r\n\t$.ajax({\r\n\t\turl: requestUrl,\r\n\t\ttype: \"GET\",\r\n\t\tcontentType: \"application/json\",\r\n\t\tdataType: \"json\",\r\n\t\tsuccess: data => {\r\n\t\t\tconsole.log(\"related product success (\" + data.length + \" results)\");\r\n\t\t\tif (data.length < 1) {\r\n\t\t\t\t$(\".product-carousel-lineup .header\").hide();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar template = kendo.template($(\"#relatedProductsTemplate\").html());\r\n\t\t\tvar result = template(data);\r\n\t\t\t$(\"#related-products\").html(result); // for desktop related products\r\n\t\t\tgrabTuttorossoProductCategories();\r\n\r\n\t\t\ttemplate = kendo.template($(\"#relatedProductsCarouselTemplate\").html());\r\n\t\t\tresult = template(data);\r\n\t\t\t$(\"#related-products-carousel\").html(result); // for mobile related products carousel\r\n\t\t\tactivateOwl(\".related-products-carousel\", 1);\r\n\t\t},\r\n\t\terror: data => {\r\n\t\t\tconsole.log(\"oops! related products error (url: \" + requestUrl + \")\");\r\n\t\t\tconsole.error(\"error -> \", data);\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction grabTuttorossoProductCategories() {\r\n\tlet requestUrl = \"/api/productdetail/getproductcategories\";\r\n\t$.ajax({\r\n\t\turl: requestUrl,\r\n\t\ttype: \"GET\",\r\n\t\tcontentType: \"application/json\",\r\n\t\tdataType: \"json\",\r\n\t\tsuccess: data => {\r\n\t\t\tconsole.log(\"product category success\");\r\n\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\t$(\"#detail-product-categories\").append(\r\n\t\t\t\t\t'\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tselectCurrentProductCategory(attachDetailListeners);\r\n\t\t},\r\n\t\terror: data => {\r\n\t\t\tconsole.log(\"oops! product category error (url: \" + requestUrl + \")\");\r\n\t\t\tconsole.error(\"error -> \", data);\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction selectCurrentProductCategory(callback) {\r\n\t$(\"#detail-product-categories\").unbind(\"change\");\r\n\tvar currentProductCategory = $(\".product-details\").attr(\"data-post-load-select\");\r\n\tif (currentProductCategory == \"\") {\r\n\t\tcurrentProductCategory = $(\".product-details\").data(\"product-category\");\r\n\t\t$('#detail-product-categories option:contains(\"' + currentProductCategory + '\")').prop(\"selected\", \"selected\");\r\n\t} else {\r\n\t\t$('#detail-product-categories option[value=\"' + currentProductCategory + '\"').prop(\"selected\", \"selected\");\r\n\t}\r\n\tcallback();\r\n}\r\n\r\nfunction activateOwl(selector, itemsToDisplay) {\r\n\t$(selector).owlCarousel({\r\n\t\titems: itemsToDisplay,\r\n\t\tloop: true\r\n\t});\r\n\t$(\".owl-theme .owl-dots .owl-dot\").removeClass(\"disabled\");\r\n}\r\n\r\nfunction attachDetailListeners() {\r\n\tattachDetailChangeListeners();\r\n\tattachDetailClickListeners();\r\n}\r\n\r\nfunction attachDetailChangeListeners() {\r\n\t$(\"#detail-product-categories\").change(() => {\r\n\t\tvar productGuid = $(\".product-details\").data(\"product-id\");\r\n\t\tvar selectedCategoryGuid = $(\"#detail-product-categories\").val();\r\n\t\t$(\".product-details\").attr(\"data-post-load-select\", selectedCategoryGuid);\r\n\t\tlet requestUrl =\r\n\t\t\t\"/api/productdetail/getproductsbycategory/\" + selectedCategoryGuid + \"?selectedProduct=\" + productGuid;\r\n\t\tconsole.log(\"Calling \" + requestUrl);\r\n\t\t$.ajax({\r\n\t\t\turl: requestUrl,\r\n\t\t\ttype: \"GET\",\r\n\t\t\tcontentType: \"application/json\",\r\n\t\t\tdataType: \"json\",\r\n\t\t\tbeforeSend: () => {\r\n\t\t\t\t$(\".product-card\").css(\"display\", \"none\");\r\n\t\t\t\t$(\".lds-ring\").css(\"display\", \"flex\");\r\n\t\t\t},\r\n\t\t\tcomplete: () => {\r\n\t\t\t\t$(\".lds-ring\").css(\"display\", \"none\");\r\n\t\t\t\t$(\".product-card\").css(\"display\", \"inherit\");\r\n\t\t\t},\r\n\t\t\tsuccess: data => {\r\n\t\t\t\tconsole.log(\"products by category success\");\r\n\t\t\t\tvar template = kendo.template($(\"#relatedProductsTemplate\").html());\r\n\t\t\t\tvar result = template(data);\r\n\t\t\t\t$(\"#related-products\").html(result);\r\n\t\t\t\tgrabTuttorossoProductCategories();\r\n\t\t\t},\r\n\t\t\terror: data => {\r\n\t\t\t\tconsole.log(\"oops! products by category error (url: \" + requestUrl + \")\");\r\n\t\t\t\tconsole.error(\"error -> \", data);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\nfunction attachDetailClickListeners() {\r\n\t$(\"#related-products-view-all\").click(() => {\r\n\t\tvar baseListingUrl = $(\".product-details\").attr(\"data-product-line-url\");\r\n\t\tvar listingUrlToVisit = \"/products/\";\r\n\t\tif (baseListingUrl) {\r\n\t\t\tvar selectedCategory = $(\"#detail-product-categories\")\r\n\t\t\t\t.find(\":selected\")\r\n\t\t\t\t.text();\r\n\t\t\tlistingUrlToVisit =\r\n\t\t\t\tbaseListingUrl + \"/-in-category/product-categories/tuttorosso/\" + urlify(selectedCategory);\r\n\t\t}\r\n\t\twindow.location = listingUrlToVisit;\r\n\t});\r\n}\r\n\r\nfunction urlify(unformattedUrl) {\r\n\tvar result = unformattedUrl.toLowerCase();\r\n\tresult = result.replace(/&/g, \" \");\r\n\tresult = result.replace(/ +/g, \"-\");\r\n\treturn result;\r\n}\r\n","$(document).ready(() => {\r\n attachListingClickListeners();\r\n});\r\n\r\nfunction attachListingClickListeners() {\r\n var genericTabletScreenWidth = 800;\r\n $('.top').on('click', (event) => {\r\n if (screen.width < genericTabletScreenWidth) {\r\n var target = $(event.currentTarget);\r\n var parentCard = target.closest(\".product-card\");\r\n parentCard.addClass(\"hover\");\r\n }\r\n });\r\n\r\n $('.collapse-actions').on('click', (event) => {\r\n if (screen.width < genericTabletScreenWidth) {\r\n var target = $(event.currentTarget);\r\n var parentCard = target.closest(\".product-card\");\r\n parentCard.removeClass(\"hover\");\r\n } \r\n });\r\n}\r\n","$(document).ready(function() {\r\n\tif ($.fn.fitVids) {\r\n\t\t$(\".quality-content\").fitVids({\r\n\t\t\tcustomSelector: \"iframe[src^='https://www.youtube.com']\"\r\n\t\t});\r\n\t}\r\n});\r\n","$(document).ready(() => {\r\n modifySearchQueryText();\r\n preselectIngredient();\r\n});\r\n\r\nfunction modifySearchQueryText() {\r\n $('.sfsearchResultStatistics strong').each(function() {\r\n if ($(this).text() == \"*\") {\r\n $(this).text(\"All Results\");\r\n return;\r\n }\r\n });\r\n}\r\n\r\nfunction preselectIngredient() {\r\n var urlParams = new URLSearchParams(window.location.search);\r\n var ingredientParameter = urlParams.get(\"ingredientSelect\");\r\n if (ingredientParameter)\r\n selectFromIngredientDropdown(ingredientParameter)\r\n}\r\n\r\nfunction selectFromIngredientDropdown(ingredientId) {\r\n var selector = \"#redGoldIngredientDropDownList option[data-product-id='\" + ingredientId.trim() + \"']\";\r\n $(selector).prop(\"selected\", true);\r\n $(selector).change();\r\n}\r\n","(function(document) {\r\n var shareButtons = document.querySelectorAll(\".st-custom-button[data-network]\");\r\n for(var i = 0; i < shareButtons.length; i++) {\r\n var shareButton = shareButtons[i];\r\n \r\n shareButton.addEventListener(\"click\", function(e) {\r\n var elm = e.target;\r\n var network = elm.dataset.network;\r\n \r\n console.log(\"share click: \" + network);\r\n });\r\n }\r\n })(document);"]}