{"version":3,"sources":["lazyLoad.min.js"],"names":["loadMoreCalled","imageLoadCount","loadImage","image","containerClass","tileClass","imageMaxCount","callback","includeSrcset","className","undefined","attr","src","srcset","alt","mobileHide","length","$","window","width","imageObj","Image","placeholder","onload","insertAfter","remove","parent","addClass","loadMore","onerror","loadImages","debounce","count","placeholderCount","imageCount","each","this","container","containerHeight","removeClass","el","imagePlaceholder","find","marginTop","css","replace","marginBottom","elHeight","outerHeight","parseInt","offset","left","hide","imageExists","imgPath","http","XMLHttpRequest","open","send","status"],"mappings":"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","file":"lazyLoad.min.js","sourcesContent":["/**************************************************************************\r\nName: lazyLoad.js\r\nDescription: Lazy loading script.\r\nDate Created: 10/16/2019 by Jenna Hart\r\nModified:\r\n**************************************************************************/\r\n\r\n/* Load images after page load */\r\nvar loadMoreCalled;\r\nvar imageLoadCount = 0;\r\n\r\nvar loadImage = function(image, containerClass, tileClass, imageMaxCount, callback, includeSrcset) {\r\n\tvar className = image.attr('data-class') != undefined ? image.attr('data-class' ) : '',\r\n\t\tsrc = image.attr('data-src') != undefined ? image.attr('data-src' ) : '',\r\n\t\tsrcset = image.attr('data-srcset') != undefined ? image.attr('data-srcset' ) : '',\r\n\t\talt = image.attr('data-alt') != undefined ? image.attr('data-alt' ) : '',\r\n\t\tmobileHide = image.attr('data-mobileHide') != undefined ? image.attr('data-mobileHide') : 0,\r\n\t\tloadStart = image.attr('data-loadStart', true);\r\n\r\n\tif(src.length > 0 && ($(window).width() > 768 || mobileHide == 0))\r\n\t{\r\n\t\tvar imageObj = new Image();\r\n\t\timageObj.src = src;\r\n\t\timageObj.alt = alt;\r\n\t\timageObj.containerClass = containerClass != undefined ? containerClass : '';\r\n\t\timageObj.tileClass = tileClass != undefined ? tileClass : '';\r\n\t\timageObj.className = className != undefined ? className : '';\r\n\t\timageObj.callback = callback != undefined ? callback : '';\r\n\t\timageObj.placeholder = image;\r\n\t\timageObj.imageMaxCount = imageMaxCount;\r\n\t\t\r\n\t\tif(includeSrcset == true)\r\n\t\t\timageObj.srcset = srcset;\r\n\r\n\t\t// Wait for image to load\r\n\t\timageObj.onload = function() {\r\n\t\t\timageLoadCount ++;\r\n\r\n\t\t\t// Insert image into dom / remove placeholder\r\n\t\t\t$(imageObj).insertAfter($(imageObj.placeholder));\r\n\t\t\t$(imageObj.placeholder).remove();\r\n\t\t\t$(imageObj).parent().addClass('has-padding-adjust');\r\n\r\n\t\t\t// Call Load More and Callback functions after images are loaded\r\n\t\t\tif(imageLoadCount == imageObj.imageMaxCount)\r\n\t\t\t{\r\n\t\t\t\t/* Load More */\r\n\t\t\t\tif(imageObj.containerClass && imageObj.tileClass && !loadMoreCalled)\r\n\t\t\t\t\tloadMore(imageObj.containerClass, imageObj.tileClass);\r\n\r\n\t\t\t\t/* Callback function */\r\n\t\t\t\tif(imageObj.callback)\r\n\t\t\t\t\timageObj.callback();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Error handling\r\n\t\timageObj.onerror = function() {\r\n\t\t\tif(includeSrcset == true) {\r\n\t\t\t\t// Try loading the image without the retina version\r\n\t\t\t\tloadImage(image, containerClass, tileClass, imageMaxCount, callback, false);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t// If image does not load, remove image placeholder.\r\n\t\t\t\t$(imageObj.placeholder).remove();\r\n\t\t\t\tloadMore(imageObj.containerClass, imageObj.tileClass);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvar loadImages = debounce(function(count, containerClass, tileClass, callback) {\r\n\tvar placeholderCount = $('.image-placeholder').length;\r\n\tvar imageMaxCount = count != undefined && count <= placeholderCount ? count : placeholderCount;\r\n\tvar imageCount = 0;\r\n\t\r\n\timageLoadCount = 0;\r\n\tloadMoreCalled = false;\r\n\r\n\tif(containerClass == undefined) containerClass = '';\r\n\tif(tileClass == undefined) tileClass = '';\r\n\r\n\t$('.image-placeholder').each(function() {\r\n\t\timageCount ++;\r\n\r\n\t\tif(imageCount <= imageMaxCount)\r\n\t\t\tloadImage($(this), containerClass, tileClass, imageMaxCount, callback, true);\r\n\t});\r\n}, 100);\r\n\r\nvar loadMore = function(containerClass, tileClass) {\r\n\tvar container = $('.' + containerClass);\r\n\tvar containerHeight = 0;\r\n\r\n\tloadMoreCalled = true;\r\n\r\n\t$('.load-more').removeClass('is-loading');\r\n\r\n\t$('.' + tileClass).each(function() {\r\n\t\tvar el = $(this);\r\n\t\tvar imagePlaceholder = el.find('.image-placeholder');\r\n\r\n\t\tif(imagePlaceholder.length == 0 || imagePlaceholder.attr('data-loadStart')) {\r\n\t\t\tvar marginTop = el.css('marginTop').replace('px',''),\r\n\t\t\t\tmarginBottom = el.css('marginBottom').replace('px',''),\r\n\t\t\t\telHeight = el.outerHeight() + parseInt(marginTop) + parseInt(marginBottom);\r\n\r\n\t\t\tif(el.offset().left < el.width())\r\n\t\t\t\tcontainerHeight += elHeight;\r\n\r\n\t\t}\r\n\t});\r\n\r\n\tcontainer.css('height', containerHeight + 'px');\r\n\r\n\tif($('.image-placeholder').length <= 0)\r\n\t\t$('.load-more-wrapper').hide('fast');\r\n}\r\n\r\nvar imageExists = function(imgPath) {\r\n\tvar http = new XMLHttpRequest();\r\n\r\n\thttp.open('HEAD', imgPath, false);\r\n\thttp.send();\r\n\r\n\treturn http.status != 404;\r\n}"]}