CINXE.COM

Login

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"> <script> var jsPageName = "Login"; // pass strPageName to JavaScript, used in function setPageName() [accessibility.js] var jsAjaxRequest = ('0' === '1') ? true : false; </script> <!-- AX != 1 --> <script> var url = new URL(location.href); history.replaceState({type: "login"} , '', url.pathname + url.search); </script> <head> <!-- META TAGS --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1,requiresActiveX=true"> <meta name="apple-itunes-app" content="app-id=566688504, affiliate-data=myAffiliateData, app-argument=myURL"> <title>Login</title> <meta name="description" content="The campus engagement platform for Bridgewater State University - Powered by CampusGroups."> <meta name="title" content="Bridgewater State University"> <!-- Google Tag Manager --> <script> dataLayer = [{ 'signedIn': false }]; </script> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-548G27F');</script> <!-- End Google Tag Manager --> <!-- CSS IMPORT --> <!-- FONT FOR DEV --> <link href="css/fonts/open-sans.css" rel="stylesheet" type="text/css" > <!-- FAVICON --> <link rel="icon" type="images/x-icon" href="/upload/bridgew/2024/s1_image_upload_2447305_Untitled_design_14_820113027.png"> <link rel="shortcut icon" type="images/x-icon" href="/upload/bridgew/2024/s1_image_upload_2447305_Untitled_design_14_820113027.png"> <!-- JQUERY UI --> <link rel="stylesheet" type="text/css" href="/bower_components/jquery-ui/themes/base/jquery-ui.min.css"> <!-- AUTOCOMPLETE --> <link rel="stylesheet" type="text/css" href="/js/jquery/jquery.autocomplete.css"> <!-- BOOTSTRAP & GLYPHICONS --> <link rel="stylesheet" type="text/css" href="/bower_components/bootstrap/dist/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="/static/plugins/bootstrap-multiselect/dist/css/bootstrap-multiselect.css"> <link rel="stylesheet" type="text/css" href="/glyphicons-pro/css/glyphicons-filetypes.css"> <!-- THICKBOX --> <link rel="stylesheet" type="text/css" href="/js/thickbox/thickbox.css"> <!-- JQUERY & FONT --> <script src="/bower_components/jquery/dist/jquery.min.js"></script> <script src="/bower_components/jquery-ui/jquery-ui.min.js"></script> <!-- BOOTSTRAP --> <script src="/bower_components/bootstrap/dist/js/bootstrap.min.js"></script> <script src="/static/plugins/bootstrap-multiselect/dist/js/bootstrap-multiselect.js"></script> <script type="text/javascript" src="/js/accessibility.js?v=20240514.1"></script> <script type="text/javascript" src="/js/scripts.js?v=20230316.1"></script> <link rel="stylesheet" type="text/css" href="/bower_components/mdi/css/materialdesignicons.min.css"> <link rel="stylesheet" type="text/css" href="/static/css/materialdesigniconscustom.css"> <link rel="stylesheet" type="text/css" href="/static/css/header.css?v=20220425.1"> <link rel="stylesheet" type="text/css" href="/css/bootstrap-customV.css?v=20241007.1"> </head> <body class="body-background " data-menu=""> <!-- SKIP links - skip to top of main content --> <div id="div-skip-links" class="skip-link-container-mobile"> <span style="padding: 5px"><a id="a-skip-to-main-content" href="javascript:" class="skip-link" onclick="setFocusToContent(true);" aria-label="Skip to Main Content">Skip to Main Content</a></span> <span id="span-skip-to-left-navigation" style="padding: 5px; display: none;"><a id="a-skip-to-left-navigation" href="javascript:" class="skip-link" onclick="setFocusToSidebar();" aria-label="Skip to Navigation">Skip to Navigation</a></span> <!-- ACCESSIBILITY --> <script> // if we're on mobile we will not enable the skip links const isMobileDevice = /Mobi/i.test(window.navigator.userAgent); // console.log('> isMobileDevice=' + isMobileDevice); $(window).on('load', function () { if (!isMobileDevice) { var elem = document.getElementById('div-skip-links'); if (typeof elem !== undefined) { elem.classList.remove('skip-link-container-mobile'); elem.classList.add('skip-link-container'); } } }); </script> </div> <!-- School custom code --> <!-- End school custom code --> <!-- Google Tag Manager (noscript) --> <!-- <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-548G27F" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> --> <!-- End Google Tag Manager (noscript) --> <!-- Modal --> <div id="primary-modal" class="modal fade" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <p class="loader"> <img alt="Loading" src="/images/loader-big.gif"> <br> Loading... </p> </div> </div> </div> <div id="secondary-modal" class="modal fade" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <p class="loader"> <img alt="Loading" src="/images/loader-big.gif"> <br> Loading... </p> </div> </div> </div> <script> $("#primary-modal").on("hide.bs.modal", function (e) { $("#primary-modal .modal-content").html(writeLoading("Loading")); }); $("#secondary-modal").on("hide.bs.modal", function (e) { $("#secondary-modal .modal-content").html(writeLoading("Loading")); }); </script> <!-- End Modal --> <script src="/static/js/modernizr.min.js"></script> <script src="/js/jquery-validate/jquery.validate.js"></script> <script src="/static/js/polyfill.js"></script> <!-- HEADER --> <style> .btn--school { background-color: #b10000; color: #fff; } .btn--school:hover { background-color: #b10000; color: #fff; } .btn--school:focus { background-color: #b10000; color: #fff; } .topbar { background: #b10000; border-color: #b10000; } .topbar ul.nav > li > a:hover, .topbar ul.nav > li > button:hover { background-color: #ffffff !important; } .topbar ul.nav > li > a:focus, .topbar ul.nav > li > button:focus { background-color: #ffffff !important; outline: none; } .topbar .topbar__sidebar-toggle:hover { background-color: #ffffff !important; } .topbar .topbar__sidebar-toggle:focus { background-color: #ffffff !important; outline: none; } .topbar .open:not(.topbar__left) > a, .topbar .open:not(.topbar__left) > a:focus, .topbar > .open:not(.topbar__left) > a:hover, .topbar .open:not(.topbar__left) > button, .topbar .open:not(.topbar__left) > button:focus, .topbar > .open:not(.topbar__left) > button:hover { background-color: #ffffff !important; } .topbar li:focus-within > button.mdi-menu { background-color: #ffffff !important; } .topbar li.active > a, .topbar li.active > button { background-color: #ffffff !important; } </style> <div id="generic">Loading</div> <div id="outer-shell" class="outer-shell "> <!-- Impersonate --> <!-- /.Impersonate --> <!-- Message / Maintenance --> <!-- /.Message --> <div id="topbar" class="topbar topbar-login topbar--reverse" role="navigation" aria-label="Topbar"> <div class="topbar__left"> <div role="banner"> <a id="a-top-bar-logo" aria-label="Bridgewater State University Logo. Opens the members homepage." role="button" class="logo" href="/groups"> <img class="topbar__icon-large" src="/upload/bridgew/2022/image_upload_2447305_1b_779460.png" alt="Bridgewater State University Logo Image." aria-label="Bridgewater State University Logo Image. Clicking opens the members home page." style="max-height: 50px; max-width: 165px;"> <img class="topbar__icon-small" src="/upload/bridgew/2020/image_upload_34747_bridgew_400x400jpg_112445213.jpeg" alt="Bridgewater State University Logo Image." aria-label="Bridgewater State University Logo Image. Clicking opens the members home page." style="max-height: 35px; max-width: 35px; margin: 0 5px;"> </a> </div> </div> <div class="topbar__center"> <nav aria-label="Topbar"> <ul class="nav"> <!-- Not Logged Buttons --> <!-- Home Website Buttons --> <li class="hidden-xs active"> <a class="topbar__menu topbar__menu--large" href="/home_login" aria-label="Home" role="button">Home</a> </li> <li class="hidden-xs dropdown hasSubMenu"> <a class="topbar__menu topbar__menu--large" href="/home/navigate/" style="max-width: inherit"> Quick Links </a> <ul class="dropdown-menu dropdown-menu-left arrow-dropdown-menu arrow-menu-right user-list notify-list" style="overflow-y: auto;max-height: 80vh;"> <li> <a href="/home/navigate/"> Navigate </a> </li><li> <a href="/home/blackboard/"> Blackboard </a> </li><li> <a href="/home/bsu-email/"> BSU Email </a> </li><li> <a href="/home/infobear/"> InfoBear </a> </li><li> <a href="/home/registrar/"> Registrar </a> </li><li> <a href="/home/library/"> Library </a> </li><li> <a href="/home/bridgenet/"> BridgeNet </a> </li><li> <a href="/home/ebill/"> eBill </a> </li><li> <a href="/home/ssta-payroll/"> SSTA Payroll </a> </li><li> <a href="/home/need-help/"> Need Help? </a> </li><li> <a href="/home/mybsu/"> MyBSU </a> </li> </ul> </li> <li class="hidden-xs dropdown hasNoSubMenu"> <a class="topbar__menu topbar__menu--large" href="/home/events/" style="max-width: inherit"> Events </a> <ul class="dropdown-menu dropdown-menu-left arrow-dropdown-menu arrow-menu-right user-list notify-list" style="overflow-y: auto;max-height: 80vh;"> </ul> </li> <li class="hidden-xs dropdown hasNoSubMenu"> <a class="topbar__menu topbar__menu--large" href="/home/groups/" style="max-width: inherit"> Groups </a> <ul class="dropdown-menu dropdown-menu-left arrow-dropdown-menu arrow-menu-right user-list notify-list" style="overflow-y: auto;max-height: 80vh;"> </ul> </li> <li class="hidden-xs dropdown hasNoSubMenu"> <a class="topbar__menu topbar__menu--large" href="/home/news/" style="max-width: inherit"> News </a> <ul class="dropdown-menu dropdown-menu-left arrow-dropdown-menu arrow-menu-right user-list notify-list" style="overflow-y: auto;max-height: 80vh;"> </ul> </li> <li class="hidden-lg hidden-md hidden-sm dropdown hasSubMenu"> <button class="topbar__menu mdi mdi-menu" aria-label="Top Menu. Expanded. Press tab to enter the menu dropdown." tabindex="0"></button> <ul class="dropdown-menu dropdown-menu-left" style="overflow-y: auto;max-height: 80vh;min-width:220px;"> <li style="display: block;"><a href="/home_login" aria-label="Home" role="button">Home</a></li> <li style="display: block;"><a href="/home/mybsu/" aria-label="MyBSU Student Portal Section" role="button" tabindex="0">MyBSU Student Portal</a></li> <li style="display: block;"><a href="/home/navigate/" aria-label="Navigate Section" role="button" tabindex="0">Navigate</a></li> <li style="display: block;"><a href="/home/blackboard/" aria-label="Blackboard Section" role="button" tabindex="0">Blackboard</a></li> <li style="display: block;"><a href="/home/bsu-email/" aria-label="BSU Email Section" role="button" tabindex="0">BSU Email</a></li> <li style="display: block;"><a href="/home/infobear/" aria-label="InfoBear Section" role="button" tabindex="0">InfoBear</a></li> <li style="display: block;"><a href="/home/registrar/" aria-label="Registrar Section" role="button" tabindex="0">Registrar</a></li> <li style="display: block;"><a href="/home/library/" aria-label="Library Section" role="button" tabindex="0">Library</a></li> <li style="display: block;"><a href="/home/bridgenet/" aria-label="BridgeNet Section" role="button" tabindex="0">BridgeNet</a></li> <li style="display: block;"><a href="/home/ebill/" aria-label="eBill Section" role="button" tabindex="0">eBill</a></li> <li style="display: block;"><a href="/home/ssta-payroll/" aria-label="SSTA Payroll Section" role="button" tabindex="0">SSTA Payroll</a></li> <li style="display: block;"><a href="/home/need-help/" aria-label="Need Help? Section" role="button" tabindex="0">Need Help?</a></li> <li style="display: block;"><a href="/home/mybsu/" aria-label="MyBSU Section" role="button" tabindex="0">MyBSU</a></li> <li style="display: block;"><a href="/home/events/" aria-label="Events Section" role="button" tabindex="0">Events</a></li> <li style="display: block;"><a href="/home/groups/" aria-label="Groups Section" role="button" tabindex="0">Groups</a></li> <li style="display: block;"><a href="/home/news/" aria-label="News Section" role="button" tabindex="0">News</a></li> </ul> </li> <style> .hasSubMenu:hover > ul, .hasSubMenu:focus-within > ul { display:block; } </style> <!-- /.Home Website Buttons --> <!-- Group & Event Buttons --> <!-- /.Group & Event Buttons --> <!-- /.Not Logged Buttons --> <!-- Home Button --> <!-- /.Home Button --> <!-- Group Button --> <!-- /.Group Button --> <!-- Manage Button --> <!-- Event Button --> <!-- /.Event Button --> <!-- Chat Button --> <!-- /.Chat Button --> <!-- Admin / Setup Button --> <!-- /.Admin Button --> <li class="spacer" role="presentation"></li> <!-- Login Button --> <li class="active"> <a class="topbar__menu topbar__menu--row" href="/login_only" aria-label="Sign In Section" role="button"> <span class="mdi mdi-login-variant mdi-24px"></span> <span class="hidden-xs hidden-sm topbar__menu-text" style="overflow: initial;"> Sign In </span> </a> </li> <!-- /.Login Button --> <style> #a-top-bar-logo:focus > i { outline: 2px solid #ffffff; } </style> </ul> </nav> </div><!-- /.navbar-collapse --> </div><!-- /.topbar --> <div id="inner-shell" class="inner-shell"> <!-- END HEADER --> <div id="content-cont" class="content-cont container-fluid"> <div id="page-cont" class="content" role="main" aria-label="Main Content."> <div style="position: relative;"><span id="span-top-of-main-content--0" class="content__top-element" tabindex="0" aria-label="Top of Main Content." style="display: none;">Top of Main Content</span></div> <!-- Used in email_form --> <!-- END AX != 1 --> <div class="login__slideshow-container"> <div class="login__slideshow"> <div class="login__cover-container" aria-label="Welcome to EngageBSU. Explore. Experience. Lead."> <img class="login__cover-img" style="height:calc(100vh - 70px);" alt="Homepage Slideshow Background" tabindex="-1" src="/upload/bridgew/2022/image_upload_2447305_Z5D_0353JPG_314204438.jpeg" > <div class="login__cover-overlay"></div> <div class="login__cover-text"> <div> <h1 class="ufocus" style="font-size:50px;color:white">Welcome to EngageBSU</h1> <div class="text__subtitle">Explore. Experience. Lead.</div> <div class="btn-container"> <script> function addSignInButtonClass() { var style = document.createElement('style'); style.type = 'text/css'; var mainColor = '#b10000'; var hoverColor = '#' + generateColor('', '#b10000', 20)[0]; // console.log('> addSignInButtonClass() begins...'); // console.log('> mainColor=' + mainColor); // console.log('> hoverColor=' + hoverColor); var cssText = '#a-sign-in-button_1 {background-color: ' + mainColor + ';} '; cssText += '#a-sign-in-button_1:hover, #a-sign-in-button_1:focus {background-color: ' + hoverColor + ';} '; style.innerHTML = cssText; document.getElementsByTagName('head')[0].appendChild(style); // console.log('addSignInButtonClass() added #a-sign-in-button_1 class info'); } addSignInButtonClass(); </script> <a id="a-sign-in-button_1" class="btn btn--rounded action-btn" onclick="loadButton($(this))" href="/login_only?redirect=" role="button" aria-label="Sign In. Welcome to EngageBSU. Explore. Experience. Lead. Click to go to Sign In."><div style="padding: 0 20px;"><span class="mdi mdi-login"></span> Sign In</div></a> </div> </div> </div> <span class="mdi mdi-chevron-down discover-btn" onclick="$('html, body').animate({ scrollTop: $('.login__slideshow-container').height() }, 700);" tabindex="-1" role="presentation" aria-hidden="true"></span> </div> </div> </div> <div class="login__event-container"> <div class="login__event-slider"> <div class="row"> <div class="col-xs-6 col-sm-6 col-md-6"> <h1 class="header-cg--h3" style="margin-top:0;margin-left:20px">Upcoming Events <small>(295)</small></h1> </div> <div class="col-xs-6 col-sm-6 col-md-6 text-right"> <a data-z="hl.a.01" class="btn btn-grey btn--rounded" href="/events" style="margin-top:0;margin-right:20px" aria-label="All Events"><span class="mdi mdi-calendar"></span> All Events</a> </div> </div> <div id="event_slider_container" role="region" aria-label="Upcoming Events Carousel"><div class="text-center"><span style="position:absolute;top:45%" class="glyphicon glyphicon-refresh mdi-custom_spin grey-element"></span></div></div> </div> </div> <div height="50px"></div> <script> // Home Page JS Logic after Group Pinned $(document).ready(function() { clampText('text-clamp', true); getContent('event_slider_container', 'ajax_event_slider2?nb_events=4'); $('.login__slideshow').slick({ dots: false, arrows:false, infinite: true, fade: true, adaptiveHeight: true, autoplay: false, speed:700, autoplaySpeed: 900000, slidesToScroll: 1, cssEase: 'linear', slidesToShow: 1, initialSlide: 0 }); }); </script> <style> .outer-shell > .container,.container-fluid {width: 100%;margin-left:0;margin-right:0} .groups_preview-container { width: 100%; } @media (min-width: 1200px) { .news-container, .groups_preview-container { padding: 0 35px; width: 1200px; margin: auto; } } .discover-btn { position: absolute; bottom: 0.5vh; color: #F5F5F8; cursor: pointer; transition-duration: 0.4s; } .discover-btn:before { font-size: 90px; } .discover-btn:hover { bottom:0vh; } .list-group-item:hover { border-color: #d0d0d0; background-color: #f9f9f9; -webkit-transition: background-color 150ms ease-out; -ms-transition: background-color 150ms ease-out; transition: background-color 150ms ease-out; } .action-btn { color:white; background-color:#b10000; box-shadow: 0px 0px 0px 1px rgba(255,255,255, 0.5); display:block; } .action-btn:hover, .action-btn:focus { color:white; } .btn-container { margin-top:5%; display: flex; justify-content: center; } .login__slideshow--next-arrow :before, .login__slideshow--previous-arrow :before { background-color: #b10000; color:#d2d2d2; } .login__slideshow--next-arrow:focus :before, .login__slideshow--previous-arrow:focus :before { background-color: #ffffff; color: #b10000 !important; } .acc-keyboard-mode a.btn--rounded:focus { text-decoration: underline; text-decoration-style: solid; } .acc-keyboard-mode div.login__cover-container:focus h1.ufocus { text-decoration: underline; text-decoration-style: solid; } .acc-keyboard-mode a.a-slick-card-link:focus h3 { text-decoration: underline; text-decoration-style: solid; } .acc-keyboard-mode a.group-card:focus h4, a.badge:focus { text-decoration: underline; text-decoration-style: solid; } </style> <link rel="stylesheet" type="text/css" href="static/plugins/slick/slick.css"/> <link rel="stylesheet" type="text/css" href="static/plugins/slick/slick-theme.css"/> <script type="text/javascript" src="static/plugins/slick/slick.min.js"></script> <!-- LL - 10/03/2017: Moved up here so ckeditor can work in popups --> <script> //YT Viewer if (typeof arrYoutubePlayerObjects != "undefined") { $("#youtubeScript").remove(); $("#www-widgetapi-script").remove(); if (window['YT'] != undefined) { window.YT.loading = 0; window.YT.loaded = 0; } var youtubeTag = document.createElement('script'); youtubeTag.id = "youtubeScript"; youtubeTag.src = "https://www.youtube.com/iframe_api"; youtubeTag.async = false; // Get First Script Tag & Insert Vimeo Script before that. var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(youtubeTag, firstScriptTag); // Array of Players var arrYoutubePlayers = []; // Functions to work on Youtube Players function onYoutubePlayerReady(event) { var player = event.target; $(window).blur(function() { player.pauseVideo(); }); $(window).scroll(function() { if ( !isInViewport(document.getElementById("player--" + player.youtubeObject.cgID))) { player.pauseVideo(); } }); var startTime = new Date(player.youtubeObject.startTime * 1000).toISOString(); var totalTime = new Date(player.getDuration() * 1000).toISOString(); if (player.getDuration() >= 3600) { startTime = startTime.substr(11, 8); totalTime = totalTime.substr(11, 8); } else { startTime = startTime.substr(14, 5); totalTime = totalTime.substr(14, 5); } $("#player-btn--" + player.youtubeObject.cgID + " div.timer").html("<span id='player-time--" + player.youtubeObject.cgID + "'>" + startTime + "</span> / " + totalTime); } function onYoutubePlayerStateChange(event) { var player = event.target; if (event.data == YT.PlayerState.PLAYING) { // Change Buttons $("#player-btn--" + player.youtubeObject.cgID + " button.playpause").attr("data-status", "pause").attr("aria-label", "Pause"); $("#player-btn--" + player.youtubeObject.cgID + " button.playpause span.mdi").removeClass("mdi-play").addClass("mdi-pause"); } if (event.data == YT.PlayerState.PLAYING && player.intervalFunction == null) { // HACK For Window BLUR window.focus(); // AJAX Recurring Call player.intervalFunction = setInterval(function() { postVideoViews(player.youtubeObject.cgUID, player.youtubeObject.cgUID_s, player.getCurrentTime()); }, 10000); // Timer player.intervalTimerFunction = setInterval(function() { var currentTime = new Date(player.getCurrentTime() * 1000).toISOString(); if (player.getDuration() >= 3600) { currentTime = currentTime.substr(11, 8); } else { currentTime = currentTime.substr(14, 5); } $("#player-time--" + player.youtubeObject.cgID).html(currentTime); }, 1000) } else if (event.data == YT.PlayerState.PAUSED || event.data == YT.PlayerState.ENDED) { // Change Buttons $("#player-btn--" + player.youtubeObject.cgID + " button.playpause").attr("data-status", "play").attr("aria-label", "Play"); $("#player-btn--" + player.youtubeObject.cgID + " button.playpause span.mdi").removeClass("mdi-pause").addClass("mdi-play"); clearInterval(player.intervalFunction); clearInterval(player.intervalTimerFunction); player.intervalFunction = null; player.intervalTimerFunction = null; postVideoViews(player.youtubeObject.cgUID, player.youtubeObject.cgUID_s, player.getCurrentTime(), (event.data == YT.PlayerState.ENDED ? 'true' : '')); //if (event.data == YT.PlayerState.ENDED) { //if (typeof refreshTrackChecklist !== "undefined") { refreshTrackChecklist(); } //else if (typeof parent.refreshTrackChecklist !== "undefined") { parent.refreshTrackChecklist(); } //} } } function youtubePlayerPlayPause(player) { var currentStatus = $("#player-btn--" + player.youtubeObject.cgID + " button.playpause").attr("data-status"); if (currentStatus == "play") { player.playVideo(); } else if (currentStatus == "pause") { player.pauseVideo(); } } /* Function that checks localStorage for the Vimeo/YouTube closed captions load policy. Returns number values: * 0 - closed captions should be be disabled (do not load closed captions) * 1 - closed captions should be loaded when video loads * If the local storage key is not defined we return 0 (as a number). */ function getVideoPlayerCCLoadPolicy() { try { const lsKey = 'cg-video-player-cc-load-policy'; const ccLoadPolicy = localStorage.getItem(lsKey); return (ccLoadPolicy === '1') ? 1 : 0; } catch(e) { return 0; } } /* Function that toggles the video player CC load policy stored in local storage. Toggled values are (strings values): * '0' - closed captions should be be disabled (do not load closed captions) * '1' - closed captions should be loaded when video loads * If the local storage key is not defined it is treated as though the value were '0' and toggles to '1'. * */ function toggleVideoPlayerCCLoadPolicy() { try { const lsKey = 'cg-video-player-cc-load-policy'; const ccLoadPolicy = localStorage.getItem(lsKey); if (ccLoadPolicy === '1') { localStorage.setItem(lsKey, '0'); } else { localStorage.setItem(lsKey, '1'); } } catch(e) { return; } } /* Function that prompts the user for confirmation before toggling the video player closed caption load policy. * - If closed captions are currently turned off, the user will be prompted to confirm before turning them on (and vice versa) * - Video player CC load policy setting is stored in local storage (see above functions) * - Vimeo and YouTube video players require reload of the associated IFrames to change the setting, * if user confirms yes to reload, the page will be reloaded. */ function toggleClosedCaptionsAndReloadVideoIframes() { const turnClosedCaptionsOnOff = (typeof getVideoPlayerCCLoadPolicy !== 'undefined' && getVideoPlayerCCLoadPolicy() === 1) ? 'off' : 'on'; const message = 'Turning ' + turnClosedCaptionsOnOff + ' closed captions will reload this page, please save any outstanding changes before you choose to turn closed captions ' + turnClosedCaptionsOnOff + '. Are you sure you want to turn closed captions ' + turnClosedCaptionsOnOff + '?'; if (confirm(message)) { toggleVideoPlayerCCLoadPolicy(); location.reload(); } else { return false; } } // Called when the script is fully loaded. function onYouTubeIframeAPIReady() { // Loop through players arrYoutubePlayerObjects.forEach(function (youtubeObject, index) { arrYoutubePlayers[index] = new YT.Player("player--" + youtubeObject.cgID, { height: youtubeObject.height, width: youtubeObject.width, videoId: youtubeObject.videoID, playerVars: { modestbranding: 1, rel: 0, disablekb: 1, playsinline: 1, controls: 0, start: youtubeObject.startTime, cc_load_policy: (typeof getVideoPlayerCCLoadPolicy !== 'undefined') ? getVideoPlayerCCLoadPolicy() : 0 }, events: { 'onStateChange': onYoutubePlayerStateChange, 'onReady': onYoutubePlayerReady } }); arrYoutubePlayers[index].youtubeObject = youtubeObject; arrYoutubePlayers[index].intervalFunction = null; $("#player-btn--" + youtubeObject.cgID + " button.playpause").on('click', function() { youtubePlayerPlayPause(arrYoutubePlayers[index]); }); $("#player-btn--" + youtubeObject.cgID + " button.replay").on('click', function() { arrYoutubePlayers[index].seekTo(0); }); $("#player-btn--" + youtubeObject.cgID + " button.rewind").on('click', function() { arrYoutubePlayers[index].seekTo(arrYoutubePlayers[index].getCurrentTime() - 10); }); const turnClosedCaptionsOnOff = (typeof getVideoPlayerCCLoadPolicy !== 'undefined' && getVideoPlayerCCLoadPolicy() === 1) ? 'off' : 'on'; $("#player-btn--" + youtubeObject.cgID + " button.closedcaption").attr('aria-label', 'Turn ' + turnClosedCaptionsOnOff + ' closed captions. Note, this requires a reload of the current page.'); $("#player-btn--" + youtubeObject.cgID + " button.closedcaption").on('click', function() { toggleClosedCaptionsAndReloadVideoIframes(); }); $("#player-btn--" + youtubeObject.cgID + " button.fullscreen").on('click', function() { arrYoutubePlayers[index].pauseVideo(); tb_show("", "/video_player?embed=1&uid=" + youtubeObject.cgUID + "&width=995&height=680&modal=true&TB_iframe=1", ""); }); }); arrYoutubePlayerObjects = undefined; } } //Vimeo Viewer if (typeof arrVimeoPlayerObjects != "undefined") { $("#vimeoScript").remove(); var vimeoTag = document.createElement('script'); vimeoTag.id = "vimeoScript"; vimeoTag.src = "https://player.vimeo.com/api/player.js"; vimeoTag.async = false; // Get First Script Tag & Insert Vimeo Script before that. var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(vimeoTag, firstScriptTag); // Array of Players var arrVimeoPlayers = []; // Functions to work on Vimeo Players function vimeoPlayerPlay(player) { // Change Buttons $("#player-btn--" + player.vimeoObject.cgID + " button.playpause").attr("data-status", "pause").attr("aria-label", "Pause"); $("#player-btn--" + player.vimeoObject.cgID + " button.playpause span.mdi").removeClass("mdi-play").addClass("mdi-pause"); // AJAX Recurring Call player.intervalFunction = setInterval( function() { player.getCurrentTime().then( function(seconds) { postVideoViews(player.vimeoObject.cgUID, player.vimeoObject.cgUID_s, seconds); }) }, 10000) // Timer player.intervalTimerFunction = setInterval(function() { player.getCurrentTime().then( function(seconds) { var currentTime = new Date(seconds * 1000).toISOString(); if (player.totalDuration >= 3600) { currentTime = currentTime.substr(11, 8); } else { currentTime = currentTime.substr(14, 5); } $("#player-time--" + player.vimeoObject.cgID).html(currentTime); }) }, 1000) } function vimeoPlayerPause(player) { // Change Buttons $("#player-btn--" + player.vimeoObject.cgID + " button.playpause").attr("data-status", "play").attr("aria-label", "Play"); $("#player-btn--" + player.vimeoObject.cgID + " button.playpause span.mdi").removeClass("mdi-pause").addClass("mdi-play"); // Clear AJAX Recurring Call clearInterval(player.intervalFunction); clearInterval(player.intervalTimerFunction); player.intervalFunction = null; player.intervalTimerFunction = null; player.getCurrentTime().then( function(seconds) { postVideoViews(player.vimeoObject.cgUID, player.vimeoObject.cgUID_s, seconds); }); } function vimeoPlayerEnded(player) { // Change Buttons $("#player-btn--" + player.vimeoObject.cgID + " button.playpause").attr("data-status", "play").attr("aria-label", "Play"); $("#player-btn--" + player.vimeoObject.cgID + " button.playpause span.mdi").removeClass("mdi-pause").addClass("mdi-play"); // Clear AJAX Recurring Call clearInterval(player.intervalFunction); clearInterval(player.intervalTimerFunction); player.intervalFunction = null; player.intervalTimerFunction = null; player.getCurrentTime().then( function(seconds) { postVideoViews(player.vimeoObject.cgUID, player.vimeoObject.cgUID_s, seconds, 'true'); }); //if (typeof refreshTrackChecklist !== "undefined") { refreshTrackChecklist(); } //else if (typeof parent.refreshTrackChecklist !== "undefined") { parent.refreshTrackChecklist(); } } function vimeoPlayerPlayPause(player) { var currentStatus = $("#player-btn--" + player.vimeoObject.cgID + " button.playpause").attr("data-status"); if (currentStatus == "play") { player.play(); } else if (currentStatus == "pause") { player.pause(); } } // We wait until the script is fully loaded. $("#vimeoScript").on('load', function() { // Loop through players arrVimeoPlayerObjects.forEach(function (vimeoObject, index) { if (typeof getVideoPlayerCCLoadPolicy !== 'undefined' && getVideoPlayerCCLoadPolicy() === 1) { // load with closed captions enabled (set texttrack to 'en') arrVimeoPlayers[index] = new Vimeo.Player("player--" + vimeoObject.cgID, { url: vimeoObject.URL , height: vimeoObject.height, width: vimeoObject.width, controls: false, texttrack: 'en' }); } else { arrVimeoPlayers[index] = new Vimeo.Player("player--" + vimeoObject.cgID, { url: vimeoObject.URL , height: vimeoObject.height, width: vimeoObject.width, controls: false }); } arrVimeoPlayers[index].vimeoObject = vimeoObject; arrVimeoPlayers[index].intervalFunction = null; if (vimeoObject.startTime != 0) { arrVimeoPlayers[index].setCurrentTime(vimeoObject.startTime); } arrVimeoPlayers[index].on('play', function() { vimeoPlayerPlay(this) } ); arrVimeoPlayers[index].on('pause', function() { vimeoPlayerPause(this) } ); arrVimeoPlayers[index].on('ended', function() { vimeoPlayerEnded(this) } ); $("#player-btn--" + vimeoObject.cgID + " button.playpause").on('click', function() { vimeoPlayerPlayPause(arrVimeoPlayers[index]); }); $("#player-btn--" + vimeoObject.cgID + " button.replay").on('click', function() { arrVimeoPlayers[index].setCurrentTime(0) }); $("#player-btn--" + vimeoObject.cgID + " button.rewind").on('click', function() { arrVimeoPlayers[index].getCurrentTime().then(function(seconds) { arrVimeoPlayers[index].setCurrentTime(Math.max(0, seconds - 10)); }) }); const turnClosedCaptionsOnOff = (typeof getVideoPlayerCCLoadPolicy !== 'undefined' && getVideoPlayerCCLoadPolicy() === 1) ? 'off' : 'on'; $("#player-btn--" + vimeoObject.cgID + " button.closedcaption").attr('aria-label', 'Turn ' + turnClosedCaptionsOnOff + ' closed captions. Note, this requires a reload of the current page.'); $("#player-btn--" + vimeoObject.cgID + " button.closedcaption").on('click', function() { toggleClosedCaptionsAndReloadVideoIframes(); }); $("#player-btn--" + vimeoObject.cgID + " button.fullscreen").on('click', function() { arrVimeoPlayers[index].pause(); tb_show("", "/video_player?embed=1&uid=" + vimeoObject.cgUID + "&width=995&height=680&modal=true&TB_iframe=1", ""); }); $(window).blur(function() { arrVimeoPlayers[index].pause(); }); $(window).scroll(function() { if ( !isInViewport(document.getElementById("player--" + vimeoObject.cgID))) { arrVimeoPlayers[index].pause(); } }); var startTime = new Date(vimeoObject.startTime * 1000).toISOString(); var totalTime = 0; arrVimeoPlayers[index].getDuration().then(function(seconds) { arrVimeoPlayers[index].totalDuration = seconds; totalTime = new Date(seconds * 1000).toISOString(); if (seconds >= 3600) { startTime = startTime.substr(11, 8); totalTime = totalTime.substr(11, 8); } else { startTime = startTime.substr(14, 5); totalTime = totalTime.substr(14, 5); } $("#player-btn--" + vimeoObject.cgID + " div.timer").html("<span id='player-time--" + vimeoObject.cgID + "'>" + startTime + "</span> / " + totalTime); }); }); arrVimeoPlayerObjects = undefined; }); } </script> <script> $(document).ready(function(){ $("[data-toggle='tooltip']").tooltip(); $(".btn--loader").click(function() { loadButton($(this)); }); tb_init('a.thickbox, area.thickbox, input.thickbox'); // fix for the non editable input in ckeditor (ex: URL...) $(".modal").removeAttr("tabindex"); setupAjaxAccessibility(); }); </script> <!-- AX != 1 --> </div><!--/.content --> </div><!--/.content-page --> </div><!--/.inner-shell --> <style> .outer-shell { display:flex; flex-direction:column; min-height: 100vh; } @-moz-document url-prefix() { .inner-shell {flex:1; } } @media screen and (-webkit-min-device-pixel-ratio:0) { .inner-shell { flex:1; } } body.enlarged { min-height:initial; position:relative; } body.enlarged > .outer-shell { display:flex; flex-direction:column; min-height: 100vh; } </style> <footer class="footer__home"> <div> <div id="footer-links" class="row footer__cont" style="background: transparent;"> <div class="col-md-offset-1_5 col-md-3 col-sm-12 col-xs-12 text-center" style="padding-top:10px;"> <img alt="Bridgewater State University Website Logo" src="/upload/bridgew/2022/image_upload_2447305_1b_779460.png" style="max-width:150px;max-height:50px;border-radius:6px;"> </div> <div class="text-xs-center text-sm-left text-md-left col-md-3 col-sm-6 col-xs-12" style="display:flex;padding: 10px 10px;"> <div style="margin:auto" role="group" aria-label="Contact information."> <h2 class="footer__home--title" style="margin-top: 0; margin-bottom: 10px;">Contact</h2><br> <span style="margin-bottom:5px">Bridgewater State University</span><br> <span style="margin-bottom:5px;line-height:1.7">131 Summer Street<br>Bridgewater, MA 02325<br>United States</span><br> <a class="a-footer-contact-links" href="mailto:cse@bridgew.edu" aria-label="Send an email to cse@bridgew.edu">cse@bridgew.edu</a><br> </div> </div> <div class="text-xs-center text-sm-left text-md-left col-md-3 col-sm-6 col-xs-12" style="display:flex;vertical-align:top;padding: 10px 10px;"> <div style="margin:auto" role="group" aria-label="Links"> <h2 class="footer__home--title" style="margin-top: 0; margin-bottom: 10px;">Links</h2><br> <a class="a-footer-contact-links" href="/home/mybsu/">MyBSU Student Portal</a><br> <a class="a-footer-contact-links" href="/home/navigate/">Navigate</a><br> <a class="a-footer-contact-links" href="/home/blackboard/">Blackboard</a><br> <a class="a-footer-contact-links" href="/home/bsu-email/">BSU Email</a><br> <a class="a-footer-contact-links" href="/home/infobear/">InfoBear</a><br> <a class="a-footer-contact-links" href="/home/registrar/">Registrar</a><br> <a class="a-footer-contact-links" href="/home/library/">Library</a><br> <a class="a-footer-contact-links" href="/home/bridgenet/">BridgeNet</a><br> <a class="a-footer-contact-links" href="/home/ebill/">eBill</a><br> <a class="a-footer-contact-links" href="/home/ssta-payroll/">SSTA Payroll</a><br> <a class="a-footer-contact-links" href="/home/need-help/">Need Help?</a><br> <a class="a-footer-contact-links" href="/home/mybsu/">MyBSU</a><br> <a class="a-footer-contact-links" href="/home/events/">Events</a><br> <a class="a-footer-contact-links" href="/home/groups/">Groups</a><br> <a class="a-footer-contact-links" href="/home/news/">News</a><br> <a class="a-footer-contact-links" href="https://www.bridgew.edu/">Terms of Service</a><br> <a class="a-footer-contact-links" href="https://www.bridgew.edu/policy/website-privacy-statement">Privacy Policy</a><br> <a class="a-footer-contact-links" href="https://readyedu.atlassian.net/wiki/spaces/CGSD/overview?homepageId=302186786">Support Center</a> </div> </div> </div> <div class="row" style="padding:15px 20px 0 20px;border-top:1px solid #5a5a5a;margin-top: 10px;" role="group" aria-label="Footer Bar Links"> <div class="col-sm-6 col-xs-12 text-xs-center text-sm-left"></div> <div class="col-sm-6 col-xs-12 text-xs-center text-sm-right"> <a class="a-footer-contact-links" href="http://www.novalsys.com">&copy;2024 CampusGroups</a> </div> </div> </div> </footer> <script type="text/javascript" src="/js/jquery-migrate-1.2.1.js"></script> <!-- THICKBOX --> <script src="/js/thickbox/thickbox.js"></script> <script type="text/javascript" src="/static/js/metisMenuCustom.js?v=1"></script> <script type="text/javascript" src="/static/js/jquery.slimscroll.js"></script> <!--<link href="/static/css/scrollbar.css" rel="stylesheet"> <script type="text/javascript" src="/static/js/scrollbar.js"></script>--> <script type="text/javascript">function $$(strId) { return document.getElementById(strId); }</script> <script type="text/javascript" src="/static/plugins/clamp/clamp.min.js"></script> <script type="text/javascript" src="/static/js/core.js"></script> <script type="text/javascript" src="/static/js/menu.js"></script> <script type="text/javascript" src="/static/js/routing.js"></script> <script type="text/javascript">$.ajaxSetup({cache:true})</script> <!-- @TODO: This is for jPrompt. We might to see if an update is available or give it a better style --> <link href="/js/jquery-alerts/jquery.alerts.css" rel="stylesheet" type="text/css"> <script src="/js/jquery-alerts/jquery.alerts.js" type="text/javascript"></script> <!-- @TODO: Check if used : put directly on /r and student_password--> <script> </script> <!-- Google Analytics --> <script> var _customTask = function() { return function(model){ var piiRegex = [ { name: 'Email', regex: /.{4}@.{4}/g}, { name: 'Phone_Number', regex: /^(\+|\d)[0-9]{7,16}$/g}, { name: 'SSN', regex: /^\d{3}-\d{2}-\d{4}$}/g}, { name: 'Address', regex: /^\d+\s[A-z]+\s[A-z]+/g}]; var globalSendTaskName = '_' + model.get('trackingId') + '_sendHitTask'; // Fetch reference to the original sendHitTask var originalSendTask = window[globalSendTaskName] = window[globalSendTaskName] || model.get('sendHitTask'); var i, hitPayload, parts, val; // Overwrite sendHitTask with PII purger model.set('sendHitTask', function(sendModel) { hitPayload = sendModel.get('hitPayload').split('&'); for (i = 0; i < hitPayload.length; i++) { parts = hitPayload[i].split('='); // Double-decode, to account for web server encode + analytics.js encode try { val = decodeURIComponent(decodeURIComponent(parts[1])); } catch(e) { val = decodeURIComponent(parts[1]); } piiRegex.forEach(function(pii) { val = val.replace(pii.regex, '[REDACTED ' + pii.name + ']'); }); parts[1] = encodeURIComponent(val); hitPayload[i] = parts.join('='); } sendModel.set('hitPayload', hitPayload.join('&'), true); originalSendTask(sendModel); }); }; } </script> <!-- GA4 implementation --> <script async src='https://www.googletagmanager.com/gtag/js?id=GTM-PBSLHP'></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'GTM-PBSLHP', { 'send_page_view': true, 'name': 'school', custom_map: { 'dimension1': 'customTask' } }); gtag('event', 'page_view', { customTask: _customTask() }); </script> <!-- End Google Analytics --> <!-- Help --> <!-- End Help --> </body> <!-- END AX != 1 --> <style> /* Accessibility Mode OFF - Default outline on :focus (none) */ :focus { outline: none; } a:focus { outline: none; } button.close:focus { outline: none; } .button:focus { outline: none; } .button.focus { outline: none; } .btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus { outline: none; } .dropdown-toggle:focus { outline: none; } #header__btn-cont--manage:focus, #header__btn-cont--manage:focus-within { outline: none; } /* no outline/focus on the following (various reasons including hover style on focus, other focus styles applied, etc.) */ h2:focus { outline: none; outline-offset: 0px; border: none; } /* .page__header--btns .btn:focus { outline: none !important; outline-offset: 0px !important; } */ /* a.btn--rounded:focus { outline: none !important; outline-offset: 0px !important; } */ </style> <!-- should always be last stylesheet loaded, version=yyyymmddx --> <link href="/static/css/accessibility.css?v=20220717.1" rel="stylesheet" /> </html>

Pages: 1 2 3 4 5 6 7 8 9 10