(function(){"use strict";angular.module("LtpStoreApp").filter("pageStartFrom",function(){return function(n,t){if(n)return n.slice(t)}}).filter("minPrice",function(){return function(n,t){if(t!=undefined&&t>=0){var i=[];return angular.forEach(n,function(n){n.CurrentPrice!=null&&n.CurrentPrice>=t&&i.push(n)}),i}return n}}).filter("maxPrice",function(){return function(n,t){if(t!=undefined&&t>0){var i=[];return angular.forEach(n,function(n){n.CurrentPrice!=null&&n.CurrentPrice<=t&&i.push(n)}),i}return n}}).filter("formatsIn",function(){return function(n,t){if(t!=undefined&&t.length>0){var i=[];return angular.forEach(t,function(t){angular.forEach(n,function(n){n.SpProduct.Product_x0020_Fomat_x002F_Bindin0===t&&i.push(n)})}),i}return n}}).filter("parentSubjectsIn",function(){return function(n,t){if(t!=undefined&&t.length>0){var i=[];return angular.forEach(n,function(n){var u=n.SpProduct.Subjects.map(function(n){return n.LookupValue}),r=u.filter(function(n){return this.indexOf(n)>=0},t);r&&r.length>0&&i.indexOf(n)<0&&i.push(n)}),i}return n}}).filter("subjectsIn",function(){return function(n,t){if(t!=undefined&&t.length>0){var i=[];return angular.forEach(n,function(n){var u=n.SpProduct.Subjects.map(function(n){return n.LookupValue}),r=u.filter(function(n){return this.indexOf(n)>=0},t);r&&r.length>0&&i.indexOf(n)<0&&i.push(n)}),i}return n}}).filter("authorsIn",function(){return function(n,t){if(t!=undefined&&t.length>0){var i=[];return angular.forEach(t,function(t){angular.forEach(n,function(n){n.SpProduct.Author_x0020__x0028_Production_x===t&&i.push(n)})}),i}return n}}).filter("languagesIn",function(){return function(n,t){if(t!=undefined&&t.length>0){var i=[];return angular.forEach(t,function(t){angular.forEach(n,function(n){n.SpProduct.Text_x0020_Language_x0020_UPG_x0===t&&i.push(n)})}),i}return n}})})(),function(){"use strict";function n(){return{require:"ngModel",link:function(n,t,i,r){r.$validators.ltpCompareTo=function(n){var t=n===i.ltpCompareTo;return r.$setValidity("pwmatch",t),t};n.$watch(i.ltpCompareTo,function(){r.$validate()})}}}function u(){return{require:"ngModel",link:function(n,t,i,r){r.$validators.ltpDoesNotMatch=function(t){var u=t!==n.$eval(i.ltpDoesNotMatch);return r.$setValidity("doesnotmatch",u),u};n.$watch(i.ltpDoesNotMatch,function(){r.$validate()})}}}function t(n){return{restrict:"A",link:function(t,i,r){t.$watch(function(){return t.$eval(r.bindHtmlCompile)},function(r){i.html(r);n(i.contents())(t)})}}}function i(n,t,i){return{restrict:"A",link:function(n,r,u){var f=t.parseAsHtml(u.compileHtml),e=function(){return f(n)};n.$watch(e,function(t){var u=i(t);r.append(u(n))})}}}function r(n,t){return{restrict:"A",link:function(i,r,u){u.$observe("ngSrc",function(i){i!==undefined&&i.length>0&&(r.attr("src")===undefined&&r.attr("src",t.settings.Website_Asset_Url+"/ripple.gif"),setTimeout(function(){var u={headers:{From:t.settings.AWS_Header_From}};n.get(i,u).success(function(){r.attr("src",r.attr("ng-src"));r.removeAttr("ng-src")}).error(function(){r.attr("image-error")===undefined?console.log(r.attr("ng-src")):r.attr("src",r.attr("image-error"))})},parseInt(t.settings.Javascript_Image_Load_Delay)))})}}}function f(){return{restrict:"E",template:'<div class="row  product-listing-container text-xs-center" ng-if="product.SpProduct && product.SpProduct != null">                        <div class="col-sm-3 col-xs-12">                            <a href="/products/details/{{product.SpProduct.Item_x0020_Code}}/{{slugify(product.SpProduct.Title)}}" alt="{{product.SpProduct.Title}}"><img class="img-responsive center-block product-listing-image"  lazy-src="{{config.settings.Product_Image_Url}}/{{product.SpProduct.Item_x0020_Code}}_sm.jpg" animate-visible="true" alt="{{product.SpProduct.Title}}" /><\/a>                        <\/div>                        <div class="col-sm-9 col-xs-12">                            <p class="visible-xs"><\/p> <!--added for spacing between title and image in mobile view-->                            <a href="/products/details/{{product.SpProduct.Item_x0020_Code}}/{{slugify(product.SpProduct.Title)}}" alt="{{product.SpProduct.Title}}"><p class="product-listing-title"><span ng-if="product.SpProduct.Article.length > 0">{{product.SpProduct.Article}} <\/span><span bind-html-compile="product.SpProduct.Title"><\/span><span ng-if="product.SpProduct.Subtitle.length > 0"><br /><span bind-html-compile="product.SpProduct.Subtitle"><\/span><\/span><\/p><\/a>                            <p>                                <span>{{localize.Product_Listing_Order_Code_Text}} {{product.SpProduct.Item_x0020_Code}}<\/span>                                <span ng-if="product.SpProduct.UPC_x002F_ISBN.length > 0"> | {{product.SpProduct.UPC_x002F_ISBN}}<\/span>                                <span ng-if="product.SpProduct.Product_x0020_Fomat_x002F_Bindin !== null"> | {{product.SpProduct.Product_x0020_Fomat_x002F_Bindin}}<\/span>                                <span ng-if="product.SpProduct.Product_x0020_Dimension_x0020_UP !== null"> | {{product.SpProduct.Product_x0020_Dimension_x0020_UP}}<\/span>                                <span ng-if="product.SpProduct.Final_x0020_page_x0020_count !== null"> | {{product.SpProduct.Final_x0020_page_x0020_count}} {{localize.Product_Listing_Pages_Text}}<\/span>                                <span ng-if="product.SpProduct.Text_x0020_Language_x0020_UPG !== null"> | {{localize.Product_Listing_Language_Text}} {{product.SpProduct.Text_x0020_Language_x0020_UPG}}<\/span>                                <span ng-if="product.SpProduct.CopyrightYear !== null"> | {{localize.Product_Listing_Copyright_Year_Text}} {{product.SpProduct.Copyright_x0020_Year}}<\/span>                            <\/p>                            <div class="text-center" ng-show="vm.fetchingSpProductDetails">                                    <img lazy-src="{{config.settings.Website_Asset_Url}}/ripple.gif" animate-visible="true" class="" width="30" />                                    <span>Please wait...<\/span>                            <\/div>                            <p ng-if="value.currentLocale === \'en\'" bind-html-compile="product.SpProduct.Marketing_x0020_Copy_x0020_Short1"><\/p>                            <p ng-if="value.currentLocale === \'es\'" bind-html-compile="product.SpProduct.Marketing_x0020_Copy_x0020_Short2"><\/p>                            <div>                                <span><strong>                                    <span ng-if="!product.SpProduct.On_x0020_Sale_x003f_" class="product-detail-price">{{localize.Product_Listing_Price_Text}} ${{product.SpProduct.Price_x002d__x002d_Web_x0020_Onl.toFixed(2)}}<\/span>                                <\/strong><\/span>                                <span ng-if="product.SpProduct.On_x0020_Sale_x003f_" class="product-detail-price small">                                    <span class="regular-price">{{localize.Product_Detail_Regular_Price_Text}}: ${{product.SpProduct.Price_x002d__x002d_Web_x0020_Onl.toFixed(2)}} <\/span>                                     <span class="sale-price">&nbsp;&nbsp;{{localize.Product_Detail_Regular_Sale_Text}}: ${{product.SpProduct.Sale_x0020_Price}}<\/span> <br>                                <\/span>                                <span ng-if="!product.IsVirtualWorkshop && product.SpProduct.System_x0020_Name != \'CIR\' && product.SpProduct.Buy_x0020_Button_x003f_ ">                                    <span>{{localize.Product_Listing_Quantity_Text}} <\/span>                                    <input ng-if="product.SpProduct.Product_x0020_Fomat_x002F_Bindin === null || product.SpProduct.Product_x0020_Fomat_x002F_Bindin !== \'Digital Ebook\' " ng-model="vm.addToOrderQuantity" ng-init="vm.addToOrderQuantity=1" type="number" min="1" step="1" style="width:70px;height:100%;text-align:center;">                                    <input ng-if="product.SpProduct.Product_x0020_Fomat_x002F_Bindin !== null && product.SpProduct.Product_x0020_Fomat_x002F_Bindin === \'Digital Ebook\' " ng-model="vm.addToOrderQuantity" ng-init="vm.addToOrderQuantity=1" disabled="disabled" type="number" min="1" max="1" step="1" style="width:70px;height:100%;text-align:center;">                                    <a ng-disabled="vm.addToOrderQuantity <=0" href="/order/addtoorder?itemNumber={{product.SpProduct.Item_x0020_Code}}&productType={{product.SpProduct.System_x0020_Name}}&quantity={{vm.addToOrderQuantity}}&returnUrl='+encodeURIComponent(location.pathname+location.search)+'" class="btn btn-primary product-detail-add-to-cart-btn"><span class="fa fa-shopping-cart"> <\/span> <strong>{{localize.General_Add_Button_Text}}<\/strong><\/a>                                <\/span>                            <\/div>                        <\/div>                    <\/div>'}}function e(){return{restrict:"E",scope:{lineItems:"=",screen:"@screen",config:"=",value:"=",slugify:"&slugifyFunc"},template:'<div ng-if="lineItems != undefined || lineItems.length != 0">                            <div class="col-sm-12 shopping-cart-lineitem-list border-bottom-grey hidden-xs" ng-repeat="lineItem in lineItems | where: { ProductType: \'PRO\' } track by $index">                                <div class="col-sm-1">                                    <a ng-href="/products/details/{{lineItem.ItemNumber}}/{{slugify({url:lineItem.ProductTitle})}}">                                        <img class="img-responsive" lazy-src="{{config.settings.Product_Image_Url}}/{{lineItem.ItemNumber}}_sm.jpg" image-error="{{config.settings.Product_Image_Url}}/imagenotavailable.jpg" animate-visible="true" alt="{{lineItem.ProductTitle}}" />                                    <\/a>                                <\/div>                                <div class="col-sm-5">                                    <p>                                        <a ng-href="/products/details/{{lineItem.ItemNumber}}/{{slugify({url:lineItem.ProductTitle})}}">{{lineItem.ProductTitle}}<\/a>                                        <span ng-if="lineItem.SalesAmountOrdered > 0 && lineItem.SalesAmountShipped <= 0" class="bold text-danger small" ><br />BACKORDERED<\/span>                                    <\/p>                                <\/div>                                <div class="col-sm-2">                                    <p>${{lineItem.UnitPrice.toFixed(2)}}<\/p>                                <\/div>                                <div class="col-sm-2 text-center">                                    <span ng-if=\'screen != "review"\'>                                        <span ng-if=\'lineItem.ProductTitle.substring(0,1) !== "*" \'>                                            <input name="lineItem.QuantityOrdered" class="shopping-cart-lineitem-list-quantity" type="number" ng-model="lineItem.QuantityOrdered" /> | <a ng-href="/order/updatelineitem?orderNumber={{lineItem.OrderNumber}}&lineNumber={{lineItem.LineNumber}}&quantity={{lineItem.QuantityOrdered}}">                                            <span>{{value.stringResources.General_Update_Button_Text.toUpperCase()}}<\/span>                                            <\/a>                                        <\/span>                                        <span ng-if=\'lineItem.ProductTitle.substring(0,1) === "*" \'>                                            <p>{{lineItem.QuantityOrdered}}<\/p>                                        <\/span>                                    <\/span>                                    <p ng-if=\'screen === "review" \'>{{lineItem.QuantityOrdered}}<\/p>                                <\/div>                                <div class="col-sm-2">                                    <span class="pfont">${{lineItem.SalesAmountOrdered.toFixed(2)}}<\/span>                                <\/div>                            <\/div>                        <\/div>                        <div class="col-xs-12 visible-xs border-bottom-grey shopping-cart-lineitem-list"  ng-repeat="lineItem in lineItems | where: { ProductType: \'PRO\' } track by $index">                            <div class="col-xs-2">                                <a ng-href="/products/details/{{lineItem.ItemNumber}}/{{slugify({url:lineItem.ProductTitle})}}"><img class="img-responsive" lazy-src="{{config.settings.Product_Image_Url}}/{{lineItem.ItemNumber}}_sm.jpg" image-error="{{config.settings.Product_Image_Url}}/imagenotavailable.jpg" animate-visible="true" alt="{{lineItem.ProductTitle}}" /><\/a>                            <\/div>                            <div class="col-xs-10">                                <p class="bold"><a ng-href="/products/details/{{lineItem.ItemNumber}}/{{slugify({url:lineItem.ProductTitle})}}">{{lineItem.ProductTitle}}<\/a><\/p>                                    <span class="pfont">Price:  ${{lineItem.UnitPrice.toFixed(2)}}&nbsp;&nbsp;&nbsp;&nbsp;<\/span>                                    <span ng-if="screen != \'review\'" class="pfont">                                         <span ng-if=\'lineItem.ProductTitle.substring(0,1) !== "*" \'>                                            Quantity: <input name="lineItem.QuantityOrdered"                                                                              class="shopping-cart-lineitem-list-quantity"                                                                              type="number"                                                                              ng-model="lineItem.QuantityOrdered"                                                                              style="width:50px;"/> |                                             <a ng-href="/order/updatelineitem?orderNumber={{lineItem.OrderNumber}}&lineNumber={{lineItem.LineNumber}}&quantity={{lineItem.QuantityOrdered}}">{{value.stringResources.General_Update_Button_Text.toUpperCase()}}<\/a>                                        <\/span>                                        <span ng-if=\'lineItem.ProductTitle.substring(0,1) === "*" \'>                                            <span class="pfont">Quantity: {{lineItem.QuantityOrdered}}<\/span>                                        <\/span>                                    <\/span>                                    <span class="pfont" ng-if="screen == \'review\'">Quantity: {{lineItem.QuantityOrdered}}<\/span>                                    <br />                                <p>Total: ${{lineItem.SalesAmountOrdered.toFixed(2)}}<\/p>                            <\/div>                        <\/div>'}}function o(){return{restrict:"E",scope:{lineItems:"=",screen:"@screen",config:"=",value:"=",slugify:"&slugifyFunc"},template:'<div ng-if="lineItems != undefined || lineItems.length != 0">                            <div class="col-sm-12 shopping-cart-lineitem-list border-bottom-grey hidden-xs" ng-repeat="lineItem in lineItems | where: { ProductType: \'CIR\'} track by $index">                                <div class="col-sm-1">                                    <a ng-href="/products/details/{{lineItem.ItemNumber}}/{{slugify({url:lineItem.ProductTitle})}}"><img class="img-responsive" lazy-src="{{config.settings.Product_Image_Url}}/{{lineItem.ItemNumber}}_sm.jpg" image-error="{{config.settings.Product_Image_Url}}/imagenotavailable.jpg" animate-visible="true" alt="{{lineItem.ProductTitle}}" /><\/a>                                <\/div>                                <div class="col-sm-5">                                    <p><a ng-href="/products/details/{{lineItem.ItemNumber}}/{{slugify({url:lineItem.ProductTitle})}}">{{lineItem.ProductTitle}}<\/a> <br /><small>Term Length: {{lineItem.Term}}<\/small><\/p>                                <\/div>                                <div class="col-sm-2">                                    <p>${{lineItem.UnitPrice.toFixed(2)}}<\/p>                                <\/div>                                <div class="col-sm-2 text-center">                                    <span ng-if=\'screen != "review"\'>                                        <input name="lineItem.QuantityOrdered" class="shopping-cart-lineitem-list-quantity" type="number" ng-model="lineItem.QuantityOrdered" /> | <a ng-href="/order/updatelineitem?orderNumber={{lineItem.OrderNumber}}&lineNumber={{lineItem.LineNumber}}&quantity={{lineItem.QuantityOrdered}}">{{value.stringResources.General_Update_Button_Text.toUpperCase()}}<\/a>                                    <\/span>                                    <p ng-if="screen == \'review\'">{{lineItem.QuantityOrdered}}<\/p>                                <\/div>                                <div class="col-sm-2">                                    <span class="pfont">${{lineItem.SalesAmountOrdered.toFixed(2)}}<\/span>                                <\/div>                            <\/div>                        <\/div>                        <div class="col-xs-12 visible-xs border-bottom-grey shopping-cart-lineitem-list"  ng-repeat="lineItem in lineItems | where: { ProductType: \'CIR\' } track by $index">                            <div class="col-xs-2">                                <a ng-href="/products/details/{{lineItem.ItemNumber}}/{{slugify({url:lineItem.ProductTitle})}}"><img class="img-responsive" lazy-src="{{config.settings.Product_Image_Url}}/{{lineItem.ItemNumber}}_sm.jpg" image-error="{{config.settings.Product_Image_Url}}/imagenotavailable.jpg" animate-visible="true" alt="{{lineItem.ProductTitle}}" /><\/a>                            <\/div>                            <div class="col-xs-10">                                <p class="bold"><a href="/products/details/{{lineItem.ItemNumber}}/{{slugify({url:lineItem.ProductTitle})}}">{{lineItem.ProductTitle}}<\/a><\/p>                                    <span class="pfont">Price:  ${{lineItem.UnitPrice.toFixed(2)}}&nbsp;&nbsp;&nbsp;&nbsp;<\/span>                                    <span ng-if="screen != \'review\'" class="pfont">Quantity: <input name="lineItem.QuantityOrdered"                                                                          class="shopping-cart-lineitem-list-quantity"                                                                          type="number"                                                                          ng-model="lineItem.QuantityOrdered"                                                                          style="width:50px;"/> |                                         <a ng-href="/order/updatelineitem?orderNumber={{lineItem.OrderNumber}}&lineNumber={{lineItem.LineNumber}}&quantity={{lineItem.QuantityOrdered}}">{{value.stringResources.General_Update_Button_Text.toUpperCase()}}<\/a>                                    <\/span>                                    <span class="pfont" ng-if="screen == \'review\'">{{lineItem.QuantityOrdered}}<\/span>                                    <br />                                <p>Total: ${{lineItem.SalesAmountOrdered.toFixed(2)}}<\/p>                            <\/div>                        <\/div>'}}function s(){return{restrict:"E",scope:{lineItems:"=",virtualWorkshops:"=",screen:"@screen",config:"=",value:"=",slugify:"&slugifyFunc"},template:'<div ng-if="lineItems != undefined || lineItems.length != 0">\t<div class="col-sm-12 shopping-cart-lineitem-list border-bottom-grey hidden-xs" ng-repeat="lineItem in lineItems | where: { ProductType: \'CEM\' } track by $index">\t\t<div ng-if="lineItem.ConferenceId === config.settings.Virtual_Workshop_Conference_Id && lineItem.SessionId.startsWith(\'VW\') === true">             <div ng-repeat="virtualWorkshop in virtualWorkshops | where: {ItemNumberHeader: lineItem.ConferenceId, MeetingId: lineItem.SessionName} track by $index">\t\t\t\t<div class="col-sm-1" >\t\t\t\t\t<a ng-href="/products/details/{{virtualWorkshop.ItemNumber}}"><img class="img-responsive" lazy-src="{{config.settings.Product_Image_Url}}/{{virtualWorkshop.ItemNumber}}_sm.jpg" image-error="{{config.settings.Product_Image_Url}}/imagenotavailable.jpg" animate-visible="true" alt="{{lineItem.ProductTitle}} - {{virtualWorkshop.ItemNumber}} - {{virtualWorkshop.TimeAndDate}}" /><\/a>\t\t\t\t<\/div>\t\t\t\t<div class="col-sm-5">\t\t\t\t\t<p><a ng-href="/products/details/{{virtualWorkshop.ItemNumber}}">{{virtualWorkshop.ItemNumber}} - {{virtualWorkshop.TimeAndDate}}<\/a><\/p>\t\t\t\t<\/div>\t\t\t\t<div class="col-sm-2">\t\t\t\t\t<p>${{lineItem.UnitPrice.toFixed(2)}}<\/p>\t\t\t\t<\/div>\t\t\t\t<div class="col-sm-2 text-center">                    <span ng-if=\'screen != "review"\'>                        <span class="pfont">{{lineItem.QuantityOrdered}}<\/span> | <a ng-href="/order/updatelineitem?orderNumber={{lineItem.OrderNumber}}&lineNumber={{lineItem.LineNumber}}&quantity=0">                        <span>{{value.stringResources.General_Delete_Button_Text.toUpperCase()}}<\/span>                        <\/a>                    <\/span>                    <p ng-if="screen == \'review\'">{{lineItem.QuantityOrdered}}<\/p>                <\/div>\t\t\t\t<div class="col-sm-2">\t\t\t\t\t<span class="pfont">${{lineItem.SalesAmountOrdered.toFixed(2)}}<\/span>\t\t\t\t<\/div>\t\t\t<\/div>\t\t<\/div>\t<\/div>\t<div class="col-xs-12 visible-xs border-bottom-grey shopping-cart-lineitem-list"  ng-repeat="lineItem in lineItems | where: { ProductType: \'CEM\' } track by $index">\t\t<div ng-if="lineItem.ConferenceId === config.settings.Virtual_Workshop_Conference_Id && lineItem.SessionId.startsWith(\'VW\') === true"> \t\t\t<div ng-repeat="virtualWorkshop in virtualWorkshops | where: { ItemNumberHeader: lineItem.ConferenceId, MeetingId: lineItem.SessionName} track by $index">\t\t\t\t<div class="col-xs-2" >\t\t\t\t\t<a ng-href="/products/details/{{virtualWorkshop.ItemNumber}}"><img class="img-responsive" lazy-src="{{config.settings.Product_Image_Url}}/{{virtualWorkshop.ItemNumber}}_sm.jpg" image-error="{{config.settings.Product_Image_Url}}/imagenotavailable.jpg" animate-visible="true" alt="{{lineItem.ProductTitle}} - {{virtualWorkshop.ItemNumber}} - {{virtualWorkshop.TimeAndDate}}" /><\/a>\t\t\t\t<\/div>\t\t\t\t<div class="col-xs-10">\t\t\t\t\t<p class="bold"><a href="/products/details/{{virtualWorkshop.ItemNumber}}">{{virtualWorkshop.ItemNumber}} - {{virtualWorkshop.TimeAndDate}}<\/a><\/p>\t\t\t\t\t\t<span class="pfont">Price:  ${{lineItem.UnitPrice.toFixed(2)}}&nbsp;&nbsp;&nbsp;&nbsp;<\/span>\t\t\t\t\t\t<span ng-if="screen != \'review\'" class="pfont">Quantity: {{lineItem.QuantityOrdered}} | \t\t\t\t\t\t\t<a ng-href="/order/updatelineitem?orderNumber={{lineItem.OrderNumber}}&lineNumber={{lineItem.LineNumber}}&quantity=0"><span>{{value.stringResources.General_Delete_Button_Text.toUpperCase()}}<\/span><\/a>\t\t\t\t\t\t<span ng-if="screen == \'review\'">{{lineItem.QuantityOrdered}}<\/span>\t\t\t\t\t\t<\/span>\t\t\t\t\t\t<br />\t\t\t\t\t<p>Total: ${{lineItem.SalesAmountOrdered.toFixed(2)}}<\/p>\t\t\t\t<\/div>\t\t\t<\/div>\t\t<\/div>\t<\/div><\/div>'}}angular.module("LtpStoreApp").directive("ltpCompareTo",n);n.$inject=[];angular.module("LtpStoreApp").directive("ltpDoesNotMatch",u);angular.module("LtpStoreApp").directive("bindHtmlCompile",t);t.$inject=["$compile"];angular.module("LtpStoreApp").directive("compileHtml",i);i.$inject=["$parse","$sce","$compile"];angular.module("LtpStoreApp").directive("checkImage",r);r.$inject=["$http","config"];angular.module("LtpStoreApp").directive("productList",f);angular.module("LtpStoreApp").directive("proLineItems",e);angular.module("LtpStoreApp").directive("cirLineItems",o);angular.module("LtpStoreApp").directive("cemLineItems",s)}(),function(){"use strict";function n(n,t,i,r,u,f,e){r.page={};r.page.title="Liturgy Training Publications";n.settings||(n.settings=i);t.currentLocale=u.get("ltp_locale");r.value=t;r.config=n;r.localize={};r.localizedTokens=[];r.getCookie=function(n){return u.get(n)};r.saveToSessionStorage=function(n,t){f[n]=t};r.getFromSessionStorage=function(n){return f[n]};r.localizePage=function(n){t.stringResources=n;r.value=t;r.localize=n};r.localizeToken=function(n,t){n!==undefined&&n.length>0&&(t===undefined&&t.length===0&&(t=r.currentLocale),e.getStringResourceByName(n,t,function(t){r.localizedTokens[n]=t.Errored?"":t.data[n]}))};r.slugify=function(n){for(var i="àáäâèéëêìíïîòóöôùúüûñç·/_,:;",t=0,r=i.length;t<r;t++)n=n.replace(new RegExp(i.charAt(t),"g"),"aaaaeeeeiiiioooouuuunc------".charAt(t));return n.toString().toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/&/g,"-and-").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}}angular.module("LtpStoreApp").controller("BaseCtrl",n);n.$inject=["config","value","settings","$scope","$cookies","$sessionStorage","SharePointUtilitySvc"]}(),function(){"use strict";function n(){var n=this;n.topNavigation=LayoutSvc.service.getTopNavigation()}angular.module("LtpStoreApp").controller("LayoutCtrl",n);n.$inject=["$location","NavigationSvc"]}(),function(){"use strict";function n(n,t,i,r,u){var f=this;f.quickSearchToggle=!1;f.toggleQuickSearch=function(){return f.quickSearchToggle=!f.quickSearchToggle,f.quickSearchToggle};f.quickSearch={searchQuery:"",matchAll:!1};f.orderNumber=0;f.miniCart={Count:0,Total:0};f.init=function(t){var i=n.getCookie("ltp_locale");f.getMiniCartInfo(t)};f.quickSearchFormSubmit=function(){var n=f.quickSearch.searchQuery,t;return n.indexOf("&")!==-1&&(n=n.replace("&","%26")),t="/search/index?searchQuery="+n,r.location.href=t,!1};u.getTopNavigation(t.currentLocale,function(n){n.errored?f.topNavigation=[{}]:(f.topNavigation=n.data,$(document).ready(function(){$(".nav li.disabled a").click(function(){return!1})}))});f.getMiniCartInfo=function(n){n!==undefined&&(f.orderNumber=n,u.getMiniCartInfo(f.orderNumber,function(n){n.Errored||n.data.Errored||(f.miniCart=n.data.Data)}))}}angular.module("LtpStoreApp").controller("NavigationCtrl",n);n.$inject=["$scope","value","$location","$window","NavigationSvc"]}(),function(){"use strict";function n(n){function t(){n.get("/home/GetTopNavigation").then(function(n){return n.data},function(n){return n})}return{getTopNavigation:t}}angular.module("LtpStoreApp").factory("LayoutSvc",n);n.$inject=["$http"]}(),function(){"use strict";function n(n){function i(i){n({method:"GET",url:"/advutility/getcountrylist",data:{},headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(n){t.data=n.data;i(t)}),function(n){t.Errored=!0;t.message.push(toString(n.status)+" - "+n.statusText);i(t)}}function r(i){n({method:"GET",url:"/advutility/getstatelist",data:{},headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(n){t.data=n.data;i(t)}),function(n){t.Errored=!0;t.message.push(toString(n.status)+" - "+n.statusText);i(t)}}function u(i,r){n({method:"GET",url:"/advutility/getstatelistforcountry/"+i,data:{countryCode:i},headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(n){t.data=n.data;r(t)}),function(n){t.Errored=!0;t.message.push(toString(n.status)+" - "+n.statusText);r(t)}}var t={data:{},Errored:!1,message:[]};return{getCountryList:i,getStateList:r,getStateListForCountry:u}}angular.module("LtpStoreApp").factory("AdvantageUtilitySvc",n);n.$inject=["$http"]}(),function(){"use strict";function n(n,t){function r(r,u){t({method:"GET",url:n.sharePointServiceUrl+"/getltpstorestringresources/?locale="+r,data:{},headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(n){i.data=n.data;u(i)}),function(n){i.Errored=!0;i.message.push(toString(n.status)+" - "+n.statusText);u(i)}}function u(n,r,u){t({method:"GET",url:"/advutility/getstringresourcesbypage/"+n+"?locale="+r,data:{},headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(n){i.data=n.data;u(i)}),function(n){i.Errored=!0;i.message.push(toString(n.status)+" - "+n.statusText);u(i)}}function f(n,r,u){t({method:"GET",url:"/advutility/getstringresourcebyname/"+n+"?locale="+r,data:{},headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(n){i.data=n.data;u(i)}),function(n){i.Errored=!0;i.message.push(toString(n.status)+" - "+n.statusText);u(i)}}function e(r,u){t({method:"GET",url:n.sharePointServiceUrl+"/getltpstoresettings/"+r,data:{},headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(n){i.data=n.data;u(i)}),function(n){i.Errored=!0;i.message.push(toString(n.status)+" - "+n.statusText);u(i)}}var i={data:{},Errored:!1,message:[]};return{getStringResources:r,getStringResourcesByPage:u,getStringResourceByName:f,getStoreSettingByName:e}}angular.module("LtpStoreApp").factory("SharePointUtilitySvc",n);n.$inject=["config","$http"]}(),function(){function n(n){var t={data:{},Errored:!1,message:[]};return{getTopNavigation:function(i,r){n.get("/home/GetTopNavigation/"+i).then(function(n){t.data=JSON.parse(n.data);r(t)}),function(n){t.Errored=!0;t.message.push(toString(n.status)+" - "+n.statusText);r(t)}},getMiniCartInfo:function(i,r){n.get("/advutility/getminicartinfo/"+i).then(function(n){t.data=n.data;r(t)}),function(n){t.Errored=!0;t.message.push(toString(n.status)+" - "+n.statusText);r(t)}}}}angular.module("LtpStoreApp").factory("NavigationSvc",n);n.$inject=["$http"]}()