{"version":3,"sources":["ecom-list-view.js"],"names":["Platform","Deferred","execute","setListViewScript","selectedProducts","selectedProductsWithOptions","productSelected","LoadFilters","root","$","data","matchHeight","wrapper","filter","colourFilter","brandFilter","catFilter","catId","brandId","searchString","encodeURIComponent","filterEnabled","filterDisplay","listType","minPriceFilter","maxPriceFilter","html","load","stockNotifyProdId","url","document","on","FilterProducts","pagenum","this","limit","prop","ClearFilters","val","stockNotifyIsVariant","stockNotifyLoggedIn","stockNotifyEmail","stockModal","remodal","RegisterStockNotify","ajax","type","dataType","JSON","stringify","prodId","isVariant","email","contentType","success","result","hide","show","open","fadeOut","fadeIn","alert","error","renderMultiSelectProduct","newItem","clone","attr","hasVariants","hasOptions","hasOptionsAdv","UoM","find","prodName","prodImg","appendTo","submit","e","preventDefault","fbPixelEnabled","btn","id","qty","closest","productId","quantity","trigger","fbq_addToBag","$productsTarget","products","each","$this","push","ProductId","Quantity","qtyTbx","Number","uom","mouseenter","swapIn","mainImgContainer","mainImage","addClass","mouseleave","removeClass","click","hasClass","css","index","remove","jQuery","grep","value","input","siblings","productWrapper","selectedDiv","is","element","inArray","text","length","console","log","key","async","row","opts","variantId","optionsAdv","options","close","focus","handleNextItem","selectedIndex","product","rsp","off","SetPlatformModalContent","OpenPlatformModal","attrList","colourList","brands","categories","filterType","found","attrItem","join","newQuerystring","cnt","i","newUrl","UpdateQueryString","productLimit","qs","cs","minPrice","maxPrice","sort","replace","window","location","history","pushState","waitForImages","wishListBtnClickHandler","href","hash","re","RegExp","test","split","separator","indexOf","InitFilterHeader","next","slideUp","slideDown","InitCats","selectedLink","parents","parent","filterSelectedParent","ShowClearFilterBtn","InitSpecs","InitColours"],"mappings":"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","file":"ecom-list-view.min.js","sourcesContent":["Platform.Deferred.execute(setListViewScript);\r\nvar selectedProducts = [];\r\nvar selectedProductsWithOptions = [];\r\nvar productSelected = {};\r\nfunction LoadFilters() {\r\n var root = $('body').data('root');\r\n\r\n $('.sub-cat-holder-match-height').matchHeight();\r\n $('.product-match-height').matchHeight();\r\n $('.product-info-match-height').matchHeight();\r\n\r\n var wrapper = $('#pf-product-list-page');\r\n var filter = wrapper.data(\"filter\");\r\n var colourFilter = wrapper.data(\"filter-colour\");\r\n var brandFilter = wrapper.data(\"brand-filter\");\r\n var catFilter = wrapper.data(\"cat-filter\");\r\n var catId = wrapper.data(\"cat-id\");\r\n if (catId == \"undefined\") { catId = \"\" };\r\n var brandId = wrapper.data(\"brand-id\");\r\n if (brandId == \"undefined\") { brandId = \"\" };\r\n var searchString = encodeURIComponent(wrapper.data(\"search-string\"));\r\n var filterEnabled = wrapper.data(\"filter-enabled\");\r\n var filterDisplay = wrapper.data(\"filter-on\");\r\n var listType = wrapper.data(\"list-type\");\r\n var minPriceFilter = wrapper.data(\"min-price-filter\");\r\n var maxPriceFilter = wrapper.data(\"max-price-filter\");\r\n\r\n if (filterEnabled == 'True' && filterDisplay == 'True') {\r\n $('#filter').html(\"
\").load(root + \"Widgets/ProductFilterWidget?listType=\" + listType + \"&catId=\" + catId + \"&brandId=\" + brandId +\r\n \"&searchString=\" + searchString + \"&filter=\" + filter + \"&brandFilter=\" + brandFilter +\r\n \"&minPriceFilter=\" + minPriceFilter + \"&maxPriceFilter=\" + maxPriceFilter + \"&colourFilter=\" + colourFilter + \"&catFilter=\" + catFilter);\r\n // Todo may need to re-design the way this is used, as loading the colour filter for CoachHouse in this way caused delays many . \r\n $('#filtersOnly').load(root + \"Widgets/GetSpecFilters?catId=\" + catId + \"&brandId=\" + brandId +\r\n \"&searchString=\" + searchString + \"&filter=\" + filter + \"&brandFilter=\" + brandFilter + \"&colourFilter=\" + colourFilter);\r\n $('#filtersColourOnly').load(root + \"Widgets/GetColourFilters?catId=\" + catId + \"&brandId=\" + brandId +\r\n \"&searchString=\" + searchString + \"&filter=\" + filter + \"&brandFilter=\" + brandFilter + \"&colourFilter=\" + colourFilter);\r\n\r\n }\r\n}\r\nfunction setListViewScript() {\r\n var root = $('body').data('root');\r\n $('.sub-cat-holder-match-height').matchHeight();\r\n $('.product-match-height').matchHeight();\r\n $('.product-info-match-height').matchHeight();\r\n\r\n var wrapper = $('#pf-product-list-page');\r\n LoadFilters();\r\n\r\n var url = wrapper.data('url');\r\n\r\n // add handler for filter options\r\n $(document).on('click', '.ecom-filter-val', function () {\r\n FilterProducts(url);\r\n });\r\n $(document).on('click', '.ecom-filter-colour-val', function () {\r\n FilterProducts(url);\r\n });\r\n\r\n $(document).on('click', '.pf-paging-btn', function () {\r\n var pagenum = $(this).data('pagenum');\r\n FilterProducts(url, pagenum);\r\n });\r\n\r\n $(document).on('click', '.pf-load-more-btn', function () {\r\n var limit = $(this).data('limit');\r\n FilterProducts(url, null, limit);\r\n })\r\n\r\n $(document).on('click', '.clear-filters-button', function () {\r\n $(\".ecom-filter-val\").prop(\"checked\", false);\r\n $(\".ecom-filter-colour-val\").prop(\"checked\", false);\r\n FilterProducts(url);\r\n });\r\n\r\n $(document).on('click', '.clear-filters-button', function () {\r\n ClearFilters(url);\r\n });\r\n\r\n $(document).on('change', '.list-view-select', function () {\r\n var val = $(this).val();\r\n FilterProducts(url);\r\n });\r\n\r\n $(document).on('change', '.ecom-filter-val-select', function () {\r\n FilterProducts(url);\r\n });\r\n // Mobile filter button\r\n //$(document).on('click', '.filter-heading.mobile', function ()\r\n //{ \r\n // if ($('.m-filter-wrapper').hasClass(\"mobile-filter-visible\"))\r\n // {\r\n // $(\".filter-heading-icon\").html(\"+\");\r\n\r\n // }\r\n // else {\r\n // $(\".filter-heading-icon\").html(\"-\");\r\n\r\n // } \r\n // $('.m-filter-wrapper').toggleClass('mobile-filter-visible'); \r\n //});\r\n\r\n // stock notify handler\r\n var stockNotifyProdId;\r\n var stockNotifyIsVariant = \"False\";\r\n var stockNotifyLoggedIn = \"False\";\r\n var stockNotifyEmail = \"\";\r\n var stockModal = $('[data-remodal-id=stock-notify-modal]').remodal();\r\n\r\n $(document).on('click', '.pf-stock-notify-me-btn', function () {\r\n stockNotifyProdId = $(this).data(\"prod-id\");\r\n stockNotifyIsVariant = $(this).data(\"is-variant\");\r\n stockNotifyLoggedIn = $(this).data(\"user-logged-in\");\r\n if (stockNotifyLoggedIn == \"False\") {\r\n $('#stock-notify-content').show();\r\n $('#stock-notify-rsp').hide();\r\n stockModal.open();\r\n }\r\n else {\r\n RegisterStockNotify();\r\n }\r\n });\r\n\r\n $('#register-stock-notify-form').submit(function (e) {\r\n e.preventDefault();\r\n stockNotifyEmail = $('#stock-notify-email').val();\r\n RegisterStockNotify();\r\n });\r\n\r\n function RegisterStockNotify() {\r\n\r\n $.ajax({\r\n url: root + \"UserAccount/RegisterStockNotify\",\r\n type: 'POST',\r\n dataType: 'json',\r\n data: JSON.stringify({\r\n prodId: stockNotifyProdId,\r\n isVariant: stockNotifyIsVariant,\r\n email: stockNotifyEmail\r\n }),\r\n contentType: 'application/json; charset=utf-8',\r\n success: function (data) {\r\n if (data.result == \"ok\") {\r\n if (stockNotifyLoggedIn) {\r\n $('#stock-notify-content').hide();\r\n $('#stock-notify-rsp').show();\r\n stockModal.open();\r\n }\r\n else {\r\n $('#stock-notify-content').fadeOut(function () {\r\n $('#stock-notify-rsp').fadeIn();\r\n });\r\n }\r\n }\r\n else {\r\n alert('Sorry there was a problem processing your request.');\r\n }\r\n },\r\n error: function () {\r\n alert('Sorry there was a problem processing your request.');\r\n }\r\n });\r\n }\r\n\r\n // adding to cart\r\n $(document).on('click', '.product-list-add-to-cart-btn', function () {\r\n var fbPixelEnabled = $('#product-view-container').data(\"fb-pixel\");\r\n var btn = $(this);\r\n var id = btn.data(\"id\");\r\n var wrapper = btn.closest('.list-view-add-cart-wrapper');\r\n var qty = wrapper.find('.qty-tbx').val();\r\n\r\n $.ajax({\r\n url: root + \"Cart/AddToCart\",\r\n type: 'POST',\r\n dataType: 'json',\r\n data: JSON.stringify({ productId: id, quantity: qty }),\r\n contentType: 'application/json; charset=utf-8',\r\n success: function (data) {\r\n //AddedToCart(data);\r\n $(document).trigger('itemAdded.product.platform', data);\r\n //SetCartQty();\r\n if (fbPixelEnabled == \"True\") {\r\n fbq_addToBag();\r\n }\r\n }\r\n });\r\n\r\n return false;\r\n });\r\n\r\n $(document).on('click', '.pf-add-all-to-cart-btn', function () {\r\n var $productsTarget = $($(this).data('products-target'));\r\n var products = [];\r\n $productsTarget.find('.pf-product-list-item').each(function () {\r\n var $this = $(this);\r\n if ($this.data('has-variants') !== 'True' && $this.data('has-options') !== 'True' && $this.data('has-options-adv') !== 'True') {\r\n products.push({\r\n ProductId: $(this).data('id'),\r\n Quantity: $(this).find('.qty-tbx').val()\r\n });\r\n }\r\n });\r\n\r\n $.ajax({\r\n url: root + 'Cart/AddProductsToCart',\r\n type: 'POST',\r\n dataType: 'json',\r\n data: JSON.stringify(products),\r\n contentType: 'application/json; charset=utf-8',\r\n success: function (data) {\r\n $(document).trigger('itemAdded.product.platform', data);\r\n if (fbPixelEnabled == \"True\") {\r\n fbq_addToBag();\r\n }\r\n }\r\n });\r\n\r\n return false;\r\n });\r\n\r\n $(document).on('click', '.list-view-add-cart-wrapper .pf-qty-btn-minus', function () {\r\n var wrapper = $(this).closest('.qtywrapper');\r\n var qtyTbx = wrapper.find('.qty-tbx');\r\n var qty = Number(qtyTbx.val());\r\n var uom = qtyTbx.data('uom');\r\n if (qty > uom)\r\n qty -= uom;\r\n if (qty < 0)\r\n qty = 0;\r\n qtyTbx.val(qty);\r\n });\r\n\r\n $(document).on('click', '.list-view-add-cart-wrapper .pf-qty-btn-plus', function () {\r\n var wrapper = $(this).closest('.qtywrapper');\r\n var qtyTbx = wrapper.find('.qty-tbx');\r\n var qty = Number(qtyTbx.val());\r\n var uom = qtyTbx.data('uom');\r\n qty += uom;\r\n qtyTbx.val(qty);\r\n });\r\n\r\n // group products\r\n $(document).on({\r\n mouseenter: function () {\r\n var swapIn = $(this).data(\"image-url\");\r\n var mainImgContainer = $(this).closest('.pf-product-list-item').find('.pf-list-item-img');\r\n var mainImage = mainImgContainer.prop('src');\r\n $(this).data(\"orig-img-url\", mainImage);\r\n mainImgContainer.prop('src', swapIn);\r\n $(this).addClass('pf-list-group-image-selected');\r\n },\r\n mouseleave: function () {\r\n var swapIn = $(this).data(\"orig-img-url\");\r\n var mainImgContainer = $(this).closest('.pf-product-list-item').find('.pf-list-item-img');\r\n mainImgContainer.prop('src', swapIn);\r\n $(this).removeClass('pf-list-group-image-selected');\r\n },\r\n click: function () {\r\n // Handle click...\r\n }\r\n }, \".pf-list-view-group-prods-wrapper .pf-list-view-group-prod\");\r\n\r\n //Multi select product list\r\n $(document).on('click', '.pf-select-products-btn', function () {\r\n if ($(this).hasClass('pf-multi-selected')) {\r\n $('.pf-select-all-products-btn').css('display', 'none');\r\n $('.pf-multi-select-wrapper').css('display', 'none');\r\n $('.pf-product-list-bottom ').css('display', 'none');\r\n $(this).removeClass('pf-multi-selected');\r\n $(this).html('Select Products');\r\n $(\"#pf-product-listing .pf-multi-select-product\").each(function (index) {\r\n $(this).removeClass('selected');\r\n });\r\n $(\"#pf-product-listing .pf-multi-select-item\").each(function (index) {\r\n $(this).prop('checked', false);\r\n });\r\n $('#pf-product-listing .pf-product-list-item').each(function (index) {\r\n var prodId = $(this).data('id');\r\n var element = $('.pf-multi-select-items-wrapper').find(\".pf-multi-selected-product[data-product-id='\" + prodId + \"']\");\r\n element.remove();\r\n selectedProducts = jQuery.grep(selectedProducts, function (value) {\r\n return value != prodId;\r\n });\r\n selectedProductsWithOptions = jQuery.grep(selectedProductsWithOptions, function (value) {\r\n return value != prodId;\r\n });\r\n });\r\n }\r\n else {\r\n $('.pf-select-all-products-btn').css('display', 'inline-block');\r\n $('.pf-multi-select-wrapper').css('display', 'block');\r\n $('.pf-product-list-bottom ').css('display', 'block');\r\n $(this).addClass('pf-multi-selected');\r\n $(this).html('Deselect All');\r\n }\r\n $('.product-match-height').matchHeight();\r\n });\r\n $(document).on('click', '.pf-multi-select-icon', function () {\r\n var input = $(this).siblings();\r\n var productWrapper = $(this).closest('.pf-product-list-item');\r\n var selectedDiv = productWrapper.find('.pf-multi-select-product');\r\n if (input.is(':checked')) {\r\n input.prop('checked', false);\r\n selectedDiv.removeClass('selected');\r\n //Remove product from summary\r\n var prodId = productWrapper.data('id');\r\n var element = $('.pf-multi-select-items-wrapper').find(\".pf-multi-selected-product[data-product-id='\" + prodId + \"']\");\r\n if (element.data('has-variants') == 'True' || element.data('has-options') == 'True' || element.data('has-options-adv') == 'True') {\r\n selectedProductsWithOptions = jQuery.grep(selectedProductsWithOptions, function (value) {\r\n return value != prodId;\r\n });\r\n }\r\n else\r\n {\r\n selectedProducts = jQuery.grep(selectedProducts, function (value) {\r\n return value != prodId;\r\n });\r\n }\r\n element.remove();\r\n }\r\n else {\r\n if (jQuery.inArray(productWrapper.data('id'), selectedProducts) == -1) {\r\n input.prop('checked', true);\r\n selectedDiv.addClass('selected');\r\n //Adding product to summary\r\n productSelected.prodId = productWrapper.data('id');\r\n productSelected.prodName = productWrapper.find('.pf-product-name').text();\r\n productSelected.prodImg = productWrapper.find('.pf-list-item-img').attr('src')\r\n || $('.pf-product-main-image-wrapper').find('.img:first').attr('src');\r\n productSelected.hasVariants = productWrapper.data('has-variants');\r\n productSelected.hasOptions = productWrapper.data('has-options');\r\n productSelected.hasOptionsAdv = productWrapper.data('has-options-adv');\r\n productSelected.UoM = 1;\r\n if (productWrapper.find('.pf-add-cart-wrapper').find('.pf-qty-wrapper').length) {\r\n productSelected.UoM = productWrapper.find('.pf-qty-select').data('uom');\r\n }\r\n renderMultiSelectProduct();\r\n if (productSelected.hasVariants == 'True' || productSelected.hasOptions == 'True' || productSelected.hasOptionsAdv == 'True') {\r\n selectedProductsWithOptions.push(productSelected.prodId);\r\n }\r\n else {\r\n selectedProducts.push(productSelected.prodId);\r\n }\r\n }\r\n }\r\n });\r\n $(document).on('click', '.pf-select-all-products-btn', function () {\r\n $('#pf-product-listing .pf-product-list-item').each(function (index) {\r\n var prodId = $(this).data('id');\r\n var element = $('.pf-multi-select-items-wrapper').find(\".pf-multi-selected-product[data-product-id='\" + prodId + \"']\");\r\n element.remove();\r\n selectedProducts = jQuery.grep(selectedProducts, function (value) {\r\n return value != prodId;\r\n });\r\n selectedProductsWithOptions = jQuery.grep(selectedProductsWithOptions, function (value) {\r\n return value != prodId;\r\n });\r\n });\r\n $('#pf-product-listing .pf-multi-select-product').each(function (index) {\r\n $(this).addClass('selected');\r\n });\r\n $('#pf-product-listing .pf-multi-select-item').each(function (index) {\r\n $(this).prop('checked', true);\r\n });\r\n $('#pf-product-listing .pf-product-list-item').each(function (index) {\r\n productSelected.prodId = $(this).data('id');\r\n productSelected.prodName = $(this).find('.pf-product-name').text();\r\n productSelected.prodImg = $(this).find('.pf-list-item-img').attr('src')\r\n || $('.pf-product-main-image-wrapper').find('.img:first').attr('src');\r\n productSelected.hasVariants = $(this).data('has-variants');\r\n productSelected.hasOptions = $(this).data('has-options');\r\n productSelected.hasOptionsAdv = $(this).data('has-options-adv');\r\n productSelected.UoM = 1;\r\n if ($(this).find('.pf-add-cart-wrapper').find('.pf-qty-wrapper').length) {\r\n productSelected.UoM = $(this).find('.pf-qty-select').data('uom');\r\n }\r\n renderMultiSelectProduct();\r\n if (productSelected.hasVariants == 'True' || productSelected.hasOptions == 'True' || productSelected.hasOptionsAdv == 'True') {\r\n selectedProductsWithOptions.push(productSelected.prodId);\r\n }\r\n else {\r\n selectedProducts.push(productSelected.prodId);\r\n }\r\n });\r\n });\r\n $('body').on('click', 'a.pf-multi-select-remove-item', function () {\r\n var productWrapper = $(this).closest('.pf-multi-selected-product');\r\n if (productWrapper.data('has-variants') == 'True' || productWrapper.data('has-options') == 'True' || productWrapper.data('has-options-adv') == 'True') {\r\n selectedProductsWithOptions = jQuery.grep(selectedProductsWithOptions, function (value) {\r\n return value != productWrapper.data('product-id');\r\n });\r\n }\r\n else\r\n {\r\n selectedProducts = jQuery.grep(selectedProducts, function (value) {\r\n return value != productWrapper.data('product-id');\r\n });\r\n }\r\n //Delete selected status from main product list\r\n var input = $('#list-products-wrapper').find(\".pf-multi-select-item[data-prod-id='\" + productWrapper.data('product-id') + \"']\");\r\n input.closest('.pf-product-list-item').find('.pf-multi-select-product').removeClass('selected');\r\n input.prop('checked', false);\r\n //Removing from summary\r\n productWrapper.remove();\r\n });\r\n function renderMultiSelectProduct() {\r\n var newItem = $('#MultiSeletedItemTemplate').clone();\r\n newItem.attr('id', '');\r\n newItem.attr('data-product-id', productSelected.prodId);\r\n newItem.attr('data-has-variants', productSelected.hasVariants);\r\n newItem.attr('data-has-options', productSelected.hasOptions);\r\n newItem.attr('data-has-options-adv', productSelected.hasOptionsAdv);\r\n newItem.attr('data-uom', productSelected.UoM);\r\n newItem.find('.pf-product-name').html(productSelected.prodName);\r\n newItem.find('img').attr('src', productSelected.prodImg);\r\n newItem.appendTo('.pf-multi-select-items-wrapper');\r\n }\r\n $(document).on('click', '.pf-multi-select-action-buttons-wrapper .pf-qty-btn-minus', function () {\r\n var wrapper = $(this).closest('.qtywrapper');\r\n var qtyTbx = wrapper.find('.qty-tbx');\r\n var qty = Number(qtyTbx.val());\r\n var uom = 1;\r\n if (qty > uom)\r\n qty -= uom;\r\n if (qty < 0)\r\n qty = 0;\r\n qtyTbx.val(qty);\r\n });\r\n $(document).on('click', '.pf-multi-select-action-buttons-wrapper .pf-qty-btn-plus', function () {\r\n var wrapper = $(this).closest('.qtywrapper');\r\n var qtyTbx = wrapper.find('.qty-tbx');\r\n var qty = Number(qtyTbx.val());\r\n var uom = 1;\r\n qty += uom;\r\n qtyTbx.val(qty);\r\n });\r\n $(document).on('click', '.pf-multi-select-action-buttons-wrapper .pf-multi-select-all-to-cart', function () {\r\n var qty = $('.pf-multi-select-action-buttons-wrapper').find('.qty-tbx').val();\r\n var fbPixelEnabled = $('#product-view-container').data(\"fb-pixel\");\r\n //Handle normal products\r\n console.log(selectedProducts);\r\n console.log(selectedProductsWithOptions);\r\n $.each(selectedProducts, function (key, value) {\r\n var product = $('.pf-multi-select-items-wrapper').find(\"[data-product-id='\" + value + \"']\");\r\n //var UoM = product.data('uom');\r\n //var qtyTotal = qty * UoM;\r\n $.ajax({\r\n url: root + \"Cart/MultiSelectAddToCart\",\r\n async: false,\r\n type: 'POST',\r\n dataType: 'json',\r\n data: JSON.stringify({ prodId: value, qty: qty }),\r\n contentType: 'application/json; charset=utf-8',\r\n success: function (data) {\r\n // standard cart handler\r\n $(document).trigger('itemAdded.product.platform', data);\r\n if (fbPixelEnabled == \"True\") {\r\n fbq_addToBag();\r\n }\r\n }\r\n });\r\n console.log(value);\r\n });\r\n $(document).on('click', '#platformModal .pf-add-to-cart-btn', function () {\r\n var fbPixelEnabled = $('#product-view-container').data(\"fb-pixel\");\r\n var btn = $(this);\r\n var row = btn.closest('.pf-add-cart-row');\r\n var id = btn.data(\"id\");\r\n var opts = btn.data(\"options\");\r\n var variantId = $(btn).data(\"variant-id\");\r\n var qty = row.find('.pf-qty-select').val();\r\n var optionsAdv = $(this).data('options-adv');\r\n\r\n $.ajax({\r\n url: root + \"Cart/AddToCart\",\r\n type: 'POST',\r\n dataType: 'json',\r\n data: ({\r\n productId: id,\r\n variantId: variantId === 0 ? null : variantId,\r\n quantity: qty,\r\n options: opts,\r\n optionsAdv: optionsAdv\r\n }),\r\n //contentType: 'application/json; charset=utf-8',\r\n success: function (data) {\r\n //AddedToCart(data);\r\n $(document).trigger('itemAdded.product.platform', data);\r\n $('.pf-quick-add-to-cart-alert').hide();\r\n var pModal = $('[data-remodal-id=platformModal]').remodal();\r\n pModal.close();\r\n $('.pf-quick-order-quick-entry-code').val('').focus();\r\n //SetCartQty();\r\n if (fbPixelEnabled == \"True\") {\r\n fbq_addToBag();\r\n }\r\n }\r\n });\r\n\r\n return false;\r\n });\r\n \r\n //Handle products with options\r\n var handleNextItem = function (selectedIndex, selectedProductsWithOptions) {\r\n if (selectedIndex >= selectedProductsWithOptions.length)\r\n return;\r\n\r\n var productId = selectedProductsWithOptions[selectedIndex];\r\n var product = $('.pf-multi-select-items-wrapper').find(\"[data-product-id='\" + productId + \"']\");\r\n //var UoM = product.data('uom');\r\n //var qtyTotal = qty * UoM;\r\n $.ajax({\r\n url: root + \"Cart/MultiSelectAddToCart\",\r\n async: false,\r\n type: 'POST',\r\n dataType: 'json',\r\n data: JSON.stringify({ prodId: productId, qty: qty }),\r\n contentType: 'application/json; charset=utf-8',\r\n success: function (data) {\r\n if (data.result == \"showpopup\") {\r\n //show popup for product\r\n $.ajax({\r\n url: root + \"Products/SelectProductOptions\",\r\n async: false,\r\n type: 'POST',\r\n data: { id: productId },\r\n success: function (rsp) {\r\n $(document).off('closed', '#platformModal').on('closed', '#platformModal', function (e) {\r\n handleNextItem(selectedIndex + 1, selectedProductsWithOptions);\r\n });\r\n SetPlatformModalContent(\"Select Options for - \" + product.find('.pf-product-name').text(), rsp);\r\n OpenPlatformModal(\"650px\");\r\n }\r\n });\r\n }\r\n else if (data.result == \"ok-out-of-stock\" || data.result == \"ok-stock-limited\")\r\n {\r\n handleNextItem(selectedIndex + 1, selectedProductsWithOptions);\r\n }\r\n else {\r\n // standard cart handler\r\n $(document).trigger('itemAdded.product.platform', data);\r\n if (fbPixelEnabled == \"True\") {\r\n fbq_addToBag();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n handleNextItem(0, selectedProductsWithOptions);\r\n //remove items from summary and items selected\r\n $(\"#pf-product-listing .pf-multi-select-product\").each(function (index) {\r\n $(this).removeClass('selected');\r\n });\r\n $(\"#pf-product-listing .pf-multi-select-item\").each(function (index) {\r\n $(this).prop('checked', false);\r\n });\r\n $('#pf-product-listing .pf-product-list-item').each(function (index) {\r\n var prodId = $(this).data('id');\r\n var element = $('.pf-multi-select-items-wrapper').find(\".pf-multi-selected-product[data-product-id='\" + prodId + \"']\");\r\n if (element.data('has-variants') == 'True' || element.data('has-options') == 'True' || element.data('has-options-adv') == 'True') {\r\n selectedProductsWithOptions = jQuery.grep(selectedProductsWithOptions, function (value) {\r\n return value != prodId;\r\n });\r\n }\r\n else {\r\n selectedProducts = jQuery.grep(selectedProducts, function (value) {\r\n return value != prodId;\r\n });\r\n }\r\n element.remove();\r\n });\r\n $('.pf-product-list-bottom ').css('display', 'none');\r\n $('.pf-multi-select-wrapper').css('display', 'none');\r\n $('.pf-select-all-products-btn').css('display', 'none');\r\n $('.pf-select-products-btn').removeClass('pf-multi-selected');\r\n $('.pf-select-products-btn').html('Select Products');\r\n return false;\r\n });\r\n}\r\n\r\n//function AddedToCart(data) {\r\n// if (data.result == \"ok\") {\r\n// GetAndOpenTopCart();\r\n// $(\"html, body\").animate({ scrollTop: 0 }, \"slow\"); // scroll to top\r\n// }\r\n// if (data.result == \"ok-stock-limited\") {\r\n// alert(\"Sorry there are only \" + data.qty + \" of these items available in stock.\");\r\n// GetAndOpenTopCart();\r\n// $(\"html, body\").animate({ scrollTop: 0 }, \"slow\"); // scroll to top\r\n// }\r\n// if (data.result == \"ok-out-of-stock\") {\r\n// alert(\"Sorry this item is no longer in stock.\");\r\n// GetTopCart();\r\n// }\r\n//}\r\n\r\nfunction FilterProducts(url, pagenum, limit) {\r\n // get the list of selected options and build querystring\r\n\r\n var attrList = [];\r\n var colourList = [];\r\n var s = [];\r\n var brands = [];\r\n var categories = [];\r\n $('.ecom-filter-group').each(function () {\r\n var id = $(this).data(\"filter-attr\");\r\n var filterType = $(this).data(\"filter-type\");\r\n var found = false;\r\n var attrItem = [];\r\n $(this).closest(\".pf-filter-dropdown\").find(\".ecom-filter-val\").each(function () {\r\n if ($(this).is(':checked')) {\r\n\r\n if (filterType == \"val\") {\r\n attrItem.push($(this).data(\"filter-attr-val\"));\r\n found = true;\r\n }\r\n //if (filterType == \"val\") {\r\n // s.push($(this).data(\"filter-attr-val\"));\r\n //}\r\n else if (filterType == \"brand\") {\r\n brands.push($(this).val());\r\n }\r\n else if (filterType == \"category\") {\r\n categories.push($(this).val());\r\n }\r\n }\r\n });\r\n if (found == true) {\r\n attrList.push(id + \"|\" + attrItem.join('-'));\r\n }\r\n });\r\n $('.ecom-colour-group').each(function () {\r\n var id = $(this).data(\"filter-attr\");\r\n var filterType = $(this).data(\"filter-type\");\r\n $(this).closest(\".pf-filter-dropdown\").find(\".ecom-filter-colour-val\").each(function () {\r\n if ($(this).is(':checked')) {\r\n\r\n if (filterType == \"col\") {\r\n colourList.push($(this).data(\"filter-colour-val\"));\r\n }\r\n }\r\n });\r\n });\r\n var wrapper = $('#pf-product-list-page');\r\n wrapper.data(\"filter-colour\", colourList.join('-'));\r\n\r\n var newQuerystring = \"\";\r\n var cnt = 0;\r\n for (var i in attrList) {\r\n newQuerystring += attrList[i];\r\n cnt++;\r\n if (cnt < attrList.length) {\r\n newQuerystring += \",\";\r\n }\r\n }\r\n\r\n // attributes\r\n //var qs = s.join('-');\r\n //// gets new url to call\r\n\r\n var newUrl = UpdateQueryString(\"pf\", newQuerystring, url);\r\n wrapper.data('filter', newQuerystring);\r\n if (pagenum) {\r\n newUrl = UpdateQueryString(\"page\", pagenum, newUrl);\r\n }\r\n\r\n // query limit dropdown\r\n // if populated update limit value based on parameter.\r\n if (limit) {\r\n newUrl = UpdateQueryString(\"limit\", limit, newUrl);\r\n } else {\r\n var productLimit = $('#product-limit').val();\r\n newUrl = UpdateQueryString(\"limit\", productLimit, newUrl);\r\n }\r\n\r\n //// brands\r\n qs = brands.join('-');\r\n newUrl = UpdateQueryString(\"br\", qs, newUrl);\r\n wrapper.data('brand-filter', qs);\r\n\r\n //Categories\r\n qs = categories.join('-');\r\n newUrl = UpdateQueryString(\"ca\", qs, newUrl);\r\n wrapper.data('cat-filter', qs);\r\n //Colour\r\n cs = colourList.join('-');\r\n newUrl = UpdateQueryString(\"cf\", cs, newUrl);\r\n\r\n // price ranges\r\n var minPrice = $('#min-price-filter').val();\r\n if (typeof minPrice != 'undefined' && minPrice != -1) {\r\n newUrl = UpdateQueryString(\"minprice\", minPrice, newUrl);\r\n }\r\n var maxPrice = $('#max-price-filter').val();\r\n if (typeof maxPrice != 'undefined' && maxPrice != -1) {\r\n newUrl = UpdateQueryString(\"maxprice\", maxPrice, newUrl);\r\n }\r\n\r\n // sorting\r\n var sort = $('#product-sort').val();\r\n if (typeof sort != 'undefined') {\r\n newUrl = UpdateQueryString(\"listby\", sort, newUrl);\r\n }\r\n\r\n if (newUrl == newUrl.replace(\"Category\", \"ListProducts\")) {\r\n //if not a expected async call, just redirect.\r\n window.location = newUrl;\r\n } else {\r\n //redirect to async call and update the list wrapper html on response\r\n newUrl = newUrl.replace(\"Category\", \"ListProducts\");\r\n\r\n $.ajax({\r\n url: newUrl,\r\n type: 'GET',\r\n contentType: 'application/json; charset=utf-8',\r\n success: function (data) {\r\n // update URL for re-navigating to the page if required. \r\n history.pushState({ id: 'products' }, 'pagetitle', newUrl.replace(\"ListProducts\", \"Category\"))\r\n $('#list-products-wrapper').html(data);\r\n $('#list-products-wrapper').waitForImages(function () {\r\n $('.sub-cat-holder-match-height').matchHeight();\r\n $('.product-match-height').matchHeight();\r\n $('.product-info-match-height').matchHeight();\r\n });\r\n LoadFilters();\r\n wishListBtnClickHandler();\r\n },\r\n error: function () {\r\n alert('Sorry there was a problem processing your request.');\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction UpdateQueryString(key, value, url) {\r\n if (!url) url = window.location.href;\r\n var re = new RegExp(\"([?&])\" + key + \"=.*?(&|#|$)(.*)\", \"gi\"),\r\n hash;\r\n\r\n if (re.test(url)) {\r\n if (typeof value !== 'undefined' && value !== null)\r\n return url.replace(re, '$1' + key + \"=\" + value + '$2$3');\r\n else {\r\n hash = url.split('#');\r\n url = hash[0].replace(re, '$1$3').replace(/(&|\\?)$/, '');\r\n if (typeof hash[1] !== 'undefined' && hash[1] !== null)\r\n url += '#' + hash[1];\r\n return url;\r\n }\r\n }\r\n else {\r\n if (typeof value !== 'undefined' && value !== null) {\r\n var separator = url.indexOf('?') !== -1 ? '&' : '?';\r\n hash = url.split('#');\r\n url = hash[0] + separator + key + '=' + value;\r\n if (typeof hash[1] !== 'undefined' && hash[1] !== null)\r\n url += '#' + hash[1];\r\n return url;\r\n }\r\n else\r\n return url;\r\n }\r\n}\r\n\r\nfunction ClearFilters(url) {\r\n // call url\r\n var newUrl = UpdateQueryString(\"pf\", null, url);\r\n newUrl = UpdateQueryString(\"br\", null, newUrl);\r\n newUrl = UpdateQueryString(\"cf\", null, newUrl);\r\n newUrl = UpdateQueryString(\"ca\", null, newUrl);\r\n window.location = newUrl;\r\n}\r\n\r\nfunction InitFilterHeader() {\r\n $('.pf-filter-header').off(\"click\"); // can cause duplicate events to be bound on ajax load. try to remove onclick event before adding a new one. \r\n $('.pf-filter-header').on(\"click\", function () {\r\n var filter = $(this).closest('.pf-filter-header').next('.pf-filter-items');\r\n var trigger = $(this).find('.pf-filter-main-dropdown-btn');\r\n if (filter.is(':visible')) {\r\n filter.slideUp();\r\n trigger.addClass('closed');\r\n trigger.removeClass('open');\r\n }\r\n else {\r\n filter.slideDown();\r\n trigger.removeClass('closed');\r\n trigger.addClass('open');\r\n }\r\n });\r\n}\r\n\r\nfunction InitCats() {\r\n $('.filter-cats-sub').hide();\r\n var selectedLink = $('.cat-selected');\r\n\r\n // open cat parents for selected cat\r\n var parents = selectedLink.parents('nav');\r\n parents.show();\r\n $('.pf-filter-dropdown-btn.opened').parent().siblings('.filter-cats-sub').show();\r\n selectedLink.parents('.filter-cats').siblings('.pf-filter-item').find('.pf-filter-dropdown-btn').removeClass('closed');\r\n //parents.find('.filter-dropdown-icon').removeClass('closed');\r\n //parents.find('.filter-dropdown-icon').addClass('open');\r\n\r\n // open filter specs for selected\r\n var filterSelectedParent = $('.ecom-filter-val.filter-selected').closest('.pf-filter-dropdown-btn');\r\n filterSelectedParent.find('.pf-filter-dropdown-btn').removeClass('closed');\r\n filterSelectedParent.find('.filter-dropdown-list').show();\r\n\r\n $('.pf-filter-dropdown-btn').click(function () {\r\n var parent = $(this).closest('.pf-filter-item');\r\n if (parent.next('nav').is(':visible')) {\r\n parent.next('nav').slideUp();\r\n parent.find('.pf-filter-dropdown-btn').addClass('closed');\r\n }\r\n else {\r\n parent.next('nav').slideDown();\r\n parent.find('.pf-filter-dropdown-btn').removeClass('closed');\r\n }\r\n //$(this).next('nav').slideToggle().toggleClass('filter-closed');\r\n });\r\n\r\n if ($('.ecom-filter-val.filter-selected')[0]) {\r\n ShowClearFilterBtn();\r\n }\r\n}\r\n\r\nfunction InitSpecs() {\r\n\r\n // open filter specs for selected\r\n var filterSelectedParent = $('.ecom-filter-val.filter-selected').closest('.filter-dropdown');\r\n filterSelectedParent.find('.pf-spec-filter-dropdown-btn').removeClass('closed');\r\n filterSelectedParent.find('.filter-dropdown-list').show();\r\n $(document).on('click', '.pf-spec-filter-dropdown-btn', function () {\r\n var parent = $(this).closest('.pf-filter-item');\r\n if (parent.next('nav').is(':visible')) {\r\n parent.next('nav').slideUp();\r\n parent.find('.pf-spec-filter-dropdown-btn').addClass('closed');\r\n }\r\n else {\r\n parent.next('nav').slideDown();\r\n parent.find('.pf-spec-filter-dropdown-btn').removeClass('closed');\r\n }\r\n //$(this).next('nav').slideToggle().toggleClass('filter-closed');\r\n });\r\n\r\n if ($('.ecom-filter-val.filter-selected')[0]) {\r\n ShowClearFilterBtn();\r\n }\r\n}\r\nfunction InitColours() {\r\n\r\n // open filter colour if selected\r\n var filterSelectedParent = $('.ecom-filter-colour-val.filter-selected').closest('.filter-dropdown');\r\n filterSelectedParent.find('.pf-colour-filter-dropdown-btn').removeClass('closed');\r\n filterSelectedParent.find('.filter-dropdown-list').show();\r\n\r\n $(document).on('click', '.pf-colour-filter-dropdown-btn', function () {\r\n var parent = $(this).closest('.pf-colour-item');\r\n if (parent.next('nav').is(':visible')) {\r\n parent.next('nav').slideUp();\r\n parent.find('.pf-colour-filter-dropdown-btn').addClass('closed');\r\n }\r\n else {\r\n parent.next('nav').slideDown();\r\n parent.find('.pf-colour-filter-dropdown-btn').removeClass('closed');\r\n }\r\n //$(this).next('nav').slideToggle().toggleClass('filter-closed');\r\n });\r\n\r\n if ($('.ecom-filter-colour-val.filter-selected')[0]) {\r\n ShowClearFilterBtn();\r\n }\r\n}\r\n\r\nfunction ShowClearFilterBtn() {\r\n $('#pf-clear-filters-btn').css('display', 'inline-block');\r\n}"]}