function UserStateUtils() { this._userUtils = newObjectInStorage('UserStateUtils'); this.setOrientationChangedFlag = function setOrientationChangedFlag() { log('setOrientationChangedFlag: enter'); var userObj = this._userUtils.get(); // get the user object from session storage userObj.orientationChanged = true; this._userUtils.set(userObj); log('setOrientationChangedFlag: leave'); }; this.getOrientationChangedFlag = function getOrientationChangedFlag() { log('getOrientationChangedFlag: enter'); var userObj = this._userUtils.get(); // get the user object from session storage var flag = userObj.orientationChanged; if (typeof flag === 'undefined') { flag = false; } log('getOrientationChangedFlag: flag=' + flag); log('getOrientationChangedFlag: leave'); return flag; }; this.clearOrientationChangedFlag = function clearOrientationChangedFlag() { log('clearOrientationChangedFlag: enter'); var userObj = this._userUtils.get(); // get the user object from session storage userObj.orientationChanged = false; this._userUtils.set(userObj); log('clearOrientationChangedFlag: leave'); }; this.setHideAlertCount = function setHideAlertCount(count) { log('setHideAlertCount: enter'); log('setHideAlertCount: count=' + count); var userObj = this._userUtils.get(); // get the user object from session storage userObj.hideAlertCount = count; this._userUtils.set(userObj); log('setHideAlertCount: leave'); }; this.getHideAlertCount = function getHideAlertCount() { log('getHideAlertCount: enter'); var userObj = this._userUtils.get(); // get the user object from session storage var count = userObj.hideAlertCount; if (typeof count === "undefined") { count = 0; } log('getHideAlertCount: count=' + count); log('getHideAlertCount: leave'); return count; }; this.isDateWithinHoursOfNow = function isDateWithinHoursOfNow(theDate, theHours) { const logHeader = 'UserStateUtils.isDateWithinHoursOfNow: '; log(logHeader + 'enter'); log(logHeader + 'theDate=' + theDate); log(logHeader + 'theHours=' + theHours); const todaysDate = new Date(); if (typeof (theDate) === "undefined") { log(logHeader + 'the given date is undefined, so NOT within the time period'); log(logHeader + 'leave'); return false; } const diffMS = Math.abs(todaysDate - theDate); // get elapsed time in milliseconds since the given date/time const periodMS = (theHours * 60 * 60 * 1000); // milliseconds in the target time period if (diffMS < periodMS) { // if time since previous prompt is less than the given number of hours log(logHeader + 'it has been less than ' + theHours + ' hours since we showed the current date/time, so we will return TRUE'); log(logHeader + 'leave'); return true; } else { // if not within the period log(logHeader + theHours + 'have NOT elapsed since the given date/time, so we will return FALSE'); } log(logHeader + 'leave'); return false; }; this.isDateWithinMsOfNow = function isDateWithinMsOfNow(theDate, milliseconds) { const logHeader = 'UserStateUtils.isDateWithinMsOfNow: '; log(logHeader + 'enter'); log(logHeader + 'theDate=' + theDate); log(logHeader + 'milliseconds=' + milliseconds); const todaysDate = new Date(); if (typeof (theDate) === "undefined") { log(logHeader + 'the given date is undefined, so NOT within the time period'); log(logHeader + 'leave'); return false; } const diffMS = Math.abs(todaysDate - theDate); // get elapsed time in milliseconds since the given date/time log(logHeader + 'diffMS: ' + diffMS); const within = (diffMs <= milliseconds); log(logHeader + 'within: ' + within); log(logHeader + 'leave'); return within; }; this.setVideoStoppedDate = function setVideoStoppedDate(stoppedDate) { var userObj = this._userUtils.get(); // get the user object from session storage userObj.videoStoppedDate = stoppedDate; this._userUtils.set(userObj); }; this.getVideoStoppedDate = function getVideoStoppedDate() { var userObj = this._userUtils.get(); // get the user object const dateStr = userObj.videoStoppedDate; const stoppedDate = new Date(dateStr); return stoppedDate; }; this.setHideAlertDate = function setHideAlertDate(alertDate) { var userObj = this._userUtils.get(); // get the user object from session storage userObj.hideAlertDate = alertDate; this._userUtils.set(userObj); }; this.getHideAlertDate = function getHideAlertDate() { var userObj = this._userUtils.get(); // get the user object const dateStr = userObj.hideAlertDate; const alertDate = new Date(dateStr); return alertDate; }; this.setWelcomePromptDate = function setWelcomePromptDate(promptDate) { var userObj = this._userUtils.get(); // get the user object from session storage userObj.welcomePromptDate = promptDate; this._userUtils.set(userObj); }; this.getWelcomePromptDate = function getWelcomePromptDate() { var userObj = this._userUtils.get(); // get the user object const promptDateStr = userObj.welcomePromptDate; const promptDate = new Date(promptDateStr); return promptDate; }; this.setFullscreenDate = function setFullscreenDate(fsDate) { var userObj = this._userUtils.get(); // get the user object from session storage userObj.fullscreenDate = fsDate; this._userUtils.set(userObj); }; this.getFullscreenDate = function getFullscreenDate() { // may return undefined if no value has been stored var userObj = this._userUtils.get(); // get the user object const dateStr = userObj.fullscreenDate; if (typeof dateStr === "undefined") return dateStr; // if it's undefined return undefined const fsDate = new Date(dateStr); return fsDate; }; this.setSignalRUserName = function setSignalRUserName(userName) { var userObj = this._userUtils.get(); // get the user object from session storage userObj.signalRUserName = userName; this._userUtils.set(userObj); }; this.getSignalRUserName = function getSignalRUserName() { // may return undefined if no value has been stored var userObj = this._userUtils.get(); // get the user object const userName = userObj.signalRUserName; return userName; }; this.setSignalRPassword = function setSignalRPassword(password) { var userObj = this._userUtils.get(); // get the user object from session storage userObj.signalRPassword = password; this._userUtils.set(userObj); }; this.getSignalRPassword = function getSignalRPassword() { // may return undefined if no value has been stored var userObj = this._userUtils.get(); // get the user object const password = userObj.signalRPassword; return password; }; }