function setAlpineProperty(n,t,i){if(n){const r=n._x_dataStack?.[0];r&&(r[t]=i)}}$(function(){var n={cookie:!1,routing:!1,key:!1,id:"",title:"My Moodboard",products:[],isSaved:!1,$elem:!1,hasLoaded:!1,itemsInRow:4,mobile:!1,emptyItemTemplate:'
<\/div><\/div>',fromEmail:{shared:!1,saved:!1},isUserLoggedIn:window.userLoggedIn,loadById(t){n.fromEmail.shared=!0;n.id=t;n.showMoodboard.check();n.cookie&&(n.cookie=n.getMoodboardCookie());n.ajax.getByID()},loadByGuid(t){n.fromEmail.saved=!0;n.id=t;n.update();n.cookie=n.getMoodboardCookie();n.showMoodboard.check()},close(){if(n.fromEmail.shared&&(n.cookie&&(n.id=n.cookie.id,n.products=n.cookie.products,n.id!=""?n.ajax.getProducts():n.updateTemplate()),n.id==""&&n.$elem.find(".drop-down li.save").show(),n.fromEmail.shared=!1,n.showSharedOptions()),n.$elem.hasClass("mobile-view")){n.hideMoodboard.mobile();return}if(n.$elem.hasClass("page-view")){n.hideMoodboard.desktop();return}},initialize:function(t){this.cookie=n.getMoodboardCookie();this.$elem=$(t);this.addEventListeners();this.fromEmail.shared||(this.cookie?(this.cookie=n.getMoodboardCookie(),this.id=this.id==""?this.cookie.id:this.id,this.id!=""?this.ajax.getProducts(!1):(this.cookie&&this.cookie.products&&(this.products=this.cookie.products),this.cookie&&this.cookie.title&&(this.title=this.cookie.title),this.isUserLoggedIn&&this.cookie.products?this.moveTempProductsToDatabase():this.isUserLoggedIn&&this.ajax.getProducts(!1),this.updateTemplate())):this.isUserLoggedIn?this.ajax.get():this.create(function(){n.updateTemplate()}));this.isPage&&this.isUserLoggedIn&&this.ajax.getByUser(function(t){t.length&&($(".list").removeClass("hide"),n.updateMoodboardList(t),$(".list").masonry({itemSelector:".container a",gutter:10}),re)})},showSharedOptions:function(){n.fromEmail.shared?(n.$elem.addClass("shared"),n.$elem.find(".item .actions-container, .edit-title .rename, .drop-down li.delete-moodboard, .drop-down li.share").hide(),n.$elem.find(".drop-down li.copy").show()):(n.$elem.removeClass("shared"),n.$elem.find(".item .actions-container").attr("style",""),n.$elem.find(".edit-title .rename, .drop-down li.delete-moodboard, .drop-down li.share").show(),n.$elem.find(".drop-down li.copy").hide())},showMoodboard:{check:function(){function t(){window.pageScrollPosition=window.pageYOffset;n.showSharedOptions();n.showMoodboard.desktop()}if(n.hasLoaded)t();else $(window).on("moodboardLoaded",function(){window.location.href.includes("Moodboard")&&t()})},mobile:function(){if(n.$elem.find(".item-container .item").length){$("html, body").addClass("noscroll");$("body").addClass("printing-moodboard");n.$elem.addClass("mobile-view");var t=$(window).outerHeight()-$(".wrapper > header").outerHeight()-40;n.$elem.find(".scroll-container").css("height",t+"px");n.$elem.find(".scroll-container").css("padding-bottom",n.$elem.find(".drop-down-container").outerHeight(!0)-10+"px");$("main aside.filters").removeClass("mobile-view");$(".mobile-menu .design-search").removeClass("close-filters active");$(".mobile-menu .moodboard").addClass("close-moodboard active")}else toastr.info(window.resources.EmptyMoodboard)},desktop:function(){var t=$(".wrapper > header").outerHeight(!0);$("html, body").addClass("noscroll");$("body").addClass("printing-moodboard");$(".sidebar").removeClass("fixed");n.$elem.addClass("page-view")}},hideMoodboard:{mobile:function(){$("html, body").removeClass("noscroll");$("body").removeClass("printing-moodboard");n.$elem.removeClass("mobile-view");n.$elem.find(".scroll-container").attr("style","");window.scrollTo(0,window.pageScrollPosition);$(".mobile-menu .moodboard").removeClass("close-moodboard active")},desktop:function(){$("html, body").removeClass("noscroll");$("body").removeClass("printing-moodboard");$(".sidebar").addClass("fixed");window.scrollTo(0,window.pageScrollPosition);n.$elem.removeClass("page-view");n.$elem.find(".item-container").css("height","")}},updateItemButtons:function(){$.each(n.products,function(){var n=this,t=$('.item[data-stockcode="'+n+'"]');t.find(".add-to-moodboard").addClass("delete")});$(".search-item-container").addClass("moodboard-loaded")},notification:function(n,t){switch(n){case"Info":toastr.info(t);break;case"Success":toastr.success(t);break;case"Warning":toastr.warning(t);break;case"Error":default:toastr.error(t)}},hasProducts:function(){var n=this.$elem.find(".item-container .item:not(.empty)");n.length?(this.$elem.removeClass("empty"),this.$elem.find(".no-products").removeClass("show")):(this.$elem.addClass("empty"),this.$elem.find(".no-products").addClass("show"))},moveTempProductsToDatabase:function(t){var i=n.products;i.length&&this.ajax.createNew(function(){$.each(i,function(){n.ajax.addProduct(this)});typeof t=="function"&&t()})},addEventListeners:function(){n.$elem.bind("moodboardChange",function(t){t.stopPropagation();typeof imagesLoaded=="function"?n.$elem.imagesLoaded(function(){n.$elem.removeClass("loading")}):n.$elem.removeClass("loading");$(window).trigger("moodboardLoaded")});n.$elem.find(".mobile-dropdown-button").on("click",function(){var n=$(this);n.toggleClass("open");n.next(".drop-down").slideToggle();n.find(".fa").toggleClass("fa-angle-up fa-angle-down")});n.$elem.find(".open-moodboard-page").on("click",function(n){n.stopPropagation();window.routing.navigate("/Moodboard",!0)});n.$elem.find(".close-moodboard-page").on("click",function(n){n.stopPropagation();window.routing.navigate("/")});$(".mobile-menu .moodboard").on("click",function(t){if(t.preventDefault(),t.stopPropagation(),n.$elem.hasClass("page-view")){window.routing.navigate("/");return}window.routing.navigate("/Moodboard",!0)});$(document).on("opening",".remodal[data-remodal-moodboard]",function(){var n=$(this).find("input:not(:hidden)").first();n.focus()});$(window).on("moodboardLoaded",function(){n.hasLoaded=!0;n.isSaved||n.isUserLoggedIn?n.$elem.find(".drop-down li.save").hide():n.$elem.find(".drop-down li.save").show()});$(document).on("click",".add-to-moodboard",function(t){t.preventDefault();var r=$(this),i=r.parents(".item");r.hasClass("delete")?n.deleteProduct(i,function(){n.$elem.find('.item-container .item[data-stockcode="'+i.attr("data-stockcode")+'"]').replaceWith(n.emptyItemTemplate);n.hasProducts();n.$elem.find(".item-container .item.empty").remove();n.updateEmptyRows();n.notification("Success",window.resources.RemovedFromMoodboard);$('.search-item-container .item[data-stockcode="'+i.attr("data-stockcode")+'"] .add-to-moodboard.delete').removeClass("delete");setAlpineProperty(i.closest(".design-detail").get(0),"inMoodboard",!1)}):n.addProduct(i,function(){n.appendItem(i).then(function(){n.hasProducts();n.notification("Success",window.resources.AddedToMoodboard);$('.search-item-container .item[data-stockcode="'+i.attr("data-stockcode")+'"] .add-to-moodboard').addClass("delete");setAlpineProperty(i.closest(".design-detail").get(0),"inMoodboard",!0)})})});$(document).on("click",".moodboard .delete",function(t){t.preventDefault();var i=$(this).parents(".item");n.deleteProduct(i,function(){i.remove();$('.search-item-container .item[data-stockcode="'+i.attr("data-stockcode")+'"] .add-to-moodboard').removeClass("delete");n.hasProducts();n.$elem.find(".item-container .item.empty").remove();n.updateEmptyRows();n.notification("Success",window.resources.RemovedFromMoodboard)})});$(document).on("click",".save-moodboard",function(t){t.preventDefault();n.$elem.find(".item-container .item").length?$('[data-remodal-id="saveMoodboard"]').remodal().open():n.notification("Info",window.resources.SaveMoodboardEmpty)});$('[data-remodal-id="saveMoodboard"] form').on("submit",function(){var t=$(this),i={Title:n.title,EmailAddress:t.find("#email").val(),g_Recaptcha_Response:t.find(".g-recaptcha-response").val()};return t.find(".remodal-confirm").addClass("loading"),n.ajax.save(i,function(){t.hasClass("share")?($('[data-remodal-id="saveMoodboard"]').remodal().close(),$('[data-remodal-id="shareMoodboard"]').remodal().open()):$('[data-remodal-id="saveMoodboard"]').remodal().close();$("button.loading").removeClass("loading");var i=$("#recaptcha-save").data("grecaptcha-id");grecaptcha.reset(i);n.isSaved=!0;n.$elem.find(".drop-down li.save").hide()}),!1});$(document).on("confirmation",'[data-remodal-id="saveMoodboard"], [data-remodal-id="newMoodboard"]',function(){n.clearMoodboard()});$(document).on("click",".share-moodboard",function(t){if(t.preventDefault(),n.$elem.find(".item-container .item").length)if(n.isSaved){$('[data-remodal-id="shareMoodboard"]').remodal().open();var i=window.appConfig.smsCountries;const n=$('[data-remodal-id="shareMoodboard"] .form-phone').get(0);window.intlTelInput(n,{loadUtils:()=>import("/Scripts/lib/intlTelInput-utils.min.js"),onlyCountries:window.appConfig.smsCountries,countrySearch:!1})}else $('[data-remodal-id="saveMoodboard"]').remodal().open(),$('[data-remodal-id="saveMoodboard"]').find("form").addClass("share"),n.notification("Info",window.resources.SaveBeforeShare);else n.notification("Info",window.resources.ShareMoodboardEmpty)});$('[data-remodal-id="shareMoodboard"] form').on("submit",function(){var t=$(this),i,r;if($('[data-remodal-id="shareMoodboard"] .form-response').html(""),t.find(".remodal-confirm").hasClass("loading"))return!1;switch(t.find("input.type").val()){case"email":i={MoodboardId:n.id,RecipientEmail:t.find("input.recipient").val(),FromName:t.find("input.name").val(),g_Recaptcha_Response:t.find(".g-recaptcha-response").val()};r=$("#recaptcha-share-email").data("grecaptcha-id");break;case"sms":i={MoodboardId:n.id,RecipientPhoneNumber:t.find(".form-phone").val(),FromName:t.find("input.name").val(),g_Recaptcha_Response:t.find(".g-recaptcha-response").val()};r=$("#recaptcha-share-sms").data("grecaptcha-id")}return t.find(".remodal-confirm").addClass("loading"),n.ajax.share(i,function(){n.notification("Success",window.resources.ShareMoodboard)},function(){t.find(".remodal-confirm").removeClass("loading");t.find("input.recipient").val("");t.find(".form-phone").val("");var n=t.find(".remodal-confirm").text();n.includes("Again")||t.find(".remodal-confirm").text(n+" Again");grecaptcha.reset(r)}),!1});$(document).on("closed",'[data-remodal-id="shareMoodboard"]',function(){var n=$('[data-remodal-id="shareMoodboard"] form');n.parents(".remodal").find(".hide").hide();n.parents(".remodal").find(".hide .email").text("");n.show()});$(document).keyup(function(t){t.keyCode==27?$(".moodboard .edit-title .rename").hasClass("open")?($(".moodboard .edit-title input").val(n.title),$(".moodboard .edit-title button").trigger("click")):n.$elem.hasClass("page-view")&&window.routing.navigate("/"):t.keyCode==13&&$(".moodboard .edit-title .rename").hasClass("open")&&$(".moodboard .edit-title button").trigger("click")});$(".moodboard .edit-title button").on("click",function(t){function f(){n.title=i;n.update();n.updateTitle();n.notification("Success",window.resources.MoodboardRenamed+" "+i)}t.preventDefault();var r=$(this),u=r.parents(".edit-title").find(".rename"),i=r.parent().find("input").val();u.hasClass("open")&&n.title!=i&&(n.id!=""?n.ajax.rename(i,function(){f()}):f());u.toggleClass("open")});$(document).on("click",".rename-moodboard",function(n){n.preventDefault();$('[data-remodal-id="renameMoodboard"]').remodal().open()});$(document).on("click",".new-moodboard",function(t){t.preventDefault();n.isSaved&&n.isUserLoggedIn?$('[data-remodal-id="createNewMoodboard"]').remodal().open():n.isSaved?n.clearMoodboard():$('[data-remodal-id="newMoodboard"]').remodal().open()});$(document).on("click",".order-samples",function(t){var r,u,i,f;if(t.preventDefault(),n.$elem.find(".item-container .item").length)if(r=$(".bar .basket .quantity").data("basket-quantity-remaining"),u=n.$elem.find(".item-container .item").length,r>=u){i=!1;f=$.cookie("Basket");f?t():Basket.ajax.create(function(){t()});function t(){$.each(n.$elem.find(".item-container .item"),function(){$(this).data("sampleprice")&&$(this).data("sampleprice")!=""?$(this).find(".add-to-basket").trigger("click"):i=!0})}i&&n.notification("Info",window.resources.SampleHasNoPriceMessage)}else n.notification("Error",window.resources.OrderAllSamplesError);else n.notification("Info",window.resources.OrderSamplesMoodboardEmpty)});$(document).on("click",".view-moodboard-products",function(t){t.preventDefault();var i=$(this).data("moodboard-id");if(n.id==i)return!1;n.ajax.getProducts(i);$(".view-moodboard-products").removeClass("active");$(this).addClass("active")});$(document).on("click",".download-moodboard",function(t){t.preventDefault();var i=window.location.origin+"/Moodboard/Download/"+n.id;window.open(i,"_blank")});$(document).on("click",".copy-moodboard",function(t){function i(){n.cookie?(n.id=n.cookie.id,n.products=n.cookie.products?n.cookie.products:[]):n.id="";$.each(n.$elem.find(".item-container .item:not(.empty)"),function(){n.addProduct($(this))});n.id!=""?n.ajax.getProducts():n.updateTemplate();window.routing.navigate("/");n.notification("Success","Copied")}t.preventDefault();n.cookie?i():n.isUserLoggedIn?n.ajax.get(function(){i()}):n.create(function(){i()})})},create:function(t){$.cookie("Moodboard",JSON.stringify({id:"",title:"Your Moodboard",products:[]}),{expires:7,path:"/"});n.id="";n.title="Your Moodboard";window.ga&&ga.create&&ga("send","event","Moodboard","Created");t()},update:function(){$.cookie("Moodboard",JSON.stringify({id:this.id,title:this.title,products:this.products}),{expires:7,path:"/"})},updateTitle:function(){$(".moodboard .edit-title .title").text(n.title);$(".moodboard .edit-title input").val(n.title)},updateMoodboardList:function(n){var t=$("#moodboard-list-template").html(),i=Handlebars.compile(t),r={Moodboards:n},u=i(r);$(".moodboard-items .list .container").html(u)},updateEmptyRows:function(){function u(){for(var t=0;tn===t)},deleteProduct:function(t,i){var r=t.attr("data-stockcode");this.id?this.ajax.deleteProduct(r,function(){n.products=$.grep(n.products,function(n){return n.StockCode!==r});i()}):(this.products=this.products.filter(n=>n!==r),this.update(),i())},clearMoodboard:function(){$.removeCookie("Moodboard");n.cookie=null;this.isUserLoggedIn?this.ajax.createNew(function(){n.notification("Success",window.resources.NewMoodboardCreated)}):this.create(function(){n.title="My Moodboard";n.products=[];n.notification("Success",window.resources.NewMoodboardCreated)});$(".search-item-container .item .add-to-moodboard").removeClass("delete");this.$elem.find(".item-container .item").remove();this.hasProducts();this.updateEmptyRows();this.$elem.find(".drop-down li.save").show();n.isSaved=!1;this.$elem.trigger("moodboardChange")},getMoodboardCookie:function(){var i=$.cookie("Moodboard"),t;if(i)return t=JSON.parse(i),t.products&&typeof t.products[0]=="object"&&(t.products=n.getStockCodes(t.products)),t},ProductStore:{put:function(t){return Array.isArray(t)?n.ProductStore.connect().then(function(n){for(var r,f,u=[],i=0;i{var i=n.put(r);i.onerror=function(n){console.log("Error Retrieving Product Data",n)};i.onsuccess=function(){t()}}),u.push(f);return Promise.all(u)}):n.ProductStore.put([t])},get:function(t){return Array.isArray(t)?n.ProductStore.connect().then(function(i){for(var f,u=[],r=0;r{var u=t[r],f=i.get(u);f.onsuccess=function(t){var i=t.target.result,r;i?(r=36e5,i.Timestampn.GetRemote).map(n=>n.StockCode);r.length>0?n.ajax.getProductSummary(r,function(r){t.forEach(function(t){if(t.GetRemote){var i=r.find(n=>n.StockCode==t.StockCode);i?(Object.assign(t,i),t.GetRemote=!1,n.ProductStore.put(t)):console.log("Moodboard item not found: "+t.StockCode)}});t=t.filter(n=>!n.GetRemote);i(t)}):i(t)})})}):n.ProductStore.get([t])},remove:function(){},connect:function(){return new Promise(n=>{var t=window.indexedDB.open("products",1);t.onerror=n=>{console.error("Database error:"+n.target.error.message)};t.onsuccess=t=>{var i=t.target.result,r=i.transaction("Products","readwrite"),u=r.objectStore("Products");n(u);r.oncomplete=function(){i.close()}};t.onupgradeneeded=n=>{var t=n.target.result,i=t.createObjectStore("Products",{keyPath:"StockCode"})}})}},getStockCodes:function(n){return n.map(function(n){return n.StockCode})},ajax:{get:function(t){$.ajax({method:"GET",url:"/api/Moodboard",statusCode:{200:function(i){n.id=i.Id;$.cookie("Moodboard",JSON.stringify({id:n.id}),{path:"/"});n.isSaved=i.IsSaved;n.title=i.Title;n.key=i.Key;n.ProductStore.put(i.Products).then(function(){n.updateTemplate(n.getStockCodes(i.Products)).then(function(){typeof t=="function"&&t()})})},201:function(i){n.id=i.Id;$.cookie("Moodboard",JSON.stringify({id:n.id}),{path:"/"});n.title=i.Title;n.products=[];n.key=i.Key;n.updateTemplate().then(function(){typeof t=="function"&&t()})}}})},getByID:function(){$.ajax({method:"GET",url:"/api/Moodboard/ID",data:{id:n.id},statusCode:{200:function(t){n.id=t.Id;n.title=t.Title;n.isSaved=t.IsSaved;n.ProductStore.put(t.Products).then(function(){n.updateTemplate(n.getStockCodes(t.Products))})},404:function(){n.$elem.removeClass("loading");n.notification("Info",window.resources.MoodboardNotFound)}}})},createNew:function(t){$.ajax({method:"POST",url:"/api/Moodboard",statusCode:{201:function(i){n.id=i.Id;$.cookie("Moodboard",JSON.stringify({id:n.id}),{path:"/"});n.cookie={id:n.id,title:n.title};n.products=[];n.key=i.Key;window.ga&&ga.create&&ga("send","event","Moodboard","Saved",i.Key);typeof t=="function"&&t()},400:function(){n.$elem.removeClass("loading");n.notification("Info",window.resources.BadRequest)}}})},getByUser:function(t){$.ajax({method:"GET",url:"/api/Moodboard/All",statusCode:{200:function(n){t(n)},401:function(){n.$elem.removeClass("loading");n.notification("Info",window.resources.NotLoggedIn)}}})},getProducts:function(t,i){var r=t?t:n.id;$.ajax({method:"GET",url:"/api/Moodboard",data:{id:r},statusCode:{200:function(r){n.id=r.Id;t||$.cookie("Moodboard",JSON.stringify({id:n.id}),{path:"/"});n.isSaved=r.IsSaved;n.title=r.Title;n.products=n.getStockCodes(r.Products);n.ProductStore.put(r.Products).then(function(){n.key=r.Key;n.updateTemplate().then(function(){typeof i=="function"&&i()})})},201:function(t){n.id=t.Id;$.cookie("Moodboard",JSON.stringify({id:n.id}),{path:"/"});n.title=t.Title;n.products=[];n.key=t.Key;typeof i=="function"&&i()},404:function(){n.clearMoodboard();n.$elem.removeClass("loading");n.notification("Info",window.resources.InvalidMoodboardCookie);typeof i=="function"&&i()}}})},getProductSummary:function(n,t){$.ajax({method:"POST",url:"/api/Product/Summary",data:JSON.stringify(n),contentType:"application/json",processData:!1,statusCode:{200:function(n){t(n)}}})},addProduct:function(t,i){$.ajax({method:"POST",url:"/api/MoodboardProduct",data:{MoodboardId:n.cookie.id,StockCode:t},statusCode:{200:function(){typeof i=="function"&&i()},400:function(){n.$elem.removeClass("loading");n.notification("Info",window.resources.ItemExistsMoodboard)},404:function(){n.$elem.removeClass("loading");n.notification("Info",window.resources.MoodboardNotFound)}}})},deleteProduct:function(t,i){$.ajax({method:"DELETE",url:"/api/MoodboardProduct",data:{MoodboardId:n.id,StockCode:t},statusCode:{200:function(){typeof i=="function"&&i()},404:function(){n.notification("Info",window.resources.MoodboardNotFound)}}})},rename:function(t,i){$.ajax({method:"PUT",url:"/api/Moodboard",data:{MoodboardId:n.id,Title:t},statusCode:{200:function(){i()},404:function(){n.notification("Info",window.resources.MoodboardNotFound)}}})},save:function(t,i){function r(){$.ajax({method:"PUT",url:"/api/Moodboard",data:{MoodboardId:n.id,Title:n.title,EmailAddress:t.EmailAddress,g_Recaptcha_Response:t.g_Recaptcha_Response},statusCode:{200:function(){typeof i=="function"&&i()},400:function(t){t.responseJSON.Message?n.notification("Info",t.responseJSON.Message):n.notification("Info",window.resources.NotYourMoodboard)},404:function(){n.notification("Info",window.resources.NotLoggedIn)}}})}n.id==""?n.moveTempProductsToDatabase(function(){r()}):r()},share:function(t,i,r){$.ajax({method:"POST",url:"/api/Moodboard/Share",data:t,statusCode:{200:function(r){if(typeof t.RecipientEmail!="undefined"?ga("send","event","Moodboard","Shared Email",n.key):typeof t.RecipientPhoneNumber!="undefined"&&ga("send","event","Moodboard","Shared SMS",n.key),r){var u="";$.each(r,function(){u+=this.Success?'