{"version":3,"sources":["media-scroller.js"],"names":["$","isDesktop","mobileToggle","hasClass","data","large","checkSize","window","Modernizr","mq","width","createPages","resize","getNextItems","currentIndex","val","toString","includeItems","_getNextItems","isFallPromo","numberOfResults","includes","itemCount","success","append","parseInt","itemsPerPage","each","thisScroller","scrollerItems","error","totalItems","length","totalPages","Math","ceil","i","floor","eq","attr","thisPage","listenForNav","currentPage","filter","removeClass","prevButton","find","nextButton","addClass","updatePagination","bind","thisScroler","$pagination","html","click","event","preventDefault","css"],"mappings":"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","file":"media-scroller.min.js","sourcesContent":["$(function() {\r\n\t//this is only used in conjunction with mobileToggle, number of items shown is dependent on screen size, no device\r\n\tvar isDesktop = false;\r\n\tvar mobileToggle = false;\r\n\tif ($('.media-scroller').hasClass('js-media-scroller-expandable')) {\r\n\t\tmobileToggle = true;\r\n\t}\r\n\tif ($(\"[data-isdesktop]\").data(\"isdesktop\") === \"True\") {\r\n\t\tisDesktop = true;\r\n\t}\r\n\r\n\t//deal with resizing\r\n\t\tvar large;\r\n\t\tvar checkSize = function() {\r\n\t\t\t//console.log(\"check size\");\r\n\t\t\t$(window).on(\"resize.media-scroller\", function() {\r\n\t\t\t\tif (Modernizr.mq('only screen and (min-width: 768px)') || $(window).width() >= 768) {\r\n\t\t\t\t\t//Only trigger these when changing between breakpoints\r\n\t\t\t\t\tif (large == undefined || large == false) {\r\n\t\t\t\t\t\t//console.log(\"it's desktop\");\r\n\t\t\t\t\t\tcreatePages(6);\r\n\t\t\t\t\t\tlarge = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t} else {\r\n\t\t\t\t\t//Only trigger these when changing between breakpoints\r\n\t\t\t\t\tif (large == undefined || large == true) {\r\n\t\t\t\t\t\t//console.log(\"it's mobile\");\r\n\t\t\t\t\t\tcreatePages(2);\r\n\t\t\t\t\t\tlarge = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t}).resize();\r\n\t}\r\n\t\r\n\tgetNextItems = function() {\r\n var numberOfResults = 12;\r\n var currentIndex = $('input[name=\"AdditionalInformation[CurrentIndex]\"]').val();\r\n var itemCount = $('input[name=\"AdditionalInformation[ItemCount]\"]').val();\r\n var includeItems = $('input[name=\"AdditionalInformation[IncludeItems]\"]').val();\r\n var isFallPromo = $('input[name=\"IsFallPromo\"]').val();\r\n\r\n if (isFallPromo === \"undefined\") {\r\n isFallPromo = false;\r\n }\r\n\r\n $.ajax({\r\n type: 'GET',\r\n url: '/scroller/getnextitems',\r\n dataType: 'html',\r\n data: { includes: includeItems, currentIndex: currentIndex, itemCount: itemCount, numberOfResults: numberOfResults, isFallPromo: isFallPromo },\r\n success: function(data) {\r\n $('.Media-Scroller_Items').append(data);\r\n if (data != \"\") {\r\n $('input[name=\"AdditionalInformation[CurrentIndex]\"]').val(parseInt(currentIndex) + parseInt(numberOfResults));\r\n getNextItems();\r\n } else {\r\n\t\t\t\t\tcheckSize();\r\n\t\t\t\t}\r\n }, \r\n error: function(ex) {\r\n\r\n }\r\n });\r\n }\r\n\r\n getNextItems();\r\n\t\r\n\tcreatePages = function(itemsPerPage) {\r\n\t\t$('.media-scroller').each(function() {\r\n\t\tthisScroller = $(this);\r\n\t\tscrollerItems = $(this).find('.Media-Scroller_Item');\r\n\t\ttotalItems = scrollerItems.length;\r\n\t\ttotalPages = Math.ceil(totalItems / itemsPerPage) - 1;\r\n\t\t\tfor (i=0; i < scrollerItems.length;i++) {\r\n\t\t\t\tthisPage = Math.floor(i / itemsPerPage);\r\n\t\t\t\tscrollerItems.eq(i).attr('data-page',thisPage);\r\n\t\t\t}\r\n\t\t\tlistenForNav(thisScroller,totalPages,scrollerItems);\r\n\t\t});\r\n\t}\r\n\t\r\n\tlistenForNav = function (thisScroller, totalPages, scrollerItems) {\r\n\t\tvar currentPage = 0;\r\n\t\t//show first page\r\n\t\tscrollerItems.addClass('hidden');\r\n\t\tscrollerItems.filter('[data-page=0]').removeClass('hidden');\r\n\t\t//pagination buttons\r\n\t\tvar nextButton = thisScroller.find('.Media-Scroller_Next-Button');\r\n\t\tvar prevButton = thisScroller.find('.Media-Scroller_Previous-Button');\r\n\t\t//remove any existing event listeners on these buttons\r\n\t\tnextButton.unbind(\"click.media-scroller\");\r\n\t\tprevButton.unbind(\"click.media-scroller\");\r\n\t\t//hide previous button to begin with\r\n\t\tprevButton.addClass('hidden');\r\n //no next button if there are no further pages\r\n\t\tif (totalPages < 1) {\r\n nextButton.addClass('hidden');\r\n\t\t}\r\n\t\t//console.log(totalPages);\r\n\t\t//initially set pagination info\r\n\t\tupdatePagination(thisScroller,currentPage,totalPages);\r\n\t\tnextButton.bind(\"click.media-scroller\", function() {\r\n\t\t\tif (currentPage < totalPages) {\r\n\t\t\t\t//console.log(\"clicked next\");\r\n\t\t\t\t//console.log(\"page: \" + (currentPage + 1));\r\n\t\t\t\tscrollerItems.filter('[data-page=' + currentPage + ']').addClass('hidden');\r\n\t\t\t\tscrollerItems.filter('[data-page=' + (currentPage + 1) + ']').removeClass('hidden').addClass('ani--slide-in-right');\r\n\t\t\t\tcurrentPage++;\r\n\t\t\t\tupdatePagination(thisScroller,currentPage,totalPages);\r\n\t\t\t\tif (currentPage >= totalPages) {\r\n\t\t\t\t\t$(this).addClass('hidden');\r\n\t\t\t\t}\r\n\t\t\t\tif (currentPage === 1) {\r\n\t\t\t\t\tprevButton.removeClass('hidden');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\tprevButton.bind(\"click.media-scroller\", function() {\r\n\t\t\tif (currentPage > 0) {\r\n\t\t\t\t//console.log(\"clicked prev\");\r\n\t\t\t\t//console.log(\"page: \" + (currentPage - 1));\r\n\t\t\t\tscrollerItems.filter('[data-page=' + currentPage + ']').addClass('hidden');\r\n\t\t\t\tscrollerItems.filter('[data-page=' + (currentPage - 1) + ']').removeClass('hidden').addClass('ani--slide-in-left');\r\n\t\t\t\tcurrentPage--;\r\n\t\t\t\tupdatePagination(thisScroller,currentPage,totalPages);\r\n\t\t\t\tif (currentPage === totalPages - 1) {\r\n\t\t\t\t\tnextButton.removeClass('hidden');\r\n\t\t\t\t}\r\n\t\t\t\tif (currentPage === 0) {\r\n\t\t\t\t\t$(this).addClass('hidden');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t}\r\n\tvar updatePagination = function (thisScroler, currentPage, totalPages) {\r\n\t var $pagination = thisScroller.find('.media-scroller__pagination');\r\n\t if ($pagination.length > 0) {\r\n\t $pagination.html((currentPage + 1) + '/' + (totalPages + 1));\r\n\t }\r\n\t\t}\r\n\t\t\r\n\t//create toggle-able overlays\r\n\tif (isDesktop === false && mobileToggle === true) {\r\n\t\t$('.Media-Scroller_Item').click(function() {\r\n\t\t\tif (!$(this).hasClass('js-media-scroller-selected')) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t}\r\n\t\t\t$('.Media-Scroller_Item_Caption').css('visibility','');\r\n\t\t\t$('.Media-Scroller_Item').removeClass('js-media-scroller-selected');\r\n\t\t\t$(this).find('.Media-Scroller_Item_Caption').css('visibility','visible');\r\n\t\t\t$(this).addClass('js-media-scroller-selected');\r\n\t\t});\r\n\t}\r\n});\r\n"]}