var app=angular.module("appKalk",["mgcrea.ngStrap.datepicker","ui.bootstrap","ngSanitize"]);app.config(["$httpProvider",function(n){n.defaults.headers.common["Cache-Control"]="no-cache"}]);app.factory("SomeCache",["$cacheFactory",function(n){return n("someCache",{capacity:3,storageMode:"localStorage"})}]);app.filter("convertDate",function(){return function(n){var t=n.replace(/[^0-9 +]/g,""),i=new Date(parseInt(t));return i.toLocaleDateString()}}).filter("formatAddress",function(){return function(n){return n.DeliveryAddress+", "+n.DeliveryZipCode+" "+n.DeliveryCity}}).filter("filterOrdersList",function(){return function(n,t){var i=[];return t.fromDate===""?n:(angular.forEach(n,function(n){var u=n.Date.replace(/[^0-9 +]/g,""),r=new Date(parseInt(u));t.toDate===""?r>=t.fromDate&&i.push(n):r>=t.fromDate&&r<=t.toDate&&i.push(n)}),i)}}).filter("colorEmptyOrNull",function(){return function(n){var i=[],t;if(n!==undefined&&n!==null)for(t=0;t<n.length;t++)n[t].Color.ColorId!==null&&n[t].Color.ColorId.trim().length>0&&i.push(n[t]);return i}}).filter("filterCheckList",function(){return function(n,t){var r,i;if(t===undefined||t=="")return n;for(r=[],i=0;i<n.length;i++)n[i].Id!=t&&r.push(n[i]);return r}});app.directive("ngColorPicker",[function(){var n=[];return{scope:{selected:"=",customizedColors:"=colors",colorPickerImage:"=",currentProduct:"="},restrict:"AE",template:'<ul class="color-box"><li ng-repeat="color in colors track by $index"><div><div ng-class="{selected: (color.ProductId===currentProduct.selectedProduct.ProductId)}" ng-click="pick(color)" ng-style="{\'background-image\': \'url({{color.Color.TexturePath}})\', \'background-color\': \'{{color.Color.Color}}\'}" style="width: 60px;height: 60px;"><\/div><div class="color-name"><b><span>{{color.Color.ColorId}}<\/span><\/b><\/div><\/div><\/li><\/ul>',link:function(t){t.colors=t.customizedColors||n;t.pick=function(n){var i,r;for(t.selected=n,i=0;i<t.currentProduct.Variants.length;i++)if(t.currentProduct.Variants[i].ProductId==n.ProductId){for(t.currentProduct.selectedProduct=t.currentProduct.Variants[i],r=0;r<t.currentProduct.selectedProduct.AvailableGrainSizes.length;r++)if(t.currentProduct.selectedProduct.AvailableGrainSizes[r].GrainSize==t.currentProduct.selectedGrain.GrainSize){t.currentProduct.selectedGrain=t.currentProduct.selectedProduct.AvailableGrainSizes[r];break}break}}}}}]).directive("ngModalDialog",[function(){return{scope:{},restrict:"AE",controller:["$scope","$element",function(n,t){t.bind("click",function(){$("#myModal").modal("show")})}]}}]).directive("ngFancyBox",[function(){return{scope:{groupColor:"=",ngFancyBox:"@",productViewModel:"=",index:"=",setElementToDelete:"=",color:"=",selectedProduct:"=",imagePath:"=",changeProductForEdit:"="},restrict:"A",controller:["$scope","$element","$window",function(n,t){t.bind("click",function(){if($("#file").val(""),n.ngFancyBox==="add")$("#red, #green, #blue").text(0),$("#txtColorPicker").spectrum("set","rgb(0,0,0)"),n.productViewModel.Texture.ImagePath="/",n.selectedProduct.Id!==undefined?(n.$$phase?n.$eval():n.$apply(),$.fancybox.open({href:"#myModal"})):alert("Please, choose product");else if(n.ngFancyBox==="edit"){n.productViewModel.ColorRgb={Red:n.groupColor.color.rgbColor.Red,Green:n.groupColor.color.rgbColor.Green,Blue:n.groupColor.color.rgbColor.Blue};$("#txtColorPicker").spectrum("set",n.groupColor.color.rgb);n.productViewModel.Texture.ImagePath=n.groupColor.path.data;n.changeProductForEdit(n.groupColor.color.rgbColor);var t={prod:n.groupColor,indx:n.index};n.setElementToDelete(t);n.$$phase?n.$eval():n.$apply();$.fancybox.open({href:"#myModal"})}})}]}}]).directive("ngAddColor",[function(){return{scope:{addProductColor:"="},restrict:"A",controller:["$scope","$element",function(n,t){t.bind("click",function(){var t=n.addProductColor();t&&$.fancybox.close()})}]}}]).directive("ngChangeColor",[function(){return{scope:{changeProductColor:"="},restrict:"A",controller:["$scope","$element",function(n,t){t.bind("click",function(){$("#myModal").modal("hide")})}]}}]).directive("ngChooseColor",[function(){return{require:"ngModel",link:function(n,t,i,r){var u=angular.extend({color:r.$viewValue,change:function(t){n.$apply(function(){r.$setViewValue(t.toHexString())})}},n.$eval(i.colorPicker));r.$render=function(){t.spectrum("set",r.$viewValue||"#ffffff")};t.spectrum(u)}}}]).directive("ngFile",[function(){return{restrict:"A",scope:{currentColorVariant:"=",guid:"=",ngModel:"@"},require:"ngModel",controller:["$scope","$element",function(n,t){t.bind("change",function(t){var u=t.target.files,i=u[0],r;i.type.match("image.*")&&(r=new FileReader,r.onload=function(){return function(t){n.currentColorVariant.file={textureid:n.guid(),textureimage:t.target.result,imageextension:i.name.split(".")[1]};n.currentColorVariant.texturepath=t.target.result;n.$apply()}}(i),r.readAsDataURL(i))});n.$watch("currentColorVariant.file",function(n,i){i!==void 0&&n!==void 0&&n.textureimage.length<2&&t.val("")})}]}}]).directive("ngSetProductColor",[function(){return{scope:{redirectToProductUrl:"=",selectedProduct:"="},restrict:"A",controller:["$scope","$element",function(n,t){t.bind("click",function(){n.selectedProduct&&n.redirectToProductUrl();$("#sample-color").modal("hide")})}]}}]).directive("ngSave",[function(){return{scope:{save:"=",currentColorVariant:"=",isSuccess:"="},restrict:"A",controller:["$scope","$element","$q",function(n,t){n.$watch("isSuccess",function(n){n&&($("#file").val(""),$("#myModal").modal("hide"),alert("Color was added successfully"))});t.bind("click",function(){n.save()})}]}}]).directive("ngInitCusel",["$timeout","$compile",function(n,t){return{restrict:"A",require:"ngModel",link:function(i,r,u){n(function(){var n={changedEl:r,visRows:15,scrollArrows:!0};cuSel(n);t(angular.element(r.next("[id*="+u.ngInitCusel+"-]")))(i)},0)}}}]).directive("cmCompileElement",["$compile",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r){$timeout(function(){var u={changedEl:i,visRows:15,scrollArrows:!0};cuSel(u);n(angular.element(i.next("[id*="+r.ngInitCusel+"-]")))(t)},0)}}}]).directive("ngInitKalypto",[function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){t.kalypto();t.bind("change",function(){n.$apply(function(){r.$setViewValue($(t).is(":checked")?!0:!1)})})}}}]).directive("ngChangeValue",[function(){return{scope:{ngModel:"@",json:"=",index:"@"},restrict:"A",controller:["$scope","$element",function(n,t){t.bind("change",function(){n.ngModel.indexOf("selectedGrain")!==-1?n.$apply(function(){n.json[n.index].selectedGrain=n.json[n.index].ddlGrains[t.val()]}):n.ngModel.indexOf("selectedProduct")!==-1&&n.$apply(function(){n.json[n.index].selectedProduct=n.json[n.index].selectedGrain.ddlProducts[t.val()]});$("[id*=cuselFrame-cuSel]").slice(n.index*2,$("[id*=cuselFrame-cuSel]").length).each(function(){var n="",t=this;$(this).siblings("select").find("option").each(function(){n+='<span val="'+$(this).val()+'" '+($(this).attr("selected")!==void 0?'selected=selected class="cuselItem cuselActive"':'class="cuselItem"')+"><label>"+$(this).text()+"<\/label><\/span>";$(this).attr("selected")!==void 0&&$(t).find(".cuselText label").text($(this).text())});$(this).find("[id*=cusel-scroll-cuSel-]").html(n)})})}]}}]).directive("ngOnlyNumbers",["$timeout",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){function f(t){if(t){var r=t.replace(/[^0-9]/g,"");return r!==t&&(u.$setViewValue(r),u.$render()),n(function(){i.focus()}),parseInt(r)}return void 0}u.$parsers.push(f)}}}]).directive("ngChangeCuselValue",[function(){return{scope:{ngModel:"@",changeGrainSize:"="},restrict:"A",link:function(n,t){t.bind("change",function(){n.$apply(function(){n.changeGrainSize(t.val())})})}}}]).directive("ngChangeGrainSize",[function(){return{scope:{ngModel:"@",changeGrainSize:"=",productId:"@"},restrict:"A",controller:["$scope","$element",function(n,t){t.bind("change",function(){n.$apply(function(){n.changeGrainSize(n.productId,t.val())})})}]}}]).directive("ngChangeDate",[function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){t.bind("change",function(){n.$apply(function(){r.$setViewValue($(t).val())})})}}}]).directive("cmCheckUrl",["$window",function(n){return{restrict:"A",link:function(t){if(n.location.hash=="#sampleColor"){$(".modal.fade.sample-color").on("hidden",function(){var t=n.location.href.split("#")[0];n.history.pushState(null,null,t)});t.showSamplesPanel=!0;$(".modal.fade.sample-color").modal("show")}}}}]).directive("cmHandleUpdate",["$timeout",function(n){return{restrict:"E",transclude:!0,template:'<div class="modal-message modal fade" style="background: #e0e9eb;"><div style="text-align:right;"><a class="modal-close close close-link" data-dismiss="modal" aria-hidden="true" style="margin-top: 5px;">&times;<\/a><\/div><div class="modal-body modal-blocks-padding"><span ng-transclude><\/span><\/div><\/div>',controller:["$scope",function(t){t.$on("deliveryAddrUpdated",function(){$(".modal-message").modal("show");n(function(){$(".modal-message").modal("hide")},2e3)})}]}}]).directive("cmUpdateSelection",[function(){return{restrict:"A",scope:{cmUpdateSelection:"@",options:"="},controller:["$scope","$element",function(n,t){t.bind("click",function(){n.cmUpdateSelection=="cleanedWall"&&(n.$apply(function(){n.options.whitewashedWall=!1}),$("a.option-whitewashedWall").hasClass("checked")&&$("a.option-whitewashedWall").removeClass("checked"));n.cmUpdateSelection=="whitewashedWall"&&(n.$apply(function(){n.options.cleanedWall=!1}),$("a.option-cleanedWall").hasClass("checked")&&$("a.option-cleanedWall").removeClass("checked"))})}]}}]);app.directive("ngMin",[function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){n.$watch(i.ngMin,function(){r.$setViewValue(r.$viewValue)});var u=function(t){var u=n.$eval(i.ngMin)||0;return isNaN(t)||t==""||!isFinite(t)?(r.$setValidity("ngMin",!1),0):t!=null&&t<u?(r.$setValidity("ngMin",!1),0):(r.$setValidity("ngMin",!0),t)};r.$parsers.push(u);r.$formatters.push(u)}}}]).directive("ngMax",[function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){n.$watch(i.ngMax,function(){r.$setViewValue(r.$viewValue)});var u=function(t){var u=n.$eval(i.ngMax)||Infinity;return isNaN(t)||t==""||!isFinite(t)?(r.$setValidity("ngMax",!1),0):t!=null&&t>u?(r.$setValidity("ngMax",!1),i.ngMax):(r.$setValidity("ngMax",!0),t)};r.$parsers.push(u);r.$formatters.push(u)}}}]).directive("ngPrint",[function(){return{restrict:"AEC",link:function(n,t,i){function e(n){var i,t;r.contentDocument?i=r.contentDocument:r.contentWindow?i=r.contentWindow.document:alert("Wonder what browser this is... "+navigator.userAgent);t="<html><head><title><\/title>";t+="<style>@page {margin: 10mm 5mm 5mm 10mm} .web,.false{display:none;}";t+="<\/style>";t+='<link media="print" rel="stylesheet" type="text/css" href="/css/print.css">';t+='<link media="print" rel="stylesheet" type="text/css" href="/css/bootstrap3/bootstrap.css"/>';t+="<\/head><body><div>";t+=n;t+="<\/div><\/body><\/html>";i.write(t);i.close()}var r,f=$(i.ngPrint),u;window.frames["print-frame"]||(u=document.createElement("iframe"),u.setAttribute("id","print-frame"),u.setAttribute("name","print-frame"),u.setAttribute("src",""),u.setAttribute("style","display: none;"),document.body.appendChild(u));t.bind("click",function(){r=document.getElementById("print-frame");e(f.html());window.navigator.userAgent.indexOf("MSIE")>0||!!navigator.userAgent.match(/Trident.*rv\:11\./)?r.contentWindow.document.execCommand("print",!1,null):(r.contentWindow.focus(),r.contentWindow.print())})}}}]).directive("popup",[function(){return{restrict:"A",replace:!1,link:function(n,t){n.openPopUp=function(n){if(n){window.location.hash=n;$(t).on("hidden",function(){var n=window.location.href.split("#")[0];window.history.pushState(null,null,n)})}$(t).focus();$(t).modal("show");$(window).width()<768?$("html, body").animate({scrollTop:$(".mobile-scroll-to-div").offset().top},"slow"):setTimeout(function(){var n=$(".sample-color").height();$("#sample-color").css("margin-top",-n/2)},100)}}}}]).directive("cmAnimatePopup",["$window",function(){return{restrict:"A",link:function(n,t){t.bind("click",function(){$(".btn-add-color").on("click",function(){$(window).width()<768?$("html, body").animate({scrollTop:0},"slow"):setTimeout(function(){var n=$(".sample-color").height();$("#sample-color").css("margin-top",-n/2)},100)})})}}}]).directive("focusMe",["$timeout",function(n){return{link:{post:function(t,i){n(function(){i[0].focus()},100)}}}}]);app.controller("ProductCalculatorCtrl",["$scope","ProductCalculatorService",function(n,t){n.json=[];n.loading=!0;n.init=function(i){n.square=40;t.GetProducts({jsonProducts:i}).success(function(t){var u=JSON.parse(t.d),i,r;for(n.json=u.Products,i=0;i<n.json.length;i++)for(r=0;r<n.json[i].Variants.length;r++)if(n.json[i].Variants[r].ProductId==n.json[i].Id){n.json[i].selectedProduct=n.json[i].Variants[r];n.json[i].selectedGrain=n.json[i].Variants[r].AvailableGrainSizes[0];break}n.loading=!1})};n.$watch("square",function(){n.calculateCount();n.calculatePrices()},!0);n.$watch("json",function(){n.calculatePrices()},!0);n.calculatePrices=function(){for(var r=0,i,t=0;t<n.json.length;t++)i=n.json[t].selectedProduct.Price*n.json[t].Count,n.json[t].SubTotal=i,n.json[t].selectedProduct.Price>=0&&n.json[t].selectedProduct.StockValue>0?(n.json[t].ShowBasket=!0,r+=i):n.json[t].ShowBasket=!1;n.TotalPrice=r};n.calculateCount=function(){for(var t=0;t<n.json.length;t++)n.json[t].Count=Math.ceil(n.square/n.json[t].FlowRate)};n.pickColor=function(t,i,r){for(var e=i.selectedGrain,f,u=0;u<i.Variants.length;u++)if(i.Variants[u].ProductId==r.ProductId){if(i.selectedProduct=i.Variants[u],e!==undefined&&e!=null)for(f=0;f<i.selectedProduct.AvailableGrainSizes.length;f++)if(i.selectedProduct.AvailableGrainSizes[f].GrainSize==e.GrainSize){i.selectedGrain=i.selectedProduct.AvailableGrainSizes[f];break}break}n.$$phase?n.$eval():n.$apply()};n.checkIsColorSelected=function(t,i){return i.selectedProduct!=="undefined"?t.ProductId===i.selectedProduct.ProductId:t.ProductId===n.currentProduct.Id};n.changeGrainSize=function(t,i){for(var u,f,r=0;r<n.json.length;r++)if(n.json[r].Id==t){for(u=0;u<n.json[r].Variants.length;u++)if(n.json[r].Variants[u].ProductId==i){for(n.json[r].selectedProduct=n.json[r].Variants[u],n.json[r].ShowColor=n.isShowColorPicker(n.json[r].Variants[u]),f=0;f<n.json[r].Variants[u].AvailableGrainSizes.length;f++)if(n.json[r].Variants[u].AvailableGrainSizes[f].ProductId==i){n.json[r].selectedGrain=n.json[r].Variants[u].AvailableGrainSizes[f];break}break}break}};n.isShowColorPicker=function(n){for(var i=!1,t=0;t<n.AvailableColors.length;t++)if(n.AvailableColors[t].Color.ColorId!=null&&n.AvailableColors[t].Color.ColorId.trim().length>0){i=!0;break}return i};n.increaseQuantity=function(n,t){t.Count++};n.decreaseQuantity=function(n,t){t.Count>0&&t.Count--};n.getSelectedProducts=function(){for(var r=[],i,t=0;t<n.json.length;t++)n.json[t].ShowBasket>=0&&n.json[t].Count>0&&(i={},i.ProductId=n.json[t].selectedProduct.ProductId,i.Quantity=n.json[t].Count,r.push(i));n.AllSelectedProducts=JSON.stringify(r)}}]);app.controller("MaterialCalculatorCtrl",["$scope","$filter","MaterialCalculatorService",function(n,t,i){n.json=[];n.loading=!0;n.init=function(t){n.square=40;i.GetData({nodeId:t}).success(function(t){var u=JSON.parse(t.d),i,r;for(n.json=u.Data,i=0;i<n.json.length;i++){for(r=0;r<n.json[i].Grains.length;r++)n.json[i].Grains[r].ddlProducts=n.json[i].Grains[r].Products;n.json[i].selectedGrain=n.json[i].Grains[0];n.json[i].ddlGrains=n.json[i].Grains}n.loading=!1})};n.options={cleanedWall:!1,whitewashedWall:!1};n.calculateWeight=function(){for(var r,i=0;i<n.json.length;i++)r=Math.round(n.square*6300)/100,n.json[i].Job!=1&&(r=Math.round(n.square*n.json[i].Thick*1.6*100)/100),n.json[i].Weight=r,n.json[i].WeightView=t("number")(r.toFixed(2))};n.changeGrainSize=function(){for(var e,i,r,o,f,u,t=1;t<n.json.length;t++)if(n.json[t-1].selectedGrain!==undefined){if(t>1){for(e=n.json[t-1].selectedGrain.Size,i=[],r=0;r<n.json[t].Grains.length;r++)n.json[t].Grains[r].Size<=e&&i.push(n.json[t].Grains[r]);n.json[t].ddlGrains=i;$.inArray(n.json[t].selectedGrain,i)==-1&&(n.json[t].selectedGrain=i[0])}if(n.json[t-1].selectedProduct!==undefined&&n.json[t-1].selectedProduct.Category!=""){for(o=n.json[t-1].selectedProduct.Category,f=[],u=0;u<n.json[t].selectedGrain.Products.length;u++)n.json[t].selectedGrain.Products[u].Category>=o&&f.push(n.json[t].selectedGrain.Products[u]);n.json[t].selectedGrain.ddlProducts=f}else n.json[t].selectedGrain.ddlProducts=n.json[t].selectedGrain.Products}};n.$watch("json",function(){n.changeGrainSize();n.calculateWeight()},!0);n.$watch("square",function(){n.sandWeight=Math.ceil(n.square/20);n.limeWeight=Math.ceil(n.square/60);n.calculateWeight()},!0);n.showName=function(n){return n.Name+" ("+n.DefaultGrainSize+")"};n.addAllToBasket=function(){for(var e=[],u,f,r,t=0;t<n.json.length;t++)n.json[t].checkedJob&&(u=n.json[t].selectedProduct,f=n.json[t].Weight,f>0&&u!==undefined&&(r={},r.ProductId=u.Id,r.VariantId="",r.Weight=f,e.push(r)));i.AddMaterialsToBasket({jsonProducts:e});window.location.reload()}}]);app.controller("callMeController",["$scope","CallMeService","$modal",function(n,t,i){n.openPopUpCustom=function(r){i.open({animation:n.animationsEnabled,templateUrl:"callMe-"+r+".html",controller:"ModalInstanceCtrl",windowClass:"custom-modal _small",resolve:{CallMeService:function(){return t}}})}}]);app.controller("ModalInstanceCtrl",["$scope","$modalInstance","$window","CallMeService",function(n,t,i,r){n.data={user:{},showSuccessMessage:!1,showErrorMessage:!1,showForm:!0};n.callMe=function(){var t={name:n.data.user.name,phone:n.data.user.phone,productName:n.data.user.productName,productLink:n.data.user.productName?i.location.href:""};r.SendCallMeEmail(t).success(function(t){n.data.showSuccessMessage=t.success;n.data.showErrorMessage=!t.success;n.data.showForm=!t.success})};n.keyPressed=function(t,i){t.keyCode!==13||i||n.callMe()};n.closePopUp=function(){t.dismiss("cancel")}}]);app.factory("ProductCalculatorService",["$http",function(n){var t=function(){this.GetProducts=function(t){return n.post("/Services/ProductService.asmx/GetProductsByGuideJSON",JSON.stringify(t))};this.GetProductById=function(t,i,r){return n.post("/Services/ProductService.asmx/GetProductById",JSON.stringify({productId:t,grainsize:i,categoryId:r}))};this.GetSamples=function(t,i,r){return n.post("/Services/ProductService.asmx/GetSamples",JSON.stringify({productId:t,grainsize:i,categoryId:r}))};this.GetSamplesForProduct=function(t,i,r,u){return n.post("/Services/ProductService.asmx/GetSamplesForProduct",JSON.stringify({productId:t,grainsize:i,isRenCategory:u,categoryId:r}))};this.GetVariants=function(t,i){return n.post("/Services/ProductService.asmx/GetVariants",JSON.stringify({productId:t,categoryId:i}))};this.GetAllCategories=function(){return n({url:"/Services/ProductService.asmx/GetAllCategories",dataType:"json",method:"GET",data:{},headers:{"Content-Type":"application/json"}})};this.GetProductsByCategoryId=function(t){return n.post("/Services/ProductService.asmx/GetProductsByCategoryId",{categoryId:t})};this.SaveTextureImage=function(t){return n.post("/Services/ProductService.asmx/SaveTextureImage",{texture:t}).success(function(){})};this.GetCategoriesWithProducts=function(){return n({url:"/Services/ProductService.asmx/GetCategoriesWithProducts",dataType:"json",method:"GET",data:{},headers:{"Content-Type":"application/json"}})};this.SaveVariantAndSample=function(t,i,r,u){return n.post("/Services/ProductService.asmx/SaveVariantAndSample",{productId:t,variantId:i,sampleId:r,categoryId:u}).success(function(n){n?alert("Saved successfully!"):alert("Saving Error!")})}};return new t}]);app.factory("RenProductCalculatorService",["$http",function(n){var t=function(){this.GetProducts=function(t){return n.post("/Services/ProductService.asmx/GetProductsByGuideJSON",JSON.stringify(t))};this.GetProductById=function(t,i,r){return n.post("/Services/ProductService.asmx/GetProductById",JSON.stringify({productId:t,grainsize:i,categoryId:r}))};this.GetSamples=function(t,i,r){return n.post("/Services/ProductService.asmx/GetSamples",JSON.stringify({productId:t,grainsize:i,categoryId:r}))};this.GetVariants=function(t,i){return n.post("/Services/ProductService.asmx/GetVariants",JSON.stringify({productId:t,categoryId:i}))};this.GetAllCategories=function(){return n({url:"/Services/RenProductService.asmx/GetRenCategories",dataType:"json",method:"GET",data:{},headers:{"Content-Type":"application/json"}})};this.GetColorsByProductKey=function(t){return n({url:"/Services/RenProductService.asmx/GetColors",dataType:"json",method:"POST",data:{productKey:t},headers:{"Content-Type":"application/json"}})};this.GetColorGroupsByCategory=function(t){return n({url:"/Services/RenProductService.asmx/GetColorGroups?categoryId="+t+"&rand="+Math.random(),dataType:"json",method:"GET",data:{},headers:{"Content-Type":"application/json"}})};this.GetRenCategoryWithGroupsAndVariants=function(t){return n({url:"/Services/RenProductService.asmx/GetRenCategoryWithGroupsAndVariants",dataType:"json",method:"POST",data:{categoryKey:t},headers:{"Content-Type":"application/json"}})};this.GetProductsByCategoryId=function(t){return n.post("/Services/ProductService.asmx/GetProductsByCategoryId",{categoryId:t})};this.SaveTextureImage=function(t){return n.post("/Services/RenProductService.asmx/SaveTextureImage",{texture:t}).success(function(){})};this.UpdateColorVariant=function(t){return n.post("/Services/ProductService.asmx/UpdateColorVariant",{texture:t}).success(function(){})};this.GetColorVariantsByColorGroupId=function(t){return n({url:"/Services/RenProductService.asmx/GetColorVariantsByColorGroupId",dataType:"json",method:"Post",data:{colorGroupId:t},headers:{"Content-Type":"application/json"}})};this.GetCategoriesWithProducts=function(){return n({url:"/Services/ProductService.asmx/GetCategoriesWithProducts",dataType:"json",method:"GET",data:{},headers:{"Content-Type":"application/json"}})};this.SaveVariantAndSample=function(t,i,r,u){return n.post("/Services/ProductService.asmx/SaveVariantAndSample",{productId:t,variantId:i,sampleId:r,categoryId:u}).success(function(n){n?alert("Saved successfully!"):alert("Saving Error!")})}};return new t}]);app.factory("CallMeService",["$http",function(n){var t=function(){this.SendCallMeEmail=function(t){return n.post("/api/email/sendcallmeemail/",JSON.stringify(t))}};return new t}]);app.factory("MaterialCalculatorService",["$http",function(n){var t=function(){this.GetData=function(t){return n.post("/Services/ProductService.asmx/GetMaterialCalculatorData",JSON.stringify(t))};this.AddMaterialsToBasket=function(t){n.post("/Services/ProductService.asmx/AddMaterialsToBasket",JSON.stringify(t))}};return new t}]);app.controller("youtubeVideoController",["$scope","$http","$sce",function(n,t,i){n.youtubeFrame=null;n.init=function(i,r,u){t({url:"/api/YoutubeVideo?videotemplate="+i+"&width="+r+"&height="+u,method:"GET"}).then(function(t){var i="wmode=transparent";t.data.videotemplate+=t.data.videotemplate.indexOf("?")!==-1?"&"+i+"&"+i:"?"+i+"&"+i;t.data.videotemplate.indexOf("youtube.com/v/")!==-1&&t.data.videotemplate.replace("youtube.com/v/","youtube.com/embed/");n.youtubeFrame=t.data},function(n){alert(n)})};n.trustSrc=function(n){return i.trustAsResourceUrl(n)}}]);app.controller("previousOrdersController",["$scope",function(n){n.ordersList=null;n.filterDate={fromDate:"",toDate:""};n.fromDate="";n.toDate="";n.dateFilters=[{name:"Sidste måned",value:new Date(new Date((new Date).setMonth((new Date).getMonth()-1)).setHours(0,0,0,0))},{name:"Sidste kvartal",value:new Date(new Date((new Date).setMonth((new Date).getMonth()-4)).setHours(0,0,0,0))},{name:"Sidste 6 måneder",value:new Date(new Date((new Date).setMonth((new Date).getMonth()-6)).setHours(0,0,0,0))},{name:"Sidste år / Alle",value:new Date(new Date((new Date).setYear((new Date).getFullYear()-1)).setHours(0,0,0,0))}];n.init=function(t){n.ordersList=angular.fromJson(t);n.selectedDateFilter=""};n.$watch("selectedDateFilter",function(t){var i=parseInt(t);n.fromDate=i>=0?n.dateFilters[i].value:"";n.toDate=i>=0?new Date:""});n.validateDateFormat=function(n){var i=new RegExp("^(\\d{1,2}).(\\d{1,2}).(\\d{4})$","g"),t=n.toString("dd.MM.yyyy");return t=t.replace(/\u200E/g,""),i.test(t)};n.setFilterDate=function(){n.filterDate.fromDate=new Date(n.fromDate);n.filterDate.toDate=new Date(n.toDate)};n.checkDatesValidity=function(){return!n.fromDate||!n.toDate||n.fromDate&&!n.validateDateFormat(n.fromDate)||n.toDate>0&&!n.validateDateFormat(n.toDate)||n.validateDateFormat(n.fromDate)&&n.validateDateFormat(n.toDate)&&n.fromDate>n.toDate}}]);app.controller("customerProfileController",["$scope","$http",function(n,t){n.deliveryAddresses=[];n.primaryAddressId="";n.editingAddress=null;n.deletedAddresses=[];n.loading=!0;n.init=function(i,r){n.primaryAddressId=r;for(var u in i)n.deliveryAddresses.push(i[u]);angular.forEach(n.deliveryAddresses,function(i,r){n.$watch("deliveryAddresses["+r+"]",function(n,i){n.ZipCode!==i.ZipCode&&t.post("/api/CityZip/GetCityByZipCode/",angular.toJson(n.ZipCode)).success(function(t){n.City=angular.fromJson(t)})},!0)});n.loading=!1};n.changePrimaryAddr=function(t){n.primaryAddressId=t};n.checkEmptyValues=function(){var t=n.deliveryAddresses.filter(function(n){if(n.Name&&n.Phone&&n.Address&&n.ZipCode&&n.City&&n.AlternativeAddress)return n});return!(n.deliveryAddresses.length===t.length)};n.isEditingAddr=function(t){return n.editingAddress===t};n.setEditingAddress=function(t){n.editingAddress=t};n.updateAddress=function(){n.editingAddress=null};n.saveAddresses=function(){n.loading=!0;t({method:"POST",url:"/umbraco/surface/CustomerProfileSurface/SaveDeliveryAddresses",data:{addresses:n.deliveryAddresses,primaryAddrId:n.primaryAddressId,removedAddrIds:n.deletedAddresses},headers:{"Content-Type":"application/json; charset=utf-8"}}).success(function(){n.updateAddress();n.loading=!1;n.$broadcast("deliveryAddrUpdated",n.loading)}).error(function(t){n.loading=!1;alert(t.message)})};n.deleteAddress=function(t){confirm("Are you sure?")&&(n.deletedAddresses.push(t.Id),n.deliveryAddresses.splice(n.deliveryAddresses.indexOf(t),1))};n.isShowAddressesPanel=function(){return n.deliveryAddresses.length>0}}]);app.controller("colorPickerCtrl",["$scope","$http","$window","$location","$q","ProductCalculatorService",function(n,t,i,r,u,f){n.loading=!0;n.variants=[];n.variantColors=[];n.currentColorVariant={variant:{name:"",colors:[]},colorid:"",color:"",texturepath:"/",sortorder:0,colorname:"",file:{textureid:"",textureimage:"",imageextension:""}};n.isEditMode=!1;n.editVariant={};n.variantToDelete={};n.currentProduct={};n.square=1;n.colors=[];n.defaultPath="/img/texture.png";n.guid=function(){function n(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return function(){return n()+n()+"-"+n()+"-"+n()+"-"+n()+"-"+n()+n()+n()}}();n.init=function(){u.all([t.get("/api/ProductColors").then(function(t){for(var i in t.data)n.variants.push({name:i,colors:t.data[i]})},function(n){alert(n)}),t.get("/api/ColorVariant").then(function(t){n.variantColors=t.data},function(n){alert(n)})])};n.save=function(i){var r,f,o,e;if(n.isSuccess=!1,r=i!==undefined?i:n.currentColorVariant,f={colorid:r.colorid,color:r.color,texturepath:r.texturepath,file:r.file,sortorder:r.sortorder,colorname:r.colorname},f.variant=n.isEditMode?r.variant:r.variant.name,r.file||(f.file={textureid:n.guid(),textureimage:"",imageextension:""}),o=u.defer(),!n.isEditMode)for(e=0;e<n.variantColors.length;e++)if(n.variantColors[e].variant===f.variant&&n.variantColors[e].colorid===f.colorid)return alert("This color variant already added. Please, chose other variant or color"),!1;n.saveTexture(f).then(function(n){return n!==undefined&&(f.texturepath=n.data.d),t.post("/api/ColorVariant",f,!1)},function(n){o.reject(n)}).then(function(){if(n.isEditMode){var t=n.variantColors.indexOf(n.editVariant);n.variantColors[t]=f}else n.isSuccess=!0,n.variantColors.push(f);n.clear()},function(n){alert(n.message)})};n.saveTexture=function(n){if(n.file.textureimage.length===0){var i=u.defer();return i.resolve(),i.promise}return t.post("/Services/ProductService.asmx/SaveTextureImage",{texture:n.file},!1)};n.edit=function(t){n.isEditMode=!0;n.editVariant.color=t.color;n.editVariant.colorid=t.colorid;n.editVariant.texturepath=t.texturepath;n.editVariant.variant=t.variant;n.editVariant.sortorder=t.sortorder;n.editVariant.colorname=t.colorname;t.variant.file&&(n.editVariant.variant=t.variant.file)};n.deleteColor=function(i){n.variantToDelete=i;confirm("Are you sure?")&&t({method:"DELETE",url:"/api/ColorVariant",data:i,headers:{"Content-Type":"application/json; charset=utf-8"}}).success(function(){n.variantColors.splice(n.variantColors.indexOf(n.variantToDelete),1)}).error(function(n){alert(n.exceptionmessage)})};n.cancel=function(t){n.variantColors[n.variantColors.indexOf(t)]=n.editVariant;n.clear()};n.clear=function(){n.currentColorVariant={variant:n.currentColorVariant.variant,colorid:"",color:"",texturepath:"/",colorname:"",sortorder:0,file:{textureid:"",textureimage:"",imageextension:""}};n.isEditMode=!1;n.editVariant={};n.$$phase?n.$eval():n.$apply()};n.getCurrentProductColors=function(){if(n.colors.length===0){for(var t=0;t<n.currentProduct.selectedProduct.AvailableColors.length;t++)n.colors.push(n.currentProduct.selectedProduct.AvailableColors[t]);n.$$phase?n.$eval():n.$apply()}};n.setCurrentProduct=function(t){f.GetProducts({jsonProducts:[t]}).success(function(t){n.currentProduct=JSON.parse(t.d).Products[0];for(var i=0;i<n.currentProduct.Variants.length;i++)if(n.currentProduct.Variants[i].ProductId==n.currentProduct.Id){n.currentProduct.selectedProduct=n.currentProduct.Variants[i];n.currentProduct.selectedGrain=n.currentProduct.Variants[i].AvailableGrainSizes[0];break}n.getCurrentProductColors();n.loading=!1})};n.pickGrainSize=function(){for(var i,r,t=0;t<n.currentProduct.Variants.length;t++)if(n.currentProduct.Variants[t].ProductId==n.currentProduct.selectedGrain.ProductId){for(n.currentProduct.selectedProduct=n.currentProduct.Variants[t],n.$$phase?n.$eval():n.$apply(),i=0;i<n.currentProduct.Variants[t].AvailableGrainSizes.length;i++)if(n.currentProduct.Variants[t].AvailableGrainSizes[i].ProductId==n.currentProduct.selectedGrain.ProductId){n.currentProduct.selectedGrain=n.currentProduct.Variants[t].AvailableGrainSizes[i];break}break}for(n.colors.splice(0,n.colors.length),r=0;r<n.currentProduct.selectedProduct.AvailableColors.length;r++)n.colors.push(n.currentProduct.selectedProduct.AvailableColors[r])};n.$watch("square",function(){n.calculateCount();n.calculatePrices()},!0);n.$watch("currentProduct",function(){n.calculatePrices()},!0);n.$watch("currentColorVariant",function(n,t){console.log(n);console.log(t)});n.calculatePrices=function(){if(n.currentProduct.selectedProduct!==undefined){var t=n.currentProduct.selectedProduct.Price*n.currentProduct.Count;n.currentProduct.SubTotal=t;n.currentProduct.ShowBasket=n.currentProduct.selectedProduct.Price>=0&&n.currentProduct.selectedProduct.StockValue>0?!0:!1}};n.calculateCount=function(){n.currentProduct.Count=n.square};n.increaseQuantity=function(){n.square++};n.decreaseQuantity=function(){n.square>0&&n.square--};n.addTexturePath=function(t){return t.length>1?t:n.defaultPath};n.isVariantEditMode=function(t){return t.variant===n.editVariant.variant&&t.colorid===n.editVariant.colorid}}]);app.controller("renColorPickerCtrl",["$scope","$http","$window","$location","$q","RenProductCalculatorService",function(n,t,i,r,u,f){n.loading=!0;n.variants=[];n.colorGroups=[];n.colorCategories=[];n.newColorGroup={Color:"",renCategoryId:0,ColorGroupHeadingText:"",ColorGroupName:"",ProductId:"",TexturePath:"",SortOrder:0};n.variantColors=[];n.currentColorCategory={variant:{name:"",colors:[]},colorid:"",color:"",texturepath:"/",sortorder:0,colorname:"",file:{textureid:"",textureimage:"",imageextension:""},colorCategory:"",currentColorCategory:""};n.currentColorVariant={variant:{name:"",colors:[]},colorid:"",color:"",texturepath:"/",sortorder:0,colorname:"",file:{textureid:"",textureimage:"",imageextension:""},colorGroup:""};n.isEditMode=!1;n.editVariant={};n.variantToDelete={};n.currentProduct={};n.square=1;n.colors=[];n.defaultPath="/img/texture.png";n.isColorGroupMode=!1;n.isColorVariantMode=!1;n.guid=function(){function n(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return function(){return n()+n()+"-"+n()+"-"+n()+"-"+n()+"-"+n()+n()+n()}}();n.init=function(){f.GetAllCategories().success(function(t){for(var i in t.d)n.colorCategories.push(t.d[i]);console.log(n.colorCategories)})};n.CategoryChoosed=function(){n.currentColorCategory.colorCategory.Id!=undefined&&f.GetColorGroupsByCategory(n.currentColorCategory.colorCategory.Id).success(function(t){n.colorGroups=[];n.currentColorCategory.currentColorGroup={};for(var i in t.d)n.colorGroups.push(t.d[i]);console.log(n.colorGroups);n.getColors()})};n.colorGroupChoosed=function(){n.variantColors=[];f.GetColorVariantsByColorGroupId(n.currentColorCategory.currentColorGroup.Id).success(function(t){for(var i in t.d)n.variantColors.push(t.d[i])})};n.removeColorGroup=function(){var i,r;t.post("/Services/RenProductService.asmx/DeleteColorGroup",{id:n.currentColorCategory.currentColorGroup.Id},!1);i=[];for(r in n.colorGroups)n.currentColorCategory.currentColorGroup.Id!=n.colorGroups[r].Id&&i.push(n.colorGroups[r]);n.currentColorCategory.currentColorGroup={};n.colorGroups=i};n.updateColorGroup=function(){n.currentColorCategory.currentColorGroup.file=n.currentColorCategory.currentColorGroup.file===undefined?null:n.currentColorCategory.currentColorGroup.file;t.post("/Services/RenProductService.asmx/UpdateColorGroup",{colorGroupId:n.currentColorCategory.currentColorGroup.Id,headingText:n.currentColorCategory.currentColorGroup.ColorGroupHeadingText,texture:n.currentColorCategory.currentColorGroup.file,sortOrder:n.currentColorCategory.currentColorGroup.SortOrder},!1).then(function(t){n.currentColorCategory.currentColorGroup.TexturePath=t.data.d==null?n.currentColorCategory.currentColorGroup.TexturePath:t.data.d})};n.getColors=function(){n.currentColorCategory.variant.colors=[];f.GetColorsByProductKey(n.currentColorCategory.colorCategory.ProductKey).success(function(t){for(var i in t.d)n.currentColorCategory.variant.colors.push(t.d[i]);n.currentColorCategory.variant.colors.sort()})};n.saveNewColor=function(){var i={SortOrder:n.currentColorVariant.sortorder,ColorGroupId:n.currentColorCategory.currentColorGroup.Id,ColorId:n.currentColorCategory.colorid,ColorName:n.currentColorVariant.colorname,Texture:n.currentColorVariant.file};t.post("/Services/RenProductService.asmx/InsertRenColorVariant",{renColorVariant:i},!1).then(function(t){t.data.d.Id>0?n.variantColors.push(t.data.d):alert("Color variant with the same color was already added");$("#myModal").modal("hide")})};n.save=function(i){n.isSuccess=!1;var r=i,u={ColorId:r.ColorId,TexturePath:r.TexturePath,file:r.file,SortOrder:r.SortOrder,ColorName:r.ColorName};u.variant=n.isEditMode?r.variant:r.variant.name;r.file||(r.file={textureid:n.guid(),textureimage:"",imageextension:""});n.saveTexture(r).then(function(i){i!==undefined&&(r.TexturePath=i.data.d);var u={SortOrder:r.SortOrder,ColorGroupId:n.currentColorCategory.currentColorGroup.Id,ColorId:r.ColorId,ColorName:r.ColorName,Id:r.Id,TexturePath:r.TexturePath};return t.post("/Services/RenProductService.asmx/UpdateColorVariant",{colorVariantModel:u},!1)},function(n){deferred.reject(n)}).then(function(){var t=n.variantColors.indexOf(n.editVariant);n.variantColors[t]=u;n.clear()},function(n){alert(n.message)})};n.saveTexture=function(n){if(n.file.textureimage.length===0){var i=u.defer();return i.resolve(),i.promise}return t.post("/Services/RenProductService.asmx/SaveTextureImage",{texture:n.file},!1)};n.edit=function(t){n.isEditMode=!0;n.editVariant.Id=t.Id;n.editVariant.Color=t.Color;n.editVariant.ColorId=t.ColorId;n.editVariant.TexturePath=t.TexturePath;n.editVariant.SortOrder=t.SortOrder;n.editVariant.ColorName=t.ColorName;t.file&&(n.editVariant.Texture=t.file)};n.deleteColor=function(i){n.variantToDelete=i;confirm("Are you sure?")&&t({url:"/Services/RenProductService.asmx/DeleteColorVariant?id="+i.Id,method:"GET",headers:{"Content-Type":"application/json; charset=utf-8"}}).success(function(){n.variantColors.splice(n.variantColors.indexOf(n.variantToDelete),1)}).error(function(n){alert(n.exceptionmessage)})};n.updateCategory=function(){t.post("/Services/RenProductService.asmx/UpdateRenCategory",{categoryId:n.currentColorCategory.colorCategory.Id,headingText:n.currentColorCategory.colorCategory.ColorCategoryHeadingText,subHeadingText:n.currentColorCategory.colorCategory.ColorCategorySubHeadingText},!1)};n.cancel=function(t){n.variantColors[n.variantColors.indexOf(t)]=n.editVariant;n.clear()};n.clear=function(){n.currentColorVariant={variant:n.currentColorVariant.variant,colorid:"",color:"",texturepath:"/",colorname:"",sortorder:0,file:{textureid:"",textureimage:"",imageextension:""}};n.isEditMode=!1;n.editVariant={};n.$$phase?n.$eval():n.$apply()};n.getCurrentProductColors=function(){if(n.colors.length===0){for(var t=0;t<n.currentProduct.selectedProduct.AvailableColors.length;t++)n.colors.push(n.currentProduct.selectedProduct.AvailableColors[t]);n.$$phase?n.$eval():n.$apply()}};n.setCurrentProduct=function(t){f.GetProducts({jsonProducts:[t]}).success(function(t){n.currentProduct=JSON.parse(t.d).Products[0];for(var i=0;i<n.currentProduct.Variants.length;i++)if(n.currentProduct.Variants[i].ProductId==n.currentProduct.Id){n.currentProduct.selectedProduct=n.currentProduct.Variants[i];n.currentProduct.selectedGrain=n.currentProduct.Variants[i].AvailableGrainSizes[0];break}n.loading=!1})};n.pickGrainSize=function(){for(var i,r,t=0;t<n.currentProduct.Variants.length;t++)if(n.currentProduct.Variants[t].ProductId==n.currentProduct.selectedGrain.ProductId){for(n.currentProduct.selectedProduct=n.currentProduct.Variants[t],n.$$phase?n.$eval():n.$apply(),i=0;i<n.currentProduct.Variants[t].AvailableGrainSizes.length;i++)if(n.currentProduct.Variants[t].AvailableGrainSizes[i].ProductId==n.currentProduct.selectedGrain.ProductId){n.currentProduct.selectedGrain=n.currentProduct.Variants[t].AvailableGrainSizes[i];break}break}for(n.colors.splice(0,n.colors.length),r=0;r<n.currentProduct.selectedProduct.AvailableColors.length;r++)n.colors.push(n.currentProduct.selectedProduct.AvailableColors[r])};n.$watch("square",function(){n.calculateCount();n.calculatePrices()},!0);n.$watch("currentProduct",function(){n.calculatePrices()},!0);n.$watch("currentColorVariant",function(n,t){console.log(n);console.log(t)});n.calculatePrices=function(){if(n.currentProduct.selectedProduct!==undefined){var t=n.currentProduct.selectedProduct.Price*n.currentProduct.Count;n.currentProduct.SubTotal=t;n.currentProduct.ShowBasket=n.currentProduct.selectedProduct.Price>=0&&n.currentProduct.selectedProduct.StockValue>0?!0:!1}};n.calculateCount=function(){n.currentProduct.Count=n.square};n.increaseQuantity=function(){n.square++};n.decreaseQuantity=function(){n.square>0&&n.square--};n.addTexturePath=function(t){return t.length>1?t:n.defaultPath};n.isVariantEditMode=function(t){return n.isEditMode&&t.ColorId===n.editVariant.ColorId};n.showModalPopup=function(t){if(t=="colorGroupMode")n.isColorGroupMode=!0,n.isColorVariantMode=!1,n.newColorGroup.renCategoryId=n.currentColorCategory.colorCategory.Id;else if(t=="colorVariantMode")n.currentColorVariant.texturepath="",n.isColorGroupMode=!1,n.isColorVariantMode=!0;else return!1;$("#myModal").modal("show")};n.saveNewColorGroup=function(){n.newColorGroup.Color=n.currentColorVariant.color;n.newColorGroup.Texture=n.currentColorVariant.file;t.post("/Services/RenProductService.asmx/InsertColorGroup",{colorGroup:n.newColorGroup},!1).then(function(t){n.colorGroups.push(t.data.d);n.currentColorCategory.currentColorGroup=t.data.d;n.colorGroupChoosed();$("#myModal").modal("hide")})}}]);app.controller("ProductDetailsCtrl",["$scope","$window","orderByFilter","ProductCalculatorService","RenProductCalculatorService",function(n,t,i,r,u){function f(n){if(!n)return null;return n.toLowerCase().replace(/(^(ncs)|(nc-s)|(nc)|(n))|(\s)|(-)/g,"")}n.loading=!1;n.samplesAreLoading=!0;n.colorBackground={};n.colorSamples=[];n.renColorSamples=[];n.showSamplesPanel=!1;n.selectedColorSamples="";n.selectedRenColorSamples="";n.searchingColorVariant="";n.foundColors=[];n.init=function(){var f=document.querySelector(".js-product-entity-model").value,i,u;for(n.currentProduct=JSON.parse(f),i=0;i<n.currentProduct.AvailableGrainSizes.length;i++)if(n.currentProduct.AvailableGrainSizes[i].ProductId==n.currentProduct.Id){n.selectedGrain=n.currentProduct.AvailableGrainSizes[i];break}u=n.currentProduct.CategoryId?n.currentProduct.CategoryId:null;r.GetSamplesForProduct(n.currentProduct.Id,n.currentProduct.GrainSize,u,n.currentProduct.IsRenCategory).success(function(i){n.currentProduct.Samples=JSON.parse(i.d).Samples;n.samplesAreLoading=!1;t.location.hash=="#sampleColor"&&($(window).width()<768?$("html, body").animate({scrollTop:0},"slow"):setTimeout(function(){var n=$(".sample-color").height();$("#sample-color").css("margin-top",-n/2)},100))})};n.calculatePrices=function(){if(n.currentProduct!==undefined){var t=n.currentProduct.Price*n.currentProduct.Count;n.currentProduct.SubTotal=t;console.log(n.ShowBasket);n.ShowBasket=n.currentProduct.Price>=0&&n.currentProduct.StockValue>0?!0:!1;console.log(n.ShowBasket)}};n.increaseQuantity=function(){n.currentProduct.Count++};n.decreaseQuantity=function(){n.currentProduct.Count>0&&n.currentProduct.Count--};n.changeGrainSize=function(i){for(var r=0;r<n.currentProduct.AvailableGrainSizes.length;r++)if(n.currentProduct.AvailableGrainSizes[r].ProductId==i){n.selectedGrain=n.currentProduct.AvailableGrainSizes[r];break}t.location.pathname=n.selectedGrain.Url};n.pickColor=function(t,i){for(var f=n.selectedGrain,u,r=0;r<n.currentProduct.AvailableColors.length;r++)if(n.currentProduct.AvailableColors[r].ProductId==i.ProductId){if(n.selectedProduct=n.currentProduct.AvailableColors[r],f!==undefined&&f!=null)for(u=0;u<n.currentProduct.AvailableGrainSizes.length;u++)if(n.currentProduct.AvailableGrainSizes[u].GrainSize==f.GrainSize){n.selectedGrain=n.currentProduct.AvailableGrainSizes[u];break}break}};n.checkIsColorSelected=function(t){return n.selectedProduct!==undefined?t.ProductId===n.selectedProduct.ProductId:t.ProductId===n.currentProduct.Id};n.$watch("selectedGrain",function(){n.calculatePrices()},!0);n.$watch("currentProduct",function(){n.calculatePrices();n.getStyles(n.currentProduct)},!0);n.getStyles=function(t){if(t!==undefined&&t.Color!==undefined){var i="";t.Color.TexturePath!=""&&(i+="background-image: url("+t.Color.TexturePath+");");i+="background-color: "+t.Color.Color+";background-size: 62px 62px;";n.colorBackground=i}};n.redirectToProductUrl=function(){t.location.pathname=n.selectedProduct.Url};n.pickSample=function(t,i){for(var r=0;r<n.currentProduct.Samples.length;r++)if(n.currentProduct.Samples[r].ProductId==i.ProductId){n.colorSamples.indexOf(n.currentProduct.Samples[r])===-1?n.colorSamples.push(n.currentProduct.Samples[r]):n.colorSamples.splice(n.colorSamples.indexOf(n.currentProduct.Samples[r]),1);break}};n.pickRenSample=function(t,i){for(var r=0;r<n.currentProduct.Samples.length;r++)if(n.currentProduct.Samples[r].Color.ColorId==i.ColorId){n.colorSamples.indexOf(n.currentProduct.Samples[r])===-1?n.colorSamples.push(n.currentProduct.Samples[r]):n.colorSamples.splice(n.colorSamples.indexOf(n.currentProduct.Samples[r]),1);break}};n.inSamplesList=function(t){for(var i=0;i<n.colorSamples.length;i++)if(n.colorSamples[i].ProductId===t)return!0;return!1};n.inSamplesListByColor=function(t){for(var i=0;i<n.colorSamples.length;i++)if(n.colorSamples[i].Color.ColorId===t)return!0;return!1};n.addColorSamples=function(){for(var r=[],i,t=0;t<n.colorSamples.length;t++)n.ShowBasket&&(i={},i.ProductId=n.colorSamples[t].ProductId,i.Quantity=1,r.push(i));n.selectedColorSamples=JSON.stringify(r)};n.clearData=function(){n.showSamplesPanel=!1;n.colorSamples.splice(0,n.colorSamples.length)};n.getColorGroups=function(){var t=n.currentProduct.Group;u.GetRenCategoryWithGroupsAndVariants(t).success(function(t){n.colorCategory=t.d;n.colorGroups=t.d.ColorGroups;var r=i(n.colorGroups,"SortOrder");n.selectedColorGroup=r.length>0?r[0]:null;r[0].selected=!0})};n.selectGroup=function(t){if(n.selectedColorGroup=null,n.colorGroups)for(var i=0;i<n.colorGroups.length;i++)n.colorGroups[i].selected=!1;t.selected=!0;n.selectedColorGroup=t};n.selectVariant=function(t){var r,i;if(n.selectedColorGroup&&n.selectedColorGroup.ColorVariants)for(r=0;r<n.selectedColorGroup.ColorVariants.length;r++)n.selectedColorGroup.ColorVariants[r].selected=!1;for(t.selected=!0,n.selectedColorVariant=t,i=0;i<n.currentProduct.AvailableColors.length;i++)if(n.currentProduct.AvailableColors[i].Color.ColorId==t.ColorId){n.selectedProduct=n.currentProduct.AvailableColors[i];break}};n.searchColorVariant=function(){var r,t,i,u;for(n.foundColors=[],r=f(n.searchingColorVariant),t=0;t<n.colorGroups.length;t++)for(i=0;i<n.colorGroups[t].ColorVariants.length;i++)u=f(n.colorGroups[t].ColorVariants[i].ColorId),u.indexOf(r)>-1&&n.foundColors.push(n.colorGroups[t].ColorVariants[i])}}]);app.directive("myPostRepeatDirective",function(){return function(n,t,i){var r=i.pattern;$(t).fancybox({wrapCSS:"_custom",padding:30,content:'<div class="pattern-preload" style="background: url('+r+') repeat;">'})}})