(function(){"use strict";function n(n,t,i,r,u){var f=this;f.fetchingProducts=!1;f.fetchingSpProductDetails=!1;f.fetchingProductPrice=!1;f.fetchingSubjectTreeLevels=!1;f.accessKeyError="";f.checkingAccessKey=!1;f.accessKeyNeeded=!1;f.accessKeyAuthenticated=!1;f.accessKeyAttempt=0;f.products=[];f.refiners={subjects:[],masterSubjects:[],languages:[],formats:[]};f.pagingSettings={pageSize:i.settings.Default_Page_Size,currentPage:i.settings.Default_Current_Page,paginationMaxSize:i.settings.Default_Pagination_Max_Size,orderBy:"",orderByDirection:!1};f.init=function(i){i.ResourceURL&&i.ResourceURL.length>0&&(t.location=i.ResourceURL);f.page=i;f.isAccessKeyNeeded();f.products=i.Products;f.constructSubjects();n.page.title=i.Title;n.page.description=i.Description};f.constructSubjects=function(){f.products&&f.products!==null&&angular.forEach(f.products,function(n){angular.forEach(n.SpProduct.Subjects,function(t){var i={id:t.LookupId,subjectCode:t.LookupValue,description:n.SpProduct.Subjects_x003a_Description.filter(function(n){return n.LookupId===t.LookupId})[0].LookupValue},r,u;f.refiners.masterSubjects.map(function(n){return n.subjectCode}).indexOf(i.subjectCode)<0&&(r="",i.subjectCode.length===6?r=i.subjectCode.substring(0,3):i.subjectCode.length===8&&(r=i.subjectCode.substring(0,6)),r&&r.length>0?(u=n.SpProduct.Subjects.filter(function(n){return n.LookupValue===r}),u&&u.length>0&&(i.parentSubjectCode=r,i.parentDescription=n.SpProduct.Subjects_x003a_Description.filter(function(n){return n.LookupId===u[0].LookupId})[0].LookupValue)):i.parentSubjectCode="0",f.refiners.masterSubjects.push(i))})})};f.setOrderBy=function(n){n===f.pagingSettings.orderBy?f.pagingSettings.orderByDirection=!f.pagingSettings.orderByDirection:(f.pagingSettings.orderBy=n,f.pagingSettings.orderByDirection=!1)};f.setSubjects=function(n){var i="",t,r,u;n&&n!==null&&n.trim().length>0?(i=n,t=f.getSubjectsFromUrl(),t&&t!==null&&t.trim().length>0&&(i=i+","+t)):(t=f.getSubjectsFromUrl(),t&&t!==null&&t.trim().length>0&&(i=t));i.trim().length>0?(r=i.split(","),u=r.filter(function(n,t,i){return t===i.indexOf(n)}),i=u.join(),f.subject=i):f.subject="";f.getProductsBySubject()};f.getSubjectsFromUrl=function(){var n=f.getUrlParameter("subject");if(n&&n.length>0)return n};f.isAccessKeyNeeded=function(){f.page.AccessKey&&f.page.AccessKey!==null&&f.page.AccessKey.trim().length>0?(f.accessKeyNeeded=!0,f.checkForAccessKeyInSessionStorage("page_"+f.page.Slug+"_access_key")):f.accessKeyNeeded=!1};f.checkForAccessKeyInSessionStorage=function(t){var i=n.getFromSessionStorage(t);i&&i!==null&&i.trim().length>0&&f.checkIfAccessKeyIsCorrect(i)};f.accessKeyFormSubmit=function(){f.checkIfAccessKeyIsCorrect(f.accessKey.AccessKey)};f.checkIfAccessKeyIsCorrect=function(t){f.checkingAccessKey=!0;f.accessKeyAttempt++;t===f.page.AccessKey?(f.accessKeyAuthenticated=!0,n.saveToSessionStorage("page_"+f.page.Slug+"_access_key",t)):f.accessKeyAuthenticated=!1;f.checkingAccessKey=!1};f.getSubjectsFromUrl=function(){var n=f.getUrlParameter("subject");if(n&&n.length>0)return n};f.getProductsBySubject=function(){f.subject&&f.subject.length>0&&(f.fetchingProducts=!0,r.getProductsBySubject(f.subject,function(n){n.Errored?(f.pageError=n.message.join(),f.fetchingProducts=!1):n.data.Errored?(f.pageError=n.data.ErrorMessage,f.fetchingProducts=!1):(f.products=JSON.parse(n.data.Data),f.fetchingProducts=!1,f.getSpProductDetails(),f.getProductPrice(),f.getProductFamily(),f.getSubjectTreeLevelForSubject(),f.getSubjectTreeLevelForProduct())}))};f.getSpProductDetails=function(){f.products&&f.products!==null&&(f.fetchingSpProductDetails=!0,angular.forEach(f.products,function(n,t){r.getSpProductDetails(n.AdvProduct.ItemNumber,function(i){if(i.Errored)f.pageError=i.message.join();else if(i.data.Errored)f.pageError=i.data.ErrorMessage;else{var r=JSON.parse(i.data.Data);r&&r!==null&&(n.SpProduct=r)}t===f.products.length-1&&(f.removeAllInvalidProductRecords(),f.fetchingSpProductDetails=!1)})}))};f.getProductPrice=function(){f.products&&f.products!==null&&(f.fetchingProductPrice=!0,angular.forEach(f.products,function(n,t){r.getProductPrice(n.AdvProduct.ItemNumber,function(i){if(i.Errored)f.pageError=i.message.join();else if(i.data.Errored)f.pageError=i.data.ErrorMessage;else{var r=JSON.parse(i.data.Data);r&&r!==null&&(n.CurrentPrice=r)}t===f.products.length-1&&(f.fetchingProductPrice=!1)})}))};f.getProductFamily=function(){f.products&&f.products!==null&&angular.forEach(f.products,function(n){r.getProductFamily(n.AdvProduct.ItemNumber,function(t){if(t.Errored)f.pageError=t.message.join();else if(t.data.Errored)f.pageError=t.data.ErrorMessage;else{var i=t.data.Data;i&&i!==null&&(n.ProductFamily=i)}})})};f.getSubjectTreeLevelForSubject=function(){if(f.products&&f.products!==null){f.fetchingSubjectTreeLevels=!0;r.getSubjectTreeLevelForSubject(f.subject,function(n){if(n.Errored)f.pageError=n.message.join();else if(n.data.Errored)f.pageError=n.data.ErrorMessage;else{var t=n.data.Data;t&&t!==null&&(f.subjectTreeLevels=t,f.refiners.masterSubjects=t)}f.fetchingSubjectTreeLevels=!1})}};f.getSubjectTreeLevelForProduct=function(){if(f.products&&f.products!==null){var n=0;angular.forEach(f.products,function(t){r.getSubjectTreeLevel(t.AdvProduct.ItemNumber,function(i){if(n++,i.Errored)f.pageError=i.message.join();else if(i.data.Errored)f.pageError=i.data.ErrorMessage;else{var r=i.data.Data;r&&r!==null&&(t.SubjectTreeLevels=r)}})})}};f.extractProductSubjects=function(){angular.forEach(f.products,function(n){angular.forEach(n.SubjectTreeLevels,function(n){f.refiners.masterSubjects.push(n)})})};f.removeAllInvalidProductRecords=function(){for(var n=f.products.length;n--;)f.products[n].SpProduct&&f.products[n].SpProduct!==null&&f.products[n].SpProduct.On_x0020_Website===!0||f.products.splice(n,1)};f.getUrlParameter=function(n){n=n.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var i=new RegExp("[\\?&]"+n+"=([^&#]*)"),t=i.exec(location.search);return t===null?"":decodeURIComponent(t[1].replace(/\+/g," "))};f.languageAddRemove=function(n){var t=f.refiners.languages.indexOf(n);t!==-1?f.refiners.languages.splice(t,1):f.refiners.languages.push(n)};f.formatAddRemove=function(n){var t=f.refiners.formats.indexOf(n);t!==-1?f.refiners.formats.splice(t,1):f.refiners.formats.push(n)};f.subjectAddRemove=function(n){var t=f.refiners.subjects.indexOf(n);t!==-1?f.refiners.subjects.splice(t,1):f.refiners.subjects.push(n)};f.downloadItems=[];f.downloads={};f.downloadsInit=function(){u.getLtpStoreDownloads(function(n){n.Errored||n.data.Errored||(f.downloadItems=n.data.Data)})};f.purchased=function(n){u.purchased(n,function(t){f.downloads[n]=t.Errored?!1:t.data.Errored?!1:t.data.Data})}}angular.module("LtpStoreApp").controller("PageCtrl",n);n.$inject=["$scope","$window","config","ProductsSvc","ManageSvc"]})(),function(){"use strict";function n(n){var t={data:{},Errored:!1,message:[]};return{getSubscriptionRateTable:function(i,r,u){n.get("/products/GetSubscriptionRateTable?itemNumber="+i+"&rateCode="+r).then(function(n){t.data=n.data;u(t)}),function(n){t.Errored=!0;t.message.push(toString(n.status)+" - "+n.statusText);u(t)}},getAvailableSeats:function(i,r,u,f){n.get("/products/GetAvailableSeats?conferenceId="+i+"&locationId="+r+"&sessionId="+u).then(function(n){t.data=n.data;f(t)}),function(n){t.Errored=!0;t.message.push(toString(n.status)+" - "+n.statusText);f(t)}},getCWBTABItems:function(i,r){n.get("/products/GetCWBTABItems/"+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)}},getProductsBySubject:function(i,r){n.get("/products/getproductsbysubject/"+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)}},getSpProductDetails:function(i,r){n.get("/products/getspproductdetails/"+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)}},getProductPrice:function(i,r){n.get("/products/getproductprice/"+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)}},getProductFamily:function(i,r){n.get("/products/getproductfamily/"+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)}},getSubjectTreeLevel:function(i,r){n.get("/products/getsubjecttreelevel/"+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)}},getSubjectTreeLevelForSubject:function(i,r){n.get("/products/getsubjecttreelevelforsubject/"+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)}},getProductDetailsFromSP:function(i,r){n.get("http://intranet.ltp.org:8001/api/spdata/productdetails/"+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("ProductsSvc",n);n.$inject=["$http"]}(),function(){"use strict";function n(n){var t={data:{},Errored:!1,message:[]};return{getSubscriptionRateTable:function(i,r,u){n.get("/products/GetSubscriptionRateTable?itemNumber="+i+"&rateCode="+r).then(function(n){t.data=n.data;u(t)}),function(n){t.Errored=!0;t.message.push=toString(n.status)+" - "+n.statusText;u(t)}},purchased:function(i,r){n.get("/manage/purchased/"+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)}},getLtpStoreDownloads:function(i){n.get("/getltpstoredownloads").then(function(n){t.data=n.data;t.data.Data=JSON.parse(n.data.Data);i(t)}),function(n){t.Errored=!0;t.message.push(toString(n.status)+" - "+n.statusText);i(t)}}}}angular.module("LtpStoreApp").factory("ManageSvc",n);n.$inject=["$http"]}()