(function() { "use strict"; angular.module('raz') .component('connectedClassroomMain', { templateUrl: '/js/angular/connected-classroom/components/connected-classroom-main.html', controller: 'ConnectedClassroomMainController' }) .controller('ConnectedClassroomMainController', ['$document', 'ConnectedClassroomMarketingPopup', 'lazAccessRestrictionService', 'isConnectedClassroomEnabled', 'overview', 'SiteHelper', 'SiteLinks', 'connectedClassroomHowToVideoId', 'FeatureCheck', function ConnectedClassroomMainController($document, ConnectedClassroomMarketingPopup, lazAccessRestrictionService, isConnectedClassroomEnabled, overview, SiteHelper, SiteLinks, connectedClassroomHowToVideoId, FeatureCheck) { var ctrl = this; ctrl.isAuthenticated = lazAccessRestrictionService.isAuthorized(); ctrl.isConnectedClassroomEnabled = isConnectedClassroomEnabled; ctrl.SiteHelper = SiteHelper; ctrl.orderNowLink = SiteLinks.getOrderNowLink(SiteHelper.RPCC_SITE_ID); ctrl.freeTrialLink = SiteLinks.getFreeTrialLink(SiteHelper.RPCC_SITE_ID); ctrl.connectedClassroomHowToVideoId = connectedClassroomHowToVideoId; ctrl.isRPCCTrialEnabled = FeatureCheck.isFeatureEnabled('RPCC_FREE_TRIAL'); ctrl.$onInit = function() { ctrl.overview = overview; ctrl.gradeTabCookieValue = clg.commonUtils.getCookie('connected_classroom_current_grade'); ctrl.hideRPCCShout = clg.commonUtils.getCookie('hide-rpccShout'); if (!ctrl.hideRPCCShout && (!ctrl.isAuthenticated || !ctrl.isConnectedClassroomEnabled)) { ConnectedClassroomMarketingPopup.show(); } }; ctrl.isCookieSet = function(tabIndex) { return ctrl.gradeTabCookieValue && parseInt(tabIndex) === parseInt(ctrl.gradeTabCookieValue) ? 'true' : 'false'; }; ctrl.clickedNavTab = function() { var nextTabIndex = getNextTabAfterClick(); if (nextTabIndex >= 0) { clg.commonUtils.setCookie("connected_classroom_current_grade", nextTabIndex, 1); } }; function getNextTabAfterClick() { var gradeTabs = $document[0].getElementsByClassName("navTabs")[0]['children']; for (var i = 0; i < gradeTabs.length; ++i) { var tab = gradeTabs[i]; if (angular.element(tab).hasClass('is-active-add')) { return i; } } return undefined; } } ]) })();