(function(){"use strict";angular.module("app.directives",[]);angular.module("app.directives.grid",[]);angular.module("app.services",[]);var n=angular.module("app",["ui.router","ui.bootstrap","ui.unique","ui.mask","ui.validate","angular-loading-bar","angular-block-ui","app.directives","app.directives.grid","app.services"]);n.constant("settings",{IsDebug:!1});n.config(["$httpProvider","blockUIConfig",function(n,t){n.defaults.headers.get||(n.defaults.headers.get={});n.defaults.headers.get["X-Requested-With"]="XMLHttpRequest";n.defaults.headers.get["Cache-Control"]="no-cache";n.defaults.headers.get.Pragma="no-cache";n.interceptors.push("$interceptor");t.autoBlock=!1}]);n.config(["$stateProvider","$urlRouterProvider","$locationProvider",function(n,t,i){i.html5Mode(!0);t.otherwise("/404");n.state("home",{url:"/",templateUrl:"/app/templates/index.html",data:{Title:"Welcome!",Header:!1}}).state("login",{url:"/account/login?returnTo",templateUrl:"/Account/LoginView",controller:"accountController as vm",data:{Title:"Account Login",Header:!1}}).state("register",{url:"/account/register?returnTo",templateUrl:"/Account/RegisterView",controller:"accountController as vm",data:{Title:"Account Registration",Header:!1}}).state("password",{url:"/account/password/lookup",templateUrl:"/Account/PasswordLookupView",controller:"passwordController as vm",data:{Title:"Forgot Password",Header:!1}}).state("profile",{url:"/account/profile",templateUrl:"/Account/ProfileView",controller:"profileController as vm",data:{Title:"My Account",Authorization:{RedirectState:"login",Roles:["U"]}},resolve:{model:["accountRepository",function(n){return n.GetProfile().then(function(n){return n})}]}}).state("faq",{url:"/faq",templateUrl:"/app/templates/faq.html",data:{Title:"FAQ"}}).state("about",{url:"/about",templateUrl:"/app/templates/about.html",data:{Title:"About Us"}}).state("insurance",{url:"/insurance",templateUrl:"/app/templates/insurance.html",data:{Title:"Insurance Description"}}).state("application",{abstract:!0,templateUrl:"/app/applications/templates/application.html"}).state("application.equipment",{url:"/application/equipment/:policyId?action",templateUrl:"/Application/EquipmentView",controller:"equipmentApplicationController as vm",data:{Title:"Equipment Coverage Application"},resolve:{model:["$stateParams","equipmentApplicationRepository",function(n,t){return n.policyId?n.action==="renew"?t.Renew({policyId:n.policyId}).then(function(n){return n}):t.Get({policyId:n.policyId}).then(function(n){return n}):{Policy:{Status:1,PolicyId:0,IsNew:!0}}}],lookup:["lookupService",function(n){return{Months:n.GetMonthList(),Years:n.GetYearList(),BankAccountType:n.GetBankAccountTypeList()}}]}}).state("application.club",{url:"/application/club/:policyId?action",templateUrl:"/Application/ClubView",controller:"clubApplicationController as vm",data:{Title:"Club Liability Coverage Application"},resolve:{model:["$stateParams","clubApplicationRepository",function(n,t){return n.policyId?n.action==="renew"?t.Renew({policyId:n.policyId}).then(function(n){return n}):t.Get({policyId:n.policyId}).then(function(n){return n}):{Policy:{Status:1,PolicyId:0,IsNew:!0}}}],lookup:["lookupService",function(n){return{Months:n.GetMonthList(),Years:n.GetYearList(),BankAccountType:n.GetBankAccountTypeList()}}]}}).state("application.underwriter",{url:"/application/underwriter",templateUrl:"/app/applications/templates/underwriter.html",data:{Title:"Underwriter Review Required"}}).state("application.quote",{url:"/application/quote",templateUrl:"/app/applications/templates/quote.html",data:{Title:"Policy Quote Sent"}}).state("policy",{abstract:!0,template:'<div ui-view autoscroll="false" class="container"><\/div>',data:{Authorization:{RedirectState:"login",Roles:["U"]}}}).state("policy.equipment",{url:"/policy/equipment/:policyId",templateUrl:"/Policy/EquipmentView",controller:"equipmentPolicyController as vm",data:{Title:"Equipment Coverage Policy"},onEnter:["$state","$stateParams",function(n,t){t.policyId||n.go("profile")}],resolve:{model:["$stateParams","equipmentPolicyRepository",function(n,t){return n.policyId?t.Get({policyId:n.policyId}).then(function(n){return n}):null}],lookup:["lookupService",function(n){return{Months:n.GetMonthList(),Years:n.GetYearList(),BankAccountType:n.GetBankAccountTypeList()}}]}}).state("policy.club",{url:"/policy/club/:policyId",templateUrl:"/Policy/ClubView",controller:"clubPolicyController as vm",data:{Title:"Club Liability Coverage Policy"},onEnter:["$state","$stateParams",function(n,t){t.policyId||n.go("profile")}],resolve:{model:["$stateParams","clubPolicyRepository",function(n,t){return n.policyId?t.Get({policyId:n.policyId}).then(function(n){return n}):null}]}}).state("admin",{abstract:!0,url:"/admin",templateUrl:"/app/admin/templates/admin.html",data:{Title:"Administration",Authorization:{RedirectState:"login",Roles:["A"]}}}).state("admin.reports",{url:"/reports",templateUrl:"/Admin/ReportsView",controller:"adminReportsController as vm",data:{Title:"Reports"}}).state("admin.users",{abstract:!0,url:"",template:'<div ui-view autoscroll="false" class="container"><\/div>',controller:"adminUsersController as vm"}).state("admin.users.list",{url:"/users",templateUrl:"/app/admin/templates/users.html",data:{Title:"Users"}}).state("admin.users.edit",{url:"/users/edit/:userId",templateUrl:"/Admin/UserView",controller:"adminUserController as vm",data:{Title:"Edit User"},onEnter:["$state","$stateParams",function(n,t){t.userId||n.go("admin.users.list")}],resolve:{model:["$stateParams","adminRepository",function(n,t){return n.userId?t.GetUser({userId:n.userId}).then(function(n){return n}):null}]}}).state("admin.policies",{abstract:!0,url:"",template:'<div ui-view autoscroll="false" class="container"><\/div>',controller:"adminPoliciesController as vm"}).state("admin.policies.list",{url:"/policies",templateUrl:"/app/admin/templates/policies.html",data:{Title:"Policies"}}).state("admin.policies.equipment",{url:"/policies/equipment/:policyId",templateUrl:"/Admin/EquipmentPolicyView",controller:"adminEquipmentPolicyController as vm",data:{Title:"Edit Policy"},onEnter:["$state","$stateParams",function(n,t){t.policyId||n.go("admin.policies.list")}],resolve:{model:["$stateParams","adminRepository",function(n,t){return n.policyId?t.GetEquipment({policyId:n.policyId}).then(function(n){return n}):null}],lookup:["lookupService",function(n){return{PaymentMethod:n.GetPaymentMethod()}}]}}).state("admin.policies.club",{url:"/policies/club/:policyId",templateUrl:"/Admin/ClubPolicyView",controller:"adminClubPolicyController as vm",data:{Title:"Edit Policy"},onEnter:["$state","$stateParams",function(n,t){t.policyId||n.go("admin.policies.list")}],resolve:{model:["$stateParams","adminRepository",function(n,t){return n.policyId?t.GetClub({policyId:n.policyId}).then(function(n){return n}):null}],lookup:["lookupService",function(n){return{PaymentMethod:n.GetPaymentMethod()}}]}}).state("admin.settings",{url:"/settings",templateUrl:"/Admin/SettingsView",controller:"adminSettingsController as vm",data:{Title:"Settings"},resolve:{model:["adminRepository",function(n){return n.GetSettings().then(function(n){return n})}]}}).state("404",{url:"/404",templateUrl:"/app/site/templates/404.html",data:{Title:"Resource Not Found"}})}]);n.config(["$provide",function(n){n.decorator("$uiViewScroll",["$delegate",function(){return function(n){var t=0,i,r;n&&(t=$(n).offset().top,n.attributes["scroll-offset"]&&(t+=Number(n.attributes["scroll-offset"].value)));i=window.pageYOffset;r=i+window.innerHeight;(t<i||t>r)&&$("html,body").animate({scrollTop:t},500)}}])}]);n.run(["$rootScope","$state","$stateParams","$authorization",function(n,t,i,r){r.InitializeIdentity()}])})(),function(){"use strict";var n='<div class="clearfix" ng-cloak ng-show="gf.IsVisible" style="margin-top:0;"><div class="pull-left" style="line-height:30px;margin-left:10px;">Displaying <strong>{{gf.FirstRecord}}<\/strong> - <strong>{{gf.LastRecord}}<\/strong> of <strong>{{gf.RecordCount}}<\/strong><\/div><div class="pull-right" ><button type="button" ng-class="gf.CanPage.First ? \'btn-primary\' : \'btn-default\'" class="btn btn-xs" ng-click="gf.PageFirst()" ng-disabled="!gf.CanPage.First"><span class="glyphicon glyphicon-fast-backward"><\/span><\/button>&nbsp;<button type="button" ng-class="gf.CanPage.Previous ? \'btn-primary\' : \'btn-default\'" class="btn btn-xs" ng-click="gf.PagePrevious()" ng-disabled="!gf.CanPage.Previous"><span class="glyphicon glyphicon-backward"><\/span><\/button><span class="inline" style="padding:0 20px;">Page <strong>{{gf.CurrentPage}}<\/strong> of <strong>{{gf.PageCount}}<\/strong><\/span><button type="button" ng-class="gf.CanPage.Next ? \'btn-primary\' : \'btn-default\'" class="btn btn-xs" ng-click="gf.PageNext()" ng-disabled="!gf.CanPage.Next"><span class="glyphicon glyphicon-forward"><\/span><\/button>&nbsp;<button type="button" ng-class="gf.CanPage.Last ? \'btn-primary\' : \'btn-default\'" class="btn btn-xs" ng-click="gf.PageLast()" ng-disabled="!gf.CanPage.Last"><span class="glyphicon glyphicon-fast-forward"><\/span><\/button><\/div><\/div>',t=function(){var t=["$scope","$element",function(n,t){var i=this,r=t.controller("grid");i.CanPage={First:!1,Previous:!1,Next:!1,Last:!1};i.CurrentPage=0;i.PageCount=0;i.FirstRecord=0;i.LastRecord=0;i.RecordCount=0;i.IsVisible=!1;n.$on("Grid.GetData",function(n,t){i.CanPage.First=i.CanPage.Previous=t.PageIndex>0;i.CanPage.Next=i.CanPage.Last=t.CurrentPage<t.PageCount;i.CurrentPage=t.CurrentPage;i.PageCount=t.PageCount;i.FirstRecord=t.PageIndex*t.PageSize+1;i.LastRecord=t.DataPageCount+(i.CurrentPage>1?i.FirstRecord-1:0);i.RecordCount=t.RecordCount;i.IsVisible=t.RecordCount>0});i.PageFirst=function(){i.CanPage.First&&r.GetPage(0)};i.PagePrevious=function(){i.CanPage.Previous&&r.GetPage(r.DataSource.PageIndex-1)};i.PageNext=function(){i.CanPage.Next&&r.GetPage(r.DataSource.PageIndex+1)};i.PageLast=function(){i.CanPage.Last&&r.GetPage(r.DataSource.PageCount-1)}}];return{restrict:"EA",require:"^grid",replace:!0,scope:{},template:n,controller:t,controllerAs:"gf",bindToController:!0}};angular.module("app.directives.grid").directive("gridFooter",t)}(),function(){"use strict";var n=function(){var n=["$scope","$element",function(n,t){function e(){var n=r.DataSource.Sort;n.Column==i.SortColumn&&(i.SortIndicatorCss=(n.Direction||"A")=="A"?u:f)}var i=this,r=t.controller("grid"),u="glyphicon glyphicon-chevron-up small",f="glyphicon glyphicon-chevron-down small";i.SortIndicatorCss="";i.Sort=function(){var n=r.DataSource.Sort,t=i.SortColumn;n.Column===t?n.Direction=n.Direction==="A"?"D":"A":(n.Column=t,n.Direction="A");i.SortIndicatorCss=n.Direction=="A"?u:f;r.GetPage(0)};n.$on("Grid.GetData",function(n,t){t.Sort.Column!==i.SortColumn&&(i.SortIndicatorCss="")});e()}];return{require:"^grid",scope:{Text:"=gridHeader",SortColumn:"=sortColumn",SortDirection:"=sortDirection"},template:'<a ng-click="gh.Sort()">{{::gh.Text}}<\/a> <span ng-class="gh.SortIndicatorCss"><\/span>',controller:n,controllerAs:"gh",bindToController:!0}};angular.module("app.directives.grid").directive("gridHeader",n)}(),function(){"use strict";var n=function(n,t,i){var r=["$scope",function(n){var i=this,r=function(){var n=i.DataSource;angular.isDefined(n.DataSourceBase)||(n.DataSourceBase={Sort:angular.copy(n.Sort),Filter:angular.copy(n.Filter)});angular.extend(n,{Data:n.Data||[],CanInsert:n.CanInsert||!1,CanEdit:n.CanEdit||!1,CanDelete:n.CanDelete||!1,DataPageCount:0,RecordCount:0,CurrentPage:0,PageCount:0,PageIndex:n.PageIndex||0,PageSize:n.PageSize||20,Sort:n.Sort||{},Filter:n.Filter||{},Search:function(){i.GetPage(0)},Reset:function(){n.Sort=angular.copy(n.DataSourceBase.Sort);n.Filter=angular.copy(n.DataSourceBase.Filter);n.Search()}});(n.GetOnLoad||!1)&&i.GetData()};i.IsLoaded=!1;i.GetPage=function(n){i.IsLoaded=!1;i.DataSource.PageIndex=n;i.GetData()};i.GetData=function(){var r=i.DataSource,u;r.GetDataFn&&(u=t.Flatten({PageIndex:r.PageIndex,PageSize:r.PageSize,Sort:{Column:r.Sort.Column,Direction:r.Sort.Direction},Filter:r.Filter}),r.GetDataFn(u).then(function(t){t.Data?(r.Data=t.Data,r.DataPageCount=r.Data.length,r.RecordCount=t.RecordCount,r.PageCount=t.PageCount,r.CurrentPage=r.PageIndex+1):(r.Data.length=0,r.DataPageCount=0,r.RecordCount=0,r.CurrentPage=0,r.PageCount=0,r.PageIndex=0);i.IsLoaded||(i.IsLoaded=!0);n.$broadcast("Grid.GetData",r)}))};r()}],u=function(){return{pre:f,post:e}},f=function(t,i,r){angular.isDefined(r.gridParent)&&(t[r.gridParent]=n(r.gridParent)(i.scope()))},e=function(n,t,r,u){var f=u,l=function(){o()},s;f.Edit=function(n,i){f.EditIndex!=null&&o();f.EditMode="E";f.EditIndex=i;s=n;f.CurrentItem=angular.copy(n);var r=h(i);r.toggleClass("hidden");r.after(t.children().eq(2).children().eq(0))};f.Cancel=function(){var n=c();n&&i.ClearFormValidationErrors(n);o()};f.Delete=function(n){var t=f.GridValidateFn({item:n,operation:"D"});!angular.isDefined(t)||typeof t=="boolean"&&t?e(n,"D"):angular.isFunction(t.then)&&t.then(function(){e(n,"D")})};f.Save=function(){if(a()){f.CurrentItem.IsDirty=!0;var n=f.GridValidateFn({item:f.CurrentItem,operation:f.EditMode});!angular.isDefined(n)||typeof n=="boolean"&&n?e(f.CurrentItem,f.EditMode):angular.isFunction(n.then)&&n.then(function(){e(f.CurrentItem,f.EditMode)})}};var e=function(n,t){var i=f.DataSource.Data,r,u;switch(t){case"A":r=angular.copy(n);i.push(r);f.GridUpdateFn({item:r,operation:t});break;case"E":r=angular.extend(i[f.EditIndex],n);f.GridUpdateFn({item:r,operation:t});break;case"D":for(u=0;u<i.length;u++)if(i[u].$$hashKey===n.$$hashKey){i.splice(u,1);break}f.GridUpdateFn({item:n,operation:t})}o()},o=function(){if(f.EditMode&&f.EditMode=="E"&&f.EditIndex!=null){f.CurrentItem=s;var n=h(f.EditIndex);n.toggleClass("hidden");t.children().eq(2).append(n.next())}f.EditMode="A";f.EditIndex=null;f.CurrentItem=f.GridCreateFn()},h=function(n){return t.children().eq(1).children().eq(n)},c=function(){for(var n=t.parent();n!=null&&n.attr("role")!="form";)n=n.parent();return n==null?null:n.scope()[n.attr("name")]},a=function(){var n=c();return n&&!i.Validate(n)?!1:!0};l()};return{restrict:"A",scope:{DataSource:"=grid",GridSaveLabel:"=?gridSaveLabel",GridValidateFn:"&gridValidateFn",GridUpdateFn:"&gridUpdateFn",GridCreateFn:"&gridCreateFn",Parent:"=gridParent"},template:function(n,t){var i=angular.element("<td style='vertical-align:middle;' ng-if='grid.DataSource.CanInsert || grid.DataSource.CanEdit'>").addClass("text-center").html("<a ng-click=\"grid.Save()\" ng-bind=\"grid.EditMode=='A' ? 'Add': '"+(t.gridSaveLabel||"Apply")+'\'"><\/a> | <a ng-click="grid.Cancel()">Cancel<\/a>');return n.children().eq(2).children().eq(0).append(i),n.html()},compile:u,controller:r,controllerAs:"grid",bindToController:!0}};angular.module("app.directives.grid").directive("grid",["$parse","$ajax","$validator",n])}(),function(){"use strict";var n=function(n){return{restrict:"A",scope:{Focus:"=focus"},link:function(t,i){var r=function(){n(function(){i[0].focus()},100)};angular.isDefined(t.Focus)?(t.Focus!==!1&&r(),t.$watch("Focus",function(n){n===!0&&r()})):r()}}};angular.module("app.directives").directive("focus",["$timeout",n])}(),function(){"use strict";var n=function(n,t){return{restrict:"A",link:function(i,r,u){r.bind("click",function(i){t(function(){var t=document.getElementById(u.scrollTo);n(t);i.preventDefault()})});r.on("$destroy",function(){r.off("click")})}}};angular.module("app.directives").directive("scrollTo",["$uiViewScroll","$timeout",n])}(),function(){"use strict";var n=function(n,t){return{restrict:"A",link:function(i,r,u){var f=i.$on("ValidationError",function(i,f){f===u.scrollToValidation&&t(function(){n(r[0])})});i.$on("$destroy",f)}}};angular.module("app.directives").directive("scrollToValidation",["$uiViewScroll","$timeout",n])}(),function(){"use strict";var n=function(){return{restrict:"EAC",link:function(n,t,i){var r=t.parent().controller();t.on("click",function(t){t.preventDefault();t.stopPropagation();var u=i.datepickerToggle;n.$apply(function(){r[u]=!(r[u]||!1)})});t.on("$destroy",function(){t.off("click")})}}};angular.module("app.directives").directive("datepickerToggle",n)}(),function(){"use strict";var n=[function(){return{restrict:"EAC",require:"ngModel",link:function(n,t,i,r){r.$formatters.shift()}}}];angular.module("app.directives").directive("datepickerPopup",n)}(),function(){"use strict";var n=function(){return{restrict:"A",require:"?ngModel",link:function(n,t,i,r){if(r){var u=i.decimals==="true",f=u?/[^0-9\.]/g:/[^0-9]/g;r.$parsers.push(function(n){angular.isUndefined(n)&&(n="");var t=n.replace(f,""),i=t.split(".");return angular.isUndefined(i[1])||(i[1]=i[1].slice(0,2),t=i[0]+"."+i[1]),n!==t&&(r.$setViewValue(t),r.$render()),t});t.bind("keypress",function(n){n.keyCode===32&&n.preventDefault()});t.on("$destroy",function(){t.off("keypress")})}}}};angular.module("app.directives").directive("numericInput",n)}(),function(){"use strict";var n=function(n){return{restrict:"A",link:function(t,i,r){i.bind("change",function(){n(r.fileInput).assign(t,i[0].files);t.$apply()});i.on("$destroy",function(){i.off("change")})}}};angular.module("app.directives").directive("fileInput",["$parse",n])}(),function(){"use strict";var n=function(n){return{restrict:"A",link:function(t,i){n(function(){i.val(" ");n(function(){i.val("")},50)})}}};angular.module("app.directives").directive("autofillClear",["$timeout",n])}(),function(){"use strict";var n=function(n,t){var i="account",r=function(n,t,r){n.IsAuthenticated=!0;n.Role=t;n.Token=r;try{sessionStorage.setItem(i,angular.toJson({Role:t,Token:r}))}catch(u){}},u=function(n){n.IsAuthenticated=!1;n.Role=null;n.Token=null;try{sessionStorage.removeItem(i)}catch(t){}};return{Identity:{IsAuthenticated:!1,Role:null,Token:null,IsAuthorized:function(n){return angular.isArray(n)||(n=[n]),this.IsAuthenticated&&n.indexOf(this.Role)!==-1}},Token:function(i){var f=this,u=n.defer(),e="grant_type=password&username="+encodeURIComponent(i.UserName)+"&password="+encodeURIComponent(i.Password)+"&timezoneoffset="+-(new Date).getTimezoneOffset();return t.Token(e,{"Content-Type":"application/x-www-form-urlencoded"}).then(function(n){r(f.Identity,n.role,n.access_token);u.resolve(n)}).catch(function(n){f.Logout();u.reject(n)}),u.promise},Register:function(i){var u=this,r=n.defer();return u.Logout(),t.Register(i).then(function(n){u.Token(i).then(function(){r.resolve(n)})}).catch(function(n){r.reject(n)}),r.promise},Logout:function(){u(this.Identity)},InitializeIdentity:function(){var t=sessionStorage.getItem(i),n;if(t)try{n=angular.fromJson(t);n&&r(this.Identity,n.Role,n.Token)}catch(u){}}}};angular.module("app.services").factory("$authorization",["$q","accountRepository","settings",n])}(),function(){"use strict";var n=function(n,t){return{request:function(n){var i=t.get("$authorization");return i.Identity.IsAuthenticated&&(n.headers=n.headers||{},n.headers.Authorization="Bearer "+i.Identity.Token),n},responseError:function(i){var r=t.get("blockUI");return r&&r.instances.reset(),i.status===401||i.status===403?(t.get("$authorization").Logout(),t.get("$state").go("login")):i.status===404&&t.get("$state").go("404"),n.reject(i)}}};angular.module("app.services").factory("$interceptor",["$q","$injector",n])}(),function(){"use strict";var n=function(n,t,i,r){var u=function(t,i){angular.isArray(t)?angular.forEach(t,function(t,i){t.Key?(r.AddValidationError(t.ErrorMessage,i+1,t.Key),n.$broadcast("ValidationError",t.Key)):n.$emit("Error",{Message:t.Message})}):angular.isObject(t)&&t.error&&t.error=="invalid_grant"?(r.AddValidationError(t.error_description,999,"Login"),n.$broadcast("ValidationError","Login")):t!=null&&i!==401&&n.$emit("Error",{Message:t.ExceptionMessage||t.Message||t})},f=function(n,t){return encodeURIComponent(n).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,t?"%20":"+")};return{Get:function(n,r,f){var e=i.defer(),o={params:r};return f&&(o.transformResponse=f),t.get(n,o).success(e.resolve).error(function(n,t){e.reject(n);u(n,t)}),e.promise},Post:function(n,f,e){r.ClearValidationErrors();var o=i.defer();return t.post(n,f,e).success(o.resolve).error(function(n,t){o.reject(n);u(n,t)}),o.promise},Upload:function(n,f){var o,e;return r.ClearValidationErrors(),o=new FormData,angular.forEach(f,function(n){o.append("file",n)}),e=i.defer(),t.post(n,o,{transformRequest:angular.identity,headers:{"Content-Type":undefined}}).success(e.resolve).error(function(n,t){e.reject(n);u(n,t)}),e.promise},Delete:function(n,f){r.ClearValidationErrors();var e=i.defer();return t.delete(n,{params:f}).success(e.resolve).error(function(n,t){e.reject(n);u(n,t)}),e.promise},Flatten:function(n){if(!angular.isObject(n))return n;var t={};return angular.forEach(n,function(i,r){if(angular.isObject(n[r])){var u=r;angular.forEach(n[r],function(n,i){t[u+"."+i]=n})}else t[r]=i}),t},BuildUrl:function(n,t){if(!t)return n;var i=[];return angular.forEach(t,function(n,t){n===null||angular.isUndefined(n)||(angular.isArray(n)||(n=[n]),angular.forEach(n,function(n){angular.isObject(n)&&(n=angular.toJson(n));i.push(f(t)+"="+f(n))}))}),i.length>0&&(n+=(n.indexOf("?")==-1?"?":"&")+i.join("&")),n}}};angular.module("app.services").factory("$ajax",["$rootScope","$http","$q","$validator",n])}(),function(){"use strict";var n=function(n){var t=this;return{ValidationErrors:[],HasValidationError:{},EmitValidationError:function(n,t){var i=angular.element(document.getElementsByName(n.$name)).scope();i&&i.$emit("ValidationError",t)},Validate:function(t,i){var u;if(angular.isElement(t))throw"Not an Angular element";var f=this,r=angular.element(document.getElementsByName(t.$name)),e="invalid";return(f.ClearValidationErrors(),t.$valid)?(r.removeClass(e),!0):(i=i||r.attr("data-validation-key"),r.addClass(e),angular.forEach(t.$error,function(t,r){if(r!="parse"){var e=n("unique")(t,"$name"),u;angular.forEach(e,function(n){u=angular.element(document.getElementsByName(n.$name));f.AddValidationError(u.attr("data-"+r+"-message"),u.attr("data-order"),i)})}}),u=r.scope(),u&&u.$emit("ValidationError",i),!1)},AddValidationError:function(n,t,i){this.ValidationErrors.push({Message:n,Order:Number(t||999),Key:i||""});i&&!this.HasValidationError[i]&&(this.HasValidationError[i]=!0)},ClearFormValidationErrors:function(n,t){if(angular.isElement(n))throw"Not an Angular element";var i=angular.element(document.getElementsByName(n.$name));t||(t=i.attr("data-validation-key"));i.removeClass("invalid");this.ClearValidationErrors(t)},ClearValidationErrors:function(t){t?(this.ValidationErrors=n("filter")(this.ValidationErrors,{Key:"!"+t},!0),delete this.HasValidationError[t]):(this.ValidationErrors.length=0,this.HasValidationError={})}}};angular.module("app.services").factory("$validator",["$filter",n])}(),function(){"use strict";var n=function(){return{GetMonthList:function(){return[{Value:1,Month:"01"},{Value:2,Month:"02"},{Value:3,Month:"03"},{Value:4,Month:"04"},{Value:5,Month:"05"},{Value:6,Month:"06"},{Value:7,Month:"07"},{Value:8,Month:"08"},{Value:9,Month:"09"},{Value:10,Month:"10"},{Value:11,Month:"11"},{Value:12,Month:"12"}]},GetYearList:function(){for(var t=[],i=(new Date).getFullYear(),n=0;n<10;n++)t.push(i+n);return t},GetBankAccountTypeList:function(){return[{Value:"Checking",DisplayText:"Consumer Checking Account"},{Value:"BusinessChecking",DisplayText:"Business Checking Account"},{Value:"Savings",DisplayText:"Consumer Savings Account"}]},GetPaymentMethod:function(){return[{Value:"Check",DisplayText:"Check"},{Value:"eCheck",DisplayText:"eCheck"},{Value:"CreditCard",DisplayText:"Credit Card"}]}}};angular.module("app.services").factory("lookupService",n)}(),function(){"use strict";var n=function(n,t,i,r,u,f){var e=this,o=null;e.Error={Message:"",HasError:!1,Clear:function(){this.Message="";this.HasError=!1}};e.Identity=r.Identity;e.View={Title:"",Header:!0,StateChange:!1,NavCollapsed:!0};e.Logout=function(){r.Logout();t.go("home")};var s=function(){n.$on("Error",function(n,t){h(t)});n.$on("$stateChangeStart",function(n,u){var s,h;c();e.View.StateChange=!0;s=u.data.Authorization;!angular.isDefined(s)||r.Identity.IsAuthenticated&&r.Identity.IsAuthorized(s.Roles)?(h=!0,angular.isDefined(u.data)&&(u.data.Title&&(e.View.Title=u.data.Title),h=u.data.Header||!0),e.View.Header=h):(n.preventDefault(),t.current.name===s.RedirectState?t.reload():t.go(s.RedirectState,{returnTo:u.name}));angular.isDefined(s)&&r.Identity.IsAuthenticated&&(o||(o=i(function(){e.Identity.IsAuthenticated?f.Ping().then(function(){},function(){i.cancel(o);o=null}):(i.cancel(o),o=null)},6e4)))});n.$on("$stateChangeSuccess",function(){e.View.StateChange=!1});n.$on("$stateChangeError",function(){e.View.StateChange=!1})},h=function(n){e.Error.Message=n.Message||"";e.Error.HasError=n.Message.length},c=function(){e.Error.Clear();u.ClearValidationErrors()};s()};angular.module("app").controller("siteController",["$rootScope","$state","$interval","$authorization","$validator","accountRepository",n])}(),function(){"use strict";var n=function(n,t,i,r,u,f){var e=this;e.Validator=u;e.Model={};e.Login=function(){u.Validate(e.form,"Login")&&f.Token(e.Model).then(function(){var n=f.Identity.Role==="A"?"admin.reports":"profile";i.returnTo&&(n=i.returnTo);t.go(n)})};e.Register=function(){u.Validate(e.form,"Registration")&&f.Register(e.Model).then(function(){var n="profile";i.returnTo&&(n=i.returnTo);t.go(n)})}};angular.module("app").controller("accountController",["settings","$state","$stateParams","$location","$validator","$authorization",n])}(),function(){"use strict";var n=function(n,t,i,r,u){var f=this;f.Validator=i;f.Applications=u.Applications||[];f.Policies=u.Policies||[];f.Account={};f.Password={Link:!0,Change:!1,Update:!1};f.ChangePassword=function(){f.Password.Link=!1;f.Password.Change=!0};f.UpdatePassword=function(){i.Validate(f.form,"Account")&&r.PasswordChange(f.Account).then(function(){f.Password.Change=!1;f.Password.Update=!0;f.Account={};n(function(){f.Password.Link=!0;f.Password.Update=!1},3e3)})}};angular.module("app").controller("profileController",["$timeout","$filter","$validator","accountRepository","model",n])}(),function(){"use strict";var n=function(n,t,i,r){var u=this;u.Validator=i;u.Account={};u.IsSent=!1;u.GetPassword=function(){i.Validate(u.form,"Account")&&r.PasswordLookup(u.Account).then(function(){u.IsSent=!0})}};angular.module("app").controller("passwordController",["$state","$stateParams","$validator","accountRepository",n])}(),function(){"use strict";var n=function(n){this.Ping=function(){return n.Get("/api/Account/Ping")};this.Token=function(t,i){return n.Post("/api/Account/Token",t,i)};this.GetProfile=function(){return n.Get("/api/Account/Profile")};this.Register=function(t){return n.Post("/api/Account/Register",t)};this.PasswordLookup=function(t){return n.Post("/api/Account/Password/Lookup",t)};this.PasswordChange=function(t){return n.Post("/api/Account/Password",t)}};angular.module("app").service("accountRepository",["$ajax",n])}(),function(){"use strict";var n=function(n,t,i,r,u,f,e,o){var s=this;s.Step=1;s.Validator=i;s.Policy=e.Policy;s.EquipmentLosses={Data:e.EquipmentLosses||[],CanInsert:!0,CanEdit:!0,CanDelete:!0};s.EquipmentSchedule={Data:e.EquipmentSchedule||[],CanInsert:!0,CanEdit:!0,CanDelete:!0};s.Payment={IsNew:!0,SignatureDate:new Date};s.Lookup=o;s.OnEquipmentLossCreate=function(){return{EquipmentLossId:0,LossDate:null,LossType:null,LossValue:null,LossDescription:null,IsNew:!0}};s.OnEquipmentScheduleCreate=function(){return{EquipmentItemId:0,ItemDescription:null,ItemMake:null,ItemModel:null,ItemSerialNo:null,ItemValue:null,Premium:0,IsNew:!0}};s.GetQuote=function(n){h(n)&&f.CheckAuthorization().then(function(){l().then(function(){s.Policy.ReviewRequired&&!s.Policy.ReviewApproved?t.go("application.underwriter"):u.Quote({policyId:s.Policy.PolicyId}).then(function(){t.go("application.quote")})})})};s.Continue=function(n){h(n)&&f.CheckAuthorization().then(function(){l().then(function(){s.Policy.ReviewRequired&&!s.Policy.ReviewApproved?t.go("application.underwriter"):c(2)})})};s.Edit=function(){i.ClearValidationErrors();c(1)};s.Post=function(n){h(n)&&f.CheckAuthorization().then(function(){r.start("Processing Payment...");u.Payment({Policy:s.Policy,Payment:s.Payment}).then(function(){c(3);r.stop()})})};var h=function(n){if(n.$name!=="PaymentForm"){if(i.HasValidationError.PolicyEquipmentLosses)return i.EmitValidationError(n,"PolicyEquipmentLosses"),!1;if(i.HasValidationError.PolicyEquipmentSchedule)return i.EmitValidationError(n,"PolicyEquipmentSchedule"),!1;if(!i.Validate(n,"Policy"))return!1;if(!a()||!v())return i.EmitValidationError(n,"Policy"),!1}else if(!i.Validate(n,"Payment"))return!1;return!0},l=function(){var t=n.defer();return u.Post({Policy:s.Policy,EquipmentLosses:s.EquipmentLosses.Data,EquipmentSchedule:s.EquipmentSchedule.Data}).then(function(n){s.Policy.IsNew&&(s.Policy.IsNew=!1,s.Policy.PolicyId=n.PolicyId,s.Policy.KeyHash=n.KeyHash);s.Policy.ReviewRequired=n.ReviewRequired;s.Policy.Premium=n.Premium;t.resolve()}).catch(function(n){t.reject(n)}),t.promise},c=function(n){s.Step=n},a=function(){return!s.Policy.HasEquipmentLosses||s.EquipmentLosses.Data.length?!0:(i.AddValidationError("Equipment Losses are required",998,"Policy"),!1)},v=function(){return y()>0?!0:(i.AddValidationError("Equipment Schedule requires at least 1 item to be insured with a value of at least $1.00",999,"Policy"),!1)},y=function(){var n=0;return angular.forEach(s.EquipmentSchedule.Data,function(t){var i=Number(t.ItemValue);isNaN(i)||(n+=i)}),n}};angular.module("app").controller("equipmentApplicationController",["$q","$state","$validator","blockUI","equipmentApplicationRepository","authorizeModalService","model","lookup",n])}(),function(){"use strict";var n=function(n,t,i,r,u,f,e,o){var s=this;s.Step=1;s.Validator=i;s.Policy=e.Policy;s.Payment={IsNew:!0,SignatureDate:new Date};s.Lookup=o;s.GetQuote=function(n){h(n)&&f.CheckAuthorization().then(function(){l().then(function(){s.Policy.ReviewRequired&&!s.Policy.ReviewApproved?t.go("application.underwriter"):u.Quote({policyId:s.Policy.PolicyId}).then(function(){t.go("application.quote")})})})};s.Continue=function(n){h(n)&&f.CheckAuthorization().then(function(){l().then(function(){s.Policy.ReviewRequired&&!s.Policy.ReviewApproved?t.go("application.underwriter"):c(2)})})};s.Edit=function(){i.ClearValidationErrors();c(1)};s.Post=function(n){h(n)&&f.CheckAuthorization().then(function(){r.start("Processing Payment...");u.Payment({Policy:s.Policy,Payment:s.Payment}).then(function(){c(3);r.stop()})})};var h=function(n){if(n.$name!=="PaymentForm"){if(!i.Validate(n,"Policy"))return!1}else if(!i.Validate(n,"Payment"))return!1;return!0},l=function(){var t=n.defer();return u.Post({Policy:s.Policy}).then(function(n){s.Policy.IsNew&&(s.Policy.IsNew=!1,s.Policy.PolicyId=n.PolicyId,s.Policy.KeyHash=n.KeyHash);s.Policy.ReviewRequired=n.ReviewRequired;s.Policy.Premium=n.Premium;t.resolve()}).catch(function(n){t.reject(n)}),t.promise},c=function(n){s.Step=n}};angular.module("app").controller("clubApplicationController",["$q","$state","$validator","blockUI","clubApplicationRepository","authorizeModalService","model","lookup",n])}(),function(){"use strict";var n=function(n){this.Get=function(t){return n.Get("/api/Application/Equipment",t)};this.Post=function(t){return n.Post("/api/Application/Equipment",t)};this.Payment=function(t){return n.Post("/api/Application/Equipment/Payment",t)};this.Quote=function(t){return n.Get("/api/Application/Equipment/Quote",t)};this.Renew=function(t){return n.Get("/api/Application/Equipment/Renew",t)}};angular.module("app").service("equipmentApplicationRepository",["$ajax",n])}(),function(){"use strict";var n=function(n){this.Get=function(t){return n.Get("/api/Application/Club",t)};this.Post=function(t){return n.Post("/api/Application/Club",t)};this.Payment=function(t){return n.Post("/api/Application/Club/Payment",t)};this.Quote=function(t){return n.Get("/api/Application/Club/Quote",t)};this.Renew=function(t){return n.Get("/api/Application/Club/Renew",t)}};angular.module("app").service("clubApplicationRepository",["$ajax",n])}(),function(){"use strict";var n=function(n,t,i){return{CheckAuthorization:function(){var r=n.defer(),u;return i.Identity.IsAuthenticated?r.resolve():(u=t.open({animation:!0,templateUrl:"authorize.html",controller:["$modalInstance","$validator","$authorization",function(n,t,i){var r=this;r.Open=!0;r.Model={Login:{},Register:{}};r.Validator=t;r.Login=function(u){t.Validate(u)&&i.Token(r.Model.Login).then(function(){n.close()})};r.Register=function(u){t.Validate(u)&&i.Register(r.Model.Register).then(function(){n.close()})};r.Cancel=function(){n.dismiss("cancel")}}],controllerAs:"modal",size:"lg"}),u.result.then(function(){r.resolve()},function(){r.reject()})),r.promise}}};angular.module("app.services").factory("authorizeModalService",["$q","$modal","$authorization",n])}(),function(){"use strict";var n=function(n,t,i,r,u,f){var e=this;e.Step=1;e.Validator=t;e.Policy=u.Policy;e.EquipmentLosses={Data:u.EquipmentLosses||[],CanInsert:!1,CanEdit:!1,CanDelete:!1};e.EquipmentSchedule={Data:u.EquipmentSchedule||[],CanInsert:!e.Policy.IsExpired&&!e.Policy.IsInactive,CanEdit:!1,CanDelete:!e.Policy.IsExpired&&!e.Policy.IsInactive};e.Payment={IsNew:!0};e.Lookup=f;e.OnEquipmentScheduleCreate=function(){return{EquipmentItemId:0,ItemDescription:null,ItemMake:null,ItemModel:null,ItemSerialNo:null,ItemValue:null,Premium:0,IsNew:!0}};e.HasPolicyChanges=!1;e.OnEquipmentScheduleAction=function(n,t){t==="D"&&(n.IsDeleted=!0,n.IsNew||e.EquipmentSchedule.Data.push(n));e.HasPolicyChanges=!0};e.Continue=function(n){s(n)&&r.PostSchedule({Policy:e.Policy,EquipmentSchedule:e.EquipmentSchedule.Data}).then(function(n){e.Policy.Premium=n.Premium;e.Policy.AddedPremium=n.AddedPremium||0;e.Policy.DeletedPremium=n.DeletedPremium||0;o(2)})};e.Edit=function(){t.ClearValidationErrors();o(1)};e.Post=function(n){s(n)&&(e.Policy.AddedPremium?(i.start("Processing Payment..."),r.Payment({Policy:e.Policy,EquipmentSchedule:e.EquipmentSchedule.Data,Payment:e.Payment}).then(function(){o(3);i.stop()})):r.Post({Policy:e.Policy,EquipmentSchedule:e.EquipmentSchedule.Data}).then(function(){o(3)}))};var s=function(n){if(n.$name!=="PaymentForm"){if(t.HasValidationError.PolicyEquipmentSchedule)return t.EmitValidationError(n,"PolicyEquipmentSchedule"),!1;if(t.ClearValidationErrors("Policy"),!h())return t.EmitValidationError(n,"Policy"),!1}else if(!t.Validate(n,"Payment"))return!1;return!0},o=function(n){e.Step=n},h=function(){return c()>0?!0:(t.AddValidationError("Equipment Schedule requires at least 1 item to be insured with a value of at least $1.00",999,"Policy"),!1)},c=function(){var t=0;return angular.forEach(n("filter")(e.EquipmentSchedule.Data,{IsDeleted:"!true"}),function(n){var i=Number(n.ItemValue);isNaN(i)||(t+=i)}),t}};angular.module("app").controller("equipmentPolicyController",["$filter","$validator","blockUI","equipmentPolicyRepository","model","lookup",n])}(),function(){"use strict";var n=function(n){var t=this;t.Policy=n.Policy};angular.module("app").controller("clubPolicyController",["model",n])}(),function(){"use strict";var n=function(n){this.Get=function(t){return n.Get("/api/Policy/Equipment",t)};this.PostSchedule=function(t){return n.Post("api/Policy/Equipment/Schedule",t)};this.Post=function(t){return n.Post("/api/Policy/Equipment",t)};this.Payment=function(t){return n.Post("/api/Policy/Equipment/Payment",t)}};angular.module("app").service("equipmentPolicyRepository",["$ajax",n])}(),function(){"use strict";var n=function(n){this.Get=function(t){return n.Get("/api/Policy/Club",t)}};angular.module("app").service("clubPolicyRepository",["$ajax",n])}(),function(){"use strict";var n=function(n){var t=this;t.Policies={Data:[],GetDataFn:n.GetPolicies,GetOnLoad:!0,Filter:{Search:"",IsActive:!0,IsPending:!0,IsPendingReview:!0,IsExpired:!1,IsInactive:!1},Sort:{Column:"EffectiveDate",Direction:"D"}}};angular.module("app").controller("adminPoliciesController",["adminRepository",n])}(),function(){"use strict";var n=function(n,t,i,r,u,f,e){var o=this,s=f.Policy.IsPending||f.Policy.IsActive;o.Validator=i;o.Policy=f.Policy;o.EquipmentLosses={Data:f.EquipmentLosses||[],CanInsert:s,CanEdit:s,CanDelete:s};o.EquipmentSchedule={Data:f.EquipmentSchedule||[],CanInsert:s,CanEdit:!1,CanDelete:s};o.Payments={Data:f.Payments||[],CanInsert:s,CanEdit:!1,CanDelete:!1};o.Actions={ReviewApproved:!1,Activate:!1,Inactivate:!1,TransferUser:!1};o.State={CanPost:!0};o.Lookup=e;o.PolicyReviewRequired=function(){return o.Policy.IsPending&&o.Policy.ReviewRequired&&!o.Policy.ReviewApproved};o.OnEquipmentLossCreate=function(){return{EquipmentLossId:0,LossDate:null,LossType:null,LossValue:null,LossDescription:null,IsNew:!0}};o.OnEquipmentScheduleCreate=function(){return{EquipmentItemId:0,ItemDescription:null,ItemMake:null,ItemModel:null,ItemSerialNo:null,ItemValue:null,Premium:0,IsNew:!0}};o.OnEquipmentScheduleAction=function(n,t){t==="D"&&(n.IsDeleted=!0,o.EquipmentSchedule.Data.push(n))};o.OnPaymentCreate=function(){return{PaymentId:0,PaymentMethod:"Check",Approved:!0,PaymentDate:new Date,IsNew:!0}};o.OnPaymentAction=function(n,t){t==="A"?(n.PaymentMethodText=n.PaymentMethod==="CreditCard"?"Credit Card":n.PaymentMethod,o.Payments.CanInsert=!1,o.PolicyReviewRequired()&&(o.State.CanPost=!1)):t!=="E"||n.Approved||(n.Approved=!0,n.IsDirty=!0)};o.Activate=function(n){o.Actions.Activate=!0;o.Post(n)};o.Inactivate=function(n){o.Actions.Inactivate=!0;o.Post(n)};o.Approve=function(n){o.Actions.ReviewApproved=!0;o.Post(n)};o.TransferUser=function(n){u.LookupUser().then(function(t){t&&t.UserId&&(o.Actions.TransferUser=!0,o.Policy.UserId=t.UserId,o.Post(n))})};o.Post=function(t){if(!h(t))return!1;r.PostEquipment({Policy:o.Policy,EquipmentLosses:o.EquipmentLosses.Data,EquipmentSchedule:o.EquipmentSchedule.Data,Payments:o.Payments.Data,Actions:o.Actions}).then(function(){n.go("admin.policies.list")})};var h=function(n){return i.HasValidationError.PolicyEquipmentLosses?(i.EmitValidationError(n,"PolicyEquipmentLosses"),!1):i.HasValidationError.PolicyEquipmentSchedule?(i.EmitValidationError(n,"PolicyEquipmentSchedule"),!1):i.Validate(n,"Policy")?c()?!0:(i.EmitValidationError(n,"Policy"),!1):!1},c=function(){return l()>0?!0:(i.AddValidationError("Equipment Schedule requires at least 1 item to be insured with a value of at least $1.00",999,"Policy"),!1)},l=function(){var n=0;return angular.forEach(t("filter")(o.EquipmentSchedule.Data,{IsDeleted:"!true"}),function(t){var i=Number(t.ItemValue);isNaN(i)||(n+=i)}),n}};angular.module("app").controller("adminEquipmentPolicyController",["$state","$filter","$validator","adminRepository","userModalService","model","lookup",n])}(),function(){"use strict";var n=function(n,t,i,r,u,f){var e=this,o=u.Policy.IsPending||u.Policy.IsActive;e.Validator=t;e.Policy=u.Policy;e.Payments={Data:u.Payments||[],CanInsert:o,CanEdit:!1,CanDelete:!1};e.Actions={ReviewApproved:!1,Activate:!1,Inactivate:!1,TransferUser:!1};e.Lookup=f;e.State={CanPost:!0};e.PolicyReviewRequired=function(){return e.Policy.IsPending&&e.Policy.ReviewRequired&&!e.Policy.ReviewApproved};e.OnPaymentCreate=function(){return{PaymentId:0,PaymentMethod:"Check",Approved:!0,PaymentDate:new Date,IsNew:!0}};e.OnPaymentAction=function(n,t){t==="A"?(n.PaymentMethodText=n.PaymentMethod==="CreditCard"?"Credit Card":n.PaymentMethod,e.Payments.CanInsert=!1,e.PolicyReviewRequired()&&(e.State.CanPost=!1)):t!=="E"||n.Approved||(n.Approved=!0,n.IsDirty=!0)};e.Activate=function(n){e.Actions.Activate=!0;e.Post(n)};e.Inactivate=function(n){e.Actions.Inactivate=!0;e.Post(n)};e.Approve=function(n){e.Actions.ReviewApproved=!0;e.Post(n)};e.TransferUser=function(n){r.LookupUser().then(function(t){t&&t.UserId&&(e.Actions.TransferUser=!0,e.Policy.UserId=t.UserId,e.Post(n))})};e.Post=function(r){if(!t.Validate(r,"Policy"))return!1;i.PostClub({Policy:e.Policy,Payments:e.Payments.Data,Actions:e.Actions}).then(function(){n.go("admin.policies.list")})}};angular.module("app").controller("adminClubPolicyController",["$state","$validator","adminRepository","userModalService","model","lookup",n])}(),function(){"use strict";var n=function(n){var t=this,i;t.Reports=[{Name:"Entirety Report",DateLabel:"Policy Effective Date",Key:1},{Name:"Application Report",DateLabel:"Policy Effective Date",Key:2},{Name:"Purchase Report",DateLabel:"Policy Effective Date",Key:3},{Name:"Equipment Update Report",DateLabel:"Equipment Update Date",Key:4}];t.Lookup={Dates:[{Value:"CM",DisplayText:"Current Month"},{Value:"LM",DisplayText:"Last Month"},{Value:"CQ",DisplayText:"Current Quarter"},{Value:"LQ",DisplayText:"Last Quarter"},{Value:"CY",DisplayText:"Current Year"},{Value:"LY",DisplayText:"Last Year"},{Value:"R",DisplayText:"Date Range"}]};t.SelectedReport=t.Reports[0];t.Criteria={SelectedDate:{Value:"CM",DateFrom:"",DateTo:""}};t.OnReportSelection=function(n){t.SelectedReport=n};t.ResetCriteria=function(){t.Criteria.SelectedDate={Value:"CM",DateFrom:"",DateTo:""}};t.GetReportUri=function(r){if(t.SelectedReport){var u={Report:t.SelectedReport.Key,DateValue:t.Criteria.SelectedDate.Value,DateFrom:i(t.Criteria.SelectedDate.DateFrom),DateTo:i(t.Criteria.SelectedDate.DateTo),Token:r};return n.BuildUrl("/admin/report",u)}};i=function(n){return n?n.getMonth()+1+"-"+n.getDate()+"-"+n.getFullYear():""}};angular.module("app").controller("adminReportsController",["$ajax","adminRepository",n])}(),function(){"use strict";var n=function(n){var t=this;t.Users={Data:[],GetDataFn:n.GetUsers,GetOnLoad:!0,Filter:{Search:"",IsActive:!0,IsInactive:!1},Sort:{Column:"EmailAddress",Direction:"A"}}};angular.module("app").controller("adminUsersController",["adminRepository",n])}(),function(){"use strict";var n=function(n,t,i,r){var u=this;u.Validator=t;u.User=r.User;u.Applications=r.Applications||[];u.Policies=r.Policies||[];u.Post=function(){t.Validate(u.form,"User")&&i.PostUser(u.User).then(function(){n.go("admin.users.list")})}};angular.module("app").controller("adminUserController",["$state","$validator","adminRepository","model",n])}(),function(){"use strict";var n=function(n,t,i,r){var u=this;u.Validator=t;u.Model=r;u.Post=function(){i.PostSettings(u.Model).then(function(){n.go("admin.policies.list")})}};angular.module("app").controller("adminSettingsController",["$state","$validator","adminRepository","model",n])}(),function(){"use strict";var n=function(n){this.GetReport=function(t){return n.Get("/api/Admin/Report",t)};this.GetUsers=function(t){return n.Get("/api/Admin/Users",t)};this.GetUser=function(t){return n.Get("/api/Admin/User",t)};this.PostUser=function(t){return n.Post("/api/Admin/User",t)};this.GetPolicies=function(t){return n.Get("/api/Admin/Policies",t)};this.GetEquipment=function(t){return n.Get("/api/Admin/Equipment",t)};this.PostEquipment=function(t){return n.Post("/api/Admin/Equipment",t)};this.GetClub=function(t){return n.Get("/api/Admin/Club",t)};this.PostClub=function(t){return n.Post("/api/Admin/Club",t)};this.GetSettings=function(t){return n.Get("/api/Admin/Settings",t)};this.PostSettings=function(t){return n.Post("/api/Admin/Settings",t)};this.LookupUser=function(t){return n.Get("/api/Admin/Policy/User/Lookup",t)}};angular.module("app").service("adminRepository",["$ajax",n])}(),function(){"use strict";var n=function(n,t){return{LookupUser:function(){var i=n.defer(),r=t.open({animation:!0,templateUrl:"user.html",controller:["$modalInstance","$validator","adminRepository",function(n,t,i){var r=this;r.Open=!0;r.User={EmailAddress:null,UserId:null};r.Found=null;r.Validator=t;r.Lookup=function(n){if(!t.Validate(n,"User"))return!1;var u=this;i.LookupUser({userName:r.User.EmailAddress}).then(function(n){u.User.UserId=n.UserId;u.Found=u.User.UserId!==null})};r.Transfer=function(){n.close({UserId:r.User.UserId})};r.Reset=function(){r.User.EmailAddress=null;r.Found=null};r.Cancel=function(){n.dismiss("cancel")}}],controllerAs:"modal",size:"md"});return r.result.then(function(n){i.resolve(n)},function(){i.reject()}),i.promise}}};angular.module("app.services").factory("userModalService",["$q","$modal",n])}()