var umbracoContentApp=angular.module("UmbracoContentWidget",["ngResource","ngRoute","ui.router","ngDialog","ngSanitize","ngAnimate",]).config(["ngDialogProvider",function(n){n.setDefaults({showClose:!1,closeByDocument:!0,closeByEscape:!0,disableAnimation:!0})}]);umbracoContentApp.directive("imageonload",function(){return{restrict:"A",link:function(n,t,i){t.bind("load",function(){n.$apply(i.imageonload)})}}});umbracoContentApp.controller("SampleController",["$scope","ProductService","$timeout","$rootScope",function(n,t,i,r){n.errors={};n.$cartField=$(".umbraco-forms-field.cartitems input")[0];n.maxItems=n.$cartField.value==""?3:n.$cartField.value;n.$galleryItemIncField=$(".umbraco-forms-field.isgalleryitemincluded input")[0];n.getProducts=function(r){n.loading=!0;n.products=t.getProductsBySite({homepageId:r},function(){i(function(){$(".c-accordion").each(initAccordion);n.loading=!1})});n.products.$promise.catch(function(){n.error.product=""})};r.cart=[];n.$watch("cart",function(){var t=!1;n.$cartField.value="";angular.forEach(n.cart,function(i){n.$cartField.value+=i.product.name+"/"+i.fabric.name+"/"+i.swatch.name+", ";i.fabric.isGalleryFabric&&(t=!0)});n.$galleryItemIncField.value=t;r.cart.length>0&&delete n.errors.cart},!0);n.removeFromCart=function(n){r.cart[n].swatch.inCart=!1;r.cart.splice(n,1)};n.cartContains=function(n){var t=!1;return angular.forEach(r.cart,function(i){i.product.id==n&&(t=!0)}),t};n.validateForm=function(t){if(r.cart.length>0)return!0;t.preventDefault();$("html, body").animate({scrollTop:0},"slow");n.errors.cart="Please add at least 1 sample."}}]);umbracoContentApp.controller("SampleItemController",["$scope","ProductService","$timeout","$rootScope",function(n,t,i,r){n.error={};n.getFabrics=function(i,r){if(n.productId=i,n.fabrics==undefined){if(n.loading=!0,r!=undefined)switch(r.site){case"commercial":n.fabrics=t.getCommercialFabricsById({productId:n.productId},function(t){angular.forEach(t,function(n){angular.forEach(n.colours,function(n){n.name=n.colourTitle})});n.loadImages()});break;default:n.fabrics=t.getFabricsAndMaterialsById({productId:i},n.loadImages)}else n.fabrics=t.getFabricsAndMaterialsById({productId:i},n.loadImages);n.fabrics.$promise.catch(function(){n.error.fabric="Failed to fetch fabrics for this product."})}};n.loadImages=function(){n.loading=!1;i(function(){n.loadImages=!0},500)};n.addToCart=function(t,i,u){var e,f;u.inCart?(f=[],angular.forEach(r.cart,function(n,t){u.name==n.swatch.name&&i.id==n.fabric.id&&f.push(t)}),f.length==1&&(u.inCart=!1,r.cart.splice(f[0],1))):r.cart.length<n.maxItems&&(u.inCart=!0,e={product:t,fabric:i,swatch:u},r.cart.push(e))}}]);umbracoContentApp.factory("ProductService",["$resource",function(n){return n("/api/Product/AllProducts",{},{getProductsByCatName:{url:"/api/Product/ProductsByCategoryName/:productCategoryName",method:"get",isArray:!0},getProductsById:{url:"/api/Product/ProductsByCategoryId/:productCategoryId",method:"get",isArray:!0,transformResponse:function(n,t,i){if(i==200){var r=angular.fromJson(n);return angular.forEach(r,function(n){n.cardImageUrl!=undefined&&n.cardImageUrl!=""&&(n.cardImageUrl+="?width=760");n.productImageUrl!=undefined&&n.productImageUrl!=""&&(n.productImageUrl+="?width=760");n.heroImageUrl!=undefined&&n.heroImageUrl!=""&&(n.heroImageUrl+="?width=760")}),r}}},getProductsBySite:{url:"/api/Product/AllProducts/:homepageId",method:"get",isArray:!0},getProductCategories:{url:"/api/Product/AllProductCategories",method:"get",isArray:!0},getProductFiltersById:{url:"/api/Product/ProductFiltersByCategoryId/:productCategoryId",method:"get",isArray:!0},getFabricsAndMaterialsById:{url:"/api/Product/FabricAndMaterialOptions/:productId",method:"get",isArray:!0},getCommercialFabricsById:{url:"/api/Product/CommercialFabricsList/:productId",method:"get",isArray:!0,transformResponse:function(n,t,i){if(i==200){var r=angular.fromJson(n),u=["fabricFilterStandards"];return angular.forEach(r,function(n){angular.forEach(u,function(t){n[t]!=undefined&&(n.filters==undefined&&(n.filters=[]),angular.forEach(n[t],function(t){n.filters.push(t.id)}),delete n[t])})}),r}}}})}]),function(){for(var i,u=document.querySelector(".c-box__fieldset--google-places"),n={address:document.getElementById("b38a8f03-1397-4c04-af3a-6a87b2f0e2e7"),suburb:document.getElementById("7c78577e-d6e1-432a-dae5-d7fc6ab03752"),city:document.getElementById("2c68eeca-cd9f-4887-a9fe-5b22b080759b"),postcode:document.getElementById("c33ad174-3bdc-426c-e6ff-3653b501f2a9"),latLon:$(".umbraco-forms-field.latlon input")[0]},r=["suburb","city","postcode"],t=0;t<r.length;t++)i=document.querySelector(".c-field."+r[t]),i.className+="  c-field--readonly",i.querySelector("input").readOnly=!0;window.initGmap=function(){var t=new google.maps.places.Autocomplete(n.address,{componentRestrictions:{country:"nz"}});n.address.placeholder="";window.setTimeout(function(){n.address.autocomplete="new-password"},1500);$(n.address).blur(function(){var n=$(this);setTimeout(function(){if(!n.attr("data-autocomplete-address-set")){var t=n.closest(".c-field");t.addClass("c-field--error");n.addClass("input-validation-error");t.find(".c-field__error").html('<span class="c-field__error">Select an address from the autocomplete list<\/span>')}},1e3)});$(n.address).on("change",function(){n.address.removeAttribute("data-autocomplete-address-set");n.suburb.value="";$(n.suburb).focus();n.city.value="";$(n.city).focus();n.postcode.value="";$(n.postcode).focus().blur();n.latLon.value=""});t.addListener("place_changed",function(){var i=t.getPlace(),f,e;if(i){var r="",o=RegExp("^(.*)"+n.address.value.split(" ",1)[0]),u=o.exec(n.address.value);Array.isArray(u)&&(r=u[0]+" "+i.address_components[1].long_name);n.address.value=r;n.address.setAttribute("data-autocomplete-address-set","true");n.suburb.value=i.address_components[2].long_name;$(n.suburb).focus();n.city.value=i.address_components[3].long_name;$(n.city).focus();n.postcode.value=i.address_components[i.address_components.length-1].long_name;$(n.postcode).focus().blur();f=i.geometry.location.lat();e=i.geometry.location.lng();n.latLon.value=f+", "+e}})}}()