(function () { "use strict"; angular.module("enrServicesModule") .factory("enrModeManager", ["$rootScope", function ($rootScope) { var modeEnum = { none: 0, offices: 1, referendums: 2, turnout: 3, downloadResults: 4 }; var modeChangeEventName = "curModeChanged"; var curMode = modeEnum.offices; return { modeEnum: modeEnum, modeChangeEventName: modeChangeEventName, isOfficeMode: function () { return curMode === modeEnum.offices; }, isReferendumsMode: function () { return curMode === modeEnum.referendums; }, isTurnoutMode: function () { return curMode === modeEnum.turnout; }, getCurMode: function () { return curMode; }, setCurMode: function (newMode) { if (newMode !== curMode) { curMode = newMode; $rootScope.refreshTicker(); $rootScope.$broadcast(modeChangeEventName, curMode); } } }; }]); }());