{"version":3,"sources":["wwwroot/scripts/templates/brands.js"],"names":["$","$brands2Column","$brands3Column","$brands4Column","numberOfColumns","selectors","adjustBrandSorting","newNumberOfColumns","is","console","log","each","$brandList","this","$brands","find","numberOfBrands","size","sortedIndices","i","r","c","originalIndex","sortedBrands","elIndex","$brand","data","detach","html","evo","window","on","jQuery"],"mappings":"CAEA,SAAAA,GACA,IAIAC,EACAC,EACAC,EACAC,EAPAC,EACA,YADAA,EAEA,iBAOA,SAAAC,IAGA,IAAAC,EAAA,EACAN,EAAAO,GAAA,YACAD,EAAA,EACAL,EAAAM,GAAA,YACAD,EAAA,EACAJ,EAAAK,GAAA,cACAD,EAAA,GAGAH,IAAAG,IAGAE,QAAAC,IAAAH,GACAH,EAAAG,EAMAP,EAAAK,GAAAM,MAAA,WAMA,IALA,IAAAC,EAAAZ,EAAAa,MACAC,EAAAF,EAAAG,KAAAV,GACAW,EAAAF,EAAAG,OACAC,EAAA,GAEAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAF,EAAAH,EAAAG,IACAD,EAAAC,GAAAC,EAAAC,EAAAjB,EAEAgB,GAAAC,EAAA,GAAAjB,EAAAY,EACAK,KAEAA,EAAA,EACAD,KAIA,IAAAE,EAAAC,EAAA,GACAT,EAAAH,MAAA,SAAAa,GACA,IAAAC,EAAAzB,EAAAa,MAEAY,EAAAC,KAAA,mBACAD,EAAAC,KAAA,iBAAAF,GAGAF,EAAAG,EAAAC,KAAA,kBACAH,EAAAL,EAAAI,IAAAG,KAGAX,EAAAa,SACAf,EAAAgB,KAAAL,OAIAvB,GAAA,WACAC,EAAAD,EAAA,iBACAE,EAAAF,EAAA,iBACAG,EAAAH,EAAA,iBAEAM,IAEAuB,IAAA7B,EAAA8B,OAAAC,GAAA,SAAAzB,MAzEA,CA2EA0B","file":"brands.min.js","sourcesContent":["///Script responsible for the brand display order within the alphabetical listing\n///algorithm adjusts when screen size (and number of columns) adjusts/resizes\n(function ($) {\n var selectors = {\n brandLink: '.js-brand',\n brandList: '.js-brand-list'\n },\n $brands2Column,\n $brands3Column,\n $brands4Column,\n numberOfColumns;\n\n function adjustBrandSorting() {\n //first determine what the number of columns is\n //to see if we need to update the lists\n var newNumberOfColumns = 1;\n if ($brands2Column.is(':visible')) {\n newNumberOfColumns = 2;\n } else if ($brands3Column.is(':visible')) {\n newNumberOfColumns = 3;\n } else if ($brands4Column.is(':visible')) {\n newNumberOfColumns = 4;\n }\n\n if (numberOfColumns === newNumberOfColumns) {\n return;\n }\n console.log(newNumberOfColumns);\n numberOfColumns = newNumberOfColumns;\n\n //loop through each list (brand listing letter)\n //and determine what the new sort order should be\n //based on the new number of columns and the total\n //number of brands in the list\n $(selectors.brandList).each(function () {\n var $brandList = $(this),\n $brands = $brandList.find(selectors.brandLink),\n numberOfBrands = $brands.size(),\n sortedIndices = [];\n\n for (var i = 0, r = 0, c = 0; i < numberOfBrands; i++) {\n sortedIndices[i] = r + c * numberOfColumns;\n\n if (r + (c + 1) * numberOfColumns < numberOfBrands) {\n c++;\n } else {\n c = 0;\n r++;\n }\n }\n\n var sortedBrands = [], originalIndex;\n $brands.each(function (elIndex) {\n var $brand = $(this);\n\n if (!$brand.data('original-index')) {\n $brand.data('original-index', elIndex);\n }\n\n originalIndex = $brand.data('original-index');\n sortedBrands[sortedIndices[originalIndex]] = $brand;\n });\n\n $brands.detach();\n $brandList.html(sortedBrands);\n });\n }\n\n $(function () {\n $brands2Column = $('#brands-2-col');\n $brands3Column = $('#brands-3-col');\n $brands4Column = $('#brands-4-col');\n\n adjustBrandSorting();\n\n evo.$.window.on('resize', adjustBrandSorting);\n });\n})(jQuery);"]}