(function(){"use strict";var n=angular.module("app",["ngAnimate","ngRoute","ngSanitize","ngResource","common","common.bootstrap","ui.bootstrap","appControllers"]);n.run(["$route",function(){}])})(),function(){"use strict";function t(n,t,i){var r=t.appErrorPrefix,u=i.getLogFn("app","error");return function(t,i){if(n(t,i),!r||t.message.indexOf(r)!==0){var f={exception:t,cause:i},e=r+t.message;u(e,f,!0)}}}var n=angular.module("app");n.config(["$provide",function(n){n.decorator("$exceptionHandler",["$delegate","config","logger",t])}])}(),function(){"use strict";var n=angular.module("app");toastr.options.timeOut=4e3;toastr.options.positionClass="toast-bottom-right";var t={appErrorPrefix:"[HT Error] ",docTitle:"HotTowel: ",events:{controllerActivateSuccess:"controller.activateSuccess",spinnerToggle:"spinner.toggle"},remoteServiceName:"breeze/Breeze",version:"2.1.0"};n.value("config",t);n.config(["$logProvider",function(n){n.debugEnabled&&n.debugEnabled(!0)}]);n.config(["commonConfigProvider",function(n){n.config.controllerActivateSuccessEvent=t.events.controllerActivateSuccess;n.config.spinnerToggleEvent=t.events.spinnerToggle}])}(),function(){"use strict";function t(n,t,i,r,u){function o(t,i){return n.all(t).then(function(){var n={controllerId:i};e(r.config.controllerActivateSuccessEvent,n)})}function e(){return t.$broadcast.apply(t,arguments)}function s(n,t,r,u,f){f=+f||300;r||(r="filtered"+t[0].toUpperCase()+t.substr(1).toLowerCase(),u=t+"Filter");var e=function(){n[r]=n[t].filter(function(t){return n[u](t)})};return function(){var n;return function(t){n&&(i.cancel(n),n=null);t||!f?e():n=i(e,f)}}()}function h(n,t,r,u){r=r||1e3;f[n]&&(i.cancel(f[n]),f[n]=undefined);u?t():f[n]=i(t,r)}function c(n){return/^[-]?\d+$/.test(n)}function l(n,t){return n&&-1!==n.toLowerCase().indexOf(t.toLowerCase())}var f={};return{$broadcast:e,$q:n,$timeout:i,activateController:o,createSearchThrottle:s,debouncedThrottle:h,isNumber:c,logger:u,textContains:l}}var n=angular.module("common",[]);n.provider("commonConfig",function(){this.config={};this.$get=function(){return{config:this.config}}});n.factory("common",["$q","$rootScope","$timeout","commonConfig","logger",t])}(),function(){"use strict";function n(n){function r(n,t){t=t||"log";switch(t.toLowerCase()){case"success":t="logSuccess";break;case"error":t="logError";break;case"warn":t="logWarning";break;case"warning":t="logWarning"}var r=i[t]||i.log;return function(t,i,u){r(t,i,n,u===undefined?!0:u)}}function u(n,i,r,u){t(n,i,r,u,"info")}function f(n,i,r,u){t(n,i,r,u,"warning")}function e(n,i,r,u){t(n,i,r,u,"success")}function o(n,i,r,u){t(n,i,r,u,"error")}function t(t,i,r,u,f){var e=f==="error"?n.error:n.log;r=r?"["+r+"] ":"";e(r,t,i);u&&(f==="error"?toastr.error(t):f==="warning"?toastr.warning(t):f==="success"?toastr.success(t):toastr.info(t))}var i={getLogFn:r,log:u,logError:o,logSuccess:e,logWarning:f};return i}angular.module("common").factory("logger",["$log",n])}(),function(){"use strict";function n(n,t){function r(){i(!1)}function u(){i(!0)}function i(i){n.$broadcast(t.config.spinnerToggleEvent,{show:i})}return{spinnerHide:r,spinnerShow:u}}angular.module("common").factory("spinner",["common","commonConfig",n])}(),function(){"use strict";function i(t,i){function f(n){var i="Confirm Delete",t;return n=n||"item",t="Delete "+n+"?",r(i,t)}function r(i,r,u,f){var e={templateUrl:"modalDialog.tpl.html",controller:n,keyboard:!0,resolve:{options:function(){return{title:i,message:r,okText:u,cancelText:f}}}};return t.open(e).result}var u={deleteDialog:f,confirmationDialog:r};return i.put("modalDialog.tpl.html",'<div>    <div class="modal-header">        <button type="button" class="close" data-dismiss="modal" aria-hidden="true" data-ng-click="cancel()">&times;<\/button>        <h3>{{title}}<\/h3>    <\/div>    <div class="modal-body">        <p>{{message}}<\/p>    <\/div>    <div class="modal-footer">        <button class="btn btn-primary" data-ng-click="ok()">{{okText}}<\/button>        <button class="btn btn-info" data-ng-click="cancel()">{{cancelText}}<\/button>    <\/div><\/div>'),u}var t=angular.module("common.bootstrap",["ui.bootstrap"]),n;t.factory("bootstrap.dialog",["$modal","$templateCache",i]);n=["$scope","$modalInstance","options",function(n,t,i){n.title=i.title||"Title";n.message=i.message||"";n.okText=i.okText||"OK";n.cancelText=i.cancelText||"Cancel";n.ok=function(){t.close("ok")};n.cancel=function(){t.dismiss("cancel")}}]}()