{"version":3,"sources":["src/javascripts/login.js"],"names":["BROWSER_COMPATIBLE_MINIMUM_VERSION_IE","BROWSER_COMPATIBLE_MINIMUM_VERSION_FIREFOX","BROWSER_COMPATIBLE_MINIMUM_VERSION_SAFARI","BROWSER_COMPATIBLE_MINIMUM_VERSION_CHROME","BROWSER_COMPATIBLE_MINIMUM_VERSION_EDGE","exports","browser","getVersionAndName","info","v","prop","browserMap","num","Ext","versionVariable","version","name","getSupport","unsupported","userAgent","isMobile","test","isMobileUnsupported","isUnsupported","isIE","getEdgeVersion","isEdge","isChrome","getChromeVersion","major","isFirefox","getFirefoxVersion","isSafari","getSafariVersion","isTablet","showPopup","hasCookies","areCookiesEnabled","hasEncryption","isAndroid","isIos","parseFloat","match","showBrowserInfo","displaySupportInfo","hasActiveX","window","getIEVersion","matches","navigator","safariVersion","isGecko","firefoxVersion","indexOf","ua","edge","parseInt","substring","chromeVersion","idx","substr","split","a","minor","release","build","toLowerCase","BrowserInfo","this","minSupportedVersion","download","enableCookies","enableJavascript","code","getSupportedVersionText","ie","toString","firefox","chrome","safari","opera","limitedSupportMap","mobileBrowserMap","android","icon","ios","support","supportedList","displayWarning","title","id","bodyClass","tpl","XTemplate","getInstructions","type","data","html","i","length","push","join","bbar","unstlye","plain","cls","items","text","handler","getCmp","destroy","undefined","limitedSupportedList","mobileSupportedList","update","supported","encryption","cookies","supportCls","encryptionCls","cookiesCls","javascriptCls","displayUnsupportedMessage","compiled","getUpdateOrDownload","browserCode","style","padding","xtype","boxLabel","width","height","Alkami","Utils","CookieHelper","readCookie","appVersion","createCookie","isOpera","$","each","e","item","selector","localized","displayMobileUnsupportedMessage","ctCls","displayCookiesDisabledMessage","opts","Window","unstyled","hidden","renderTo","getBody","resizable","draggable","modal","isIE6","shadow","closable","closeAction","layout","y","autoHeight","r","eraseCookie","onReady","infoLink","click","location","hash","replace","trigger","instructify"],"mappings":"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","file":"login.min.js","sourcesContent":["var BROWSER_COMPATIBLE_MINIMUM_VERSION_IE = 11; \r\nvar BROWSER_COMPATIBLE_MINIMUM_VERSION_FIREFOX = 59;\r\nvar BROWSER_COMPATIBLE_MINIMUM_VERSION_SAFARI = 11;\r\nvar BROWSER_COMPATIBLE_MINIMUM_VERSION_CHROME = 66;\r\nvar BROWSER_COMPATIBLE_MINIMUM_VERSION_EDGE = 18;\r\n\r\n(function (exports) {\r\n // return object\r\n var browser = {\r\n getVersionAndName: function () {\r\n var info = {},\r\n v = 0;\r\n\r\n for (prop in browserMap) {\r\n info = browserMap[prop];\r\n\r\n var num = Ext[info.versionVariable];\r\n\r\n if (num > 0) {\r\n v += num;\r\n break;\r\n }\r\n }\r\n\r\n // if v == 0 no browser was matched, todo\r\n\r\n return {\r\n version: v,\r\n name: info.name\r\n };\r\n },\r\n getSupport: function () {\r\n\r\n var isBrowserUnsupported = function () {\r\n var unsupported = true;\r\n\r\n if (browser.isIE()) { \r\n //console.log(\"BROWSER IE VERSION VS MINIMUM = \" + browser.getIEVersion() + \" : \" + BROWSER_COMPATIBLE_MINIMUM_VERSION_IE);\r\n unsupported = (browser.getEdgeVersion() < BROWSER_COMPATIBLE_MINIMUM_VERSION_IE);\r\n }\r\n else if (browser.isEdge()) {\r\n //console.log(\"BROWSER EDGE VERSION VS MINIMUM = \" + browser.getEdgeVersion() + \" : \" + BROWSER_COMPATIBLE_MINIMUM_VERSION_EDGE);\r\n unsupported = (browser.getEdgeVersion() < BROWSER_COMPATIBLE_MINIMUM_VERSION_EDGE);\r\n }\r\n else if (browser.isChrome()) {\r\n //console.log(\"BROWSER CHROME VERSION VS MINIMUM = \" + browser.getChromeVersion().major + \" : \" + BROWSER_COMPATIBLE_MINIMUM_VERSION_CHROME);\r\n unsupported = (browser.getChromeVersion().major < BROWSER_COMPATIBLE_MINIMUM_VERSION_CHROME);\r\n }\r\n else if (browser.isFirefox()) {\r\n //console.log(\"BROWSER FIREFOX/GECKO VERSION VS MINIMUM = \" + browser.getFirefoxVersion() + \" : \" + BROWSER_COMPATIBLE_MINIMUM_VERSION_FIREFOX);\r\n unsupported = (browser.getFirefoxVersion() < BROWSER_COMPATIBLE_MINIMUM_VERSION_FIREFOX);\r\n }\r\n else if (browser.isSafari()) {\r\n //console.log(\"BROWSER SAFARI VERSION VS MINIMUM = \" + browser.getSafariVersion() + \" : \" + BROWSER_COMPATIBLE_MINIMUM_VERSION_SAFARI);\r\n unsupported = (browser.getSafariVersion() < BROWSER_COMPATIBLE_MINIMUM_VERSION_SAFARI);\r\n }\r\n else if (browser.isTablet()) {\r\n unsupported = false;\r\n }\r\n \r\n return unsupported;\r\n };\r\n\r\n var userAgent = Ext.userAgent,\r\n isMobile = /Mobile/i.test(userAgent),\r\n isMobileUnsupported = false,\r\n isUnsupported = isBrowserUnsupported(),\r\n showPopup = isUnsupported,\r\n hasCookies = areCookiesEnabled(),\r\n hasEncryption = !isUnsupported;\r\n\r\n if (isMobile) {\r\n var isAndroid = /Android/i.test(userAgent),\r\n isIos = /(iPad|iPhone)/i.test(userAgent),\r\n version;\r\n\r\n if (isAndroid) {\r\n version = parseFloat(userAgent.match(/Android (\\d+\\.\\d+)/i)[1]);\r\n isMobileUnsupported = version < 5.0;\r\n } else if (isIos) {\r\n version = parseFloat(userAgent.match(/OS (\\d+)_\\d+/i)[1]);\r\n isMobileUnsupported = version < 11;\r\n }\r\n }\r\n\r\n return {\r\n isMobile: isMobile,\r\n isMobileUnsupported: isMobileUnsupported,\r\n isUnsupported: isUnsupported,\r\n showPopup: showPopup,\r\n hasCookies: hasCookies,\r\n hasEncryption: hasEncryption\r\n };\r\n },\r\n showBrowserInfo: function () {\r\n displaySupportInfo();\r\n },\r\n isIE: function () {\r\n // hasActiveX will be able to detect all MSIE browsers, in particular MSIE11\r\n // Extjs has poor IE version detection, ie11 not recognized, userAgent string uses Trident/7.0 instead of MSIE\r\n // https://msdn.microsoft.com/en-us/library/ie/bg182625%28v=vs.85%29.aspx (tyvm microsoft_)\r\n var hasActiveX = \"ActiveXObject\" in window;\r\n return Ext.isIE || hasActiveX;\r\n },\r\n getIEVersion: function() {\r\n var ieVersion;\r\n var agent = navigator.userAgent;\r\n var reg = /MSIE\\s?(\\d+)(?:\\.(\\d+))?/i;\r\n var matches = agent.match(reg);\r\n\r\n if (matches != null) {\r\n ieVersion = matches[1];\r\n } else {\r\n ieVersion = 11;\r\n }\r\n return ieVersion;\r\n },\r\n isSafari: function () {\r\n return !browser.isChrome() && Ext.isSafari;\r\n },\r\n getSafariVersion: function () {\r\n return Ext.safariVersion;\r\n },\r\n isFirefox: function () {\r\n return Ext.isGecko;\r\n },\r\n getFirefoxVersion: function () {\r\n return Ext.firefoxVersion;\r\n },\r\n isChrome: function () {\r\n return Ext.isChrome || (navigator.userAgent.indexOf('CriOS') >= 0);\r\n },\r\n isEdge: function() {\r\n return (navigator.userAgent.indexOf('Edge') >= 0);\r\n },\r\n getEdgeVersion: function() {\r\n var ua = window.navigator.userAgent;\r\n\r\n var edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // return version number\r\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n } else {\r\n // we can't figure out the version number, so just let it pass\r\n return BROWSER_COMPATIBLE_MINIMUM_VERSION_EDGE;\r\n }\r\n },\r\n getChromeVersion: function () {\r\n var v = '0.0.0.0';\r\n if (Ext.isChrome) {\r\n v = Ext.chromeVersion + '.0.0.0';\r\n } else if (navigator.userAgent.match('CriOS')) {\r\n var idx = navigator.userAgent.indexOf('CriOS');\r\n v = navigator.userAgent.substr(idx + 6).split(' ')[0];\r\n }\r\n var a = v.split('.');\r\n return {\r\n major: parseInt(a[0]),\r\n minor: parseInt(a[1]),\r\n release: parseInt([2]),\r\n build: parseInt([3])\r\n };\r\n },\r\n isTablet: function () {\r\n return (/tabletapp/i.test(navigator.userAgent.toLowerCase()));\r\n }\r\n };\r\n\r\n exports.BrowserInfo = browser;\r\n\r\n})(this);\r\n\r\nvar browserMap = {\r\n edge: {\r\n versionVariable: 'edgeVersion',\r\n minSupportedVersion: BROWSER_COMPATIBLE_MINIMUM_VERSION_EDGE,\r\n download: 'https://www.google.com/search?q=download+microsoft+edge',\r\n enableCookies: 'https://www.google.com/search?q=enable+cookies+in+edge',\r\n enableJavascript: 'https://www.google.com/search?q=enable+javascript+in+edge',\r\n name: 'Edge',\r\n code: 'edge',\r\n getSupportedVersionText: function () { return '2 most recent versions'; }\r\n },\r\n ie: {\r\n versionVariable: 'ieVersion',\r\n minSupportedVersion: BROWSER_COMPATIBLE_MINIMUM_VERSION_IE,\r\n download: 'https://www.google.com/search?q=download+internet+explorer',\r\n enableCookies: 'https://www.google.com/search?q=enable+cookies+in+internet+explorer',\r\n enableJavascript: 'https://www.google.com/search?q=enable+javascript+in+internet+explorer',\r\n name: 'Internet Explorer',\r\n code: 'ie',\r\n getSupportedVersionText: function () { return 'Version ' + this.minSupportedVersion.toString(); }\r\n },\r\n firefox: {\r\n versionVariable: 'firefoxVersion',\r\n minSupportedVersion: BROWSER_COMPATIBLE_MINIMUM_VERSION_FIREFOX,\r\n download: 'https://www.google.com/search?q=download+firefox',\r\n enableCookies: 'https://www.google.com/search?q=enable+cookies+in+firefox',\r\n enableJavascript: 'https://www.google.com/search?q=enable+javascript+in+firefox',\r\n name: 'Mozilla Firefox',\r\n code: 'ff',\r\n getSupportedVersionText: function () { return '2 most recent versions'; }\r\n },\r\n chrome: {\r\n versionVariable: 'chromeVersion',\r\n minSupportedVersion: BROWSER_COMPATIBLE_MINIMUM_VERSION_CHROME,\r\n download: 'https://www.google.com/search?q=download+chrome',\r\n enableCookies: 'https://www.google.com/search?q=enable+cookies+in+chrome',\r\n enableJavascript: 'https://www.google.com/search?q=enable+javascript+in+chrome',\r\n name: 'Google Chrome',\r\n code: 'chrome',\r\n getSupportedVersionText: function () { return '2 most recent versions'; }\r\n },\r\n safari: {\r\n versionVariable: 'safariVersion',\r\n minSupportedVersion: BROWSER_COMPATIBLE_MINIMUM_VERSION_SAFARI,\r\n download: 'https://www.google.com/search?q=download+safari',\r\n enableCookies: 'https://www.google.com/search?q=enable+cookies+in+safari',\r\n enableJavascript: 'https://www.google.com/search?q=enable+javascript+in+safari',\r\n name: 'Safari',\r\n code: 'safari',\r\n getSupportedVersionText: function () { return '2 most recent versions'; }\r\n },\r\n opera: {\r\n versionVariable: 'operaVersion',\r\n name: 'Opera',\r\n code: 'opera',\r\n getSupportedVersionText: function () { return '2 most recent versions'; }\r\n }\r\n};\r\n\r\nvar limitedSupportMap = {\r\n ie: {\r\n versionVariable: 'ieVersion',\r\n minSupportedVersion: BROWSER_COMPATIBLE_MINIMUM_VERSION_IE,\r\n download: 'https://www.google.com/search?q=download+internet+explorer',\r\n enableCookies: 'https://www.google.com/search?q=enable+cookies+in+internet+explorer',\r\n enableJavascript: 'https://www.google.com/search?q=enable+javascript+in+internet+explorer',\r\n name: 'Internet Explorer',\r\n code: 'ie',\r\n getSupportedVersionText: function () { return 'Version ' + this.minSupportedVersion.toString(); }\r\n }\r\n};\r\n\r\nvar mobileBrowserMap = {\r\n android: {\r\n icon: 'android.png',\r\n minSupportedVersion: 5.0,\r\n name: 'Chrome for Android',\r\n code: 'Android',\r\n getSupportedVersionText: function () { return '2 most recent versions'; }\r\n },\r\n ios: {\r\n icon: 'apple.png',\r\n minSupportedVersion: 11,\r\n name: 'Mobile Safari for iOS devices',\r\n code: 'iOS',\r\n getSupportedVersionText: function () { return '2 most recent versions'; }\r\n }\r\n};\r\n\r\nExt.onReady(function () {\r\n var support = BrowserInfo.getSupport();\r\n var infoLink = $('#browser-support-info').click(function () {\r\n BrowserInfo.showBrowserInfo();\r\n });\r\n\r\n var hash = window.location.hash.replace('#', '');\r\n if (hash === '/browser-support')\r\n return infoLink.trigger('click');\r\n\r\n // first check whether or not browser is supported\r\n if (support.isMobile) {\r\n if (!Alkami.Utils.CookieHelper.readCookie('mobile_browser_no_warn') && support.isMobileUnsupported) {\r\n displayMobileUnsupportedMessage();\r\n return;\r\n }\r\n } else {\r\n if (!Alkami.Utils.CookieHelper.readCookie('browser_no_warn') && support.showPopup) {\r\n displayUnsupportedMessage();\r\n return;\r\n }\r\n }\r\n\r\n // then check whether or not cookies are enabled\r\n if (!support.hasCookies) {\r\n displayCookiesDisabledMessage();\r\n }\r\n\r\n $('div#sidebar a#help').instructify();\r\n});\r\n\r\nfunction displaySupportInfo() {\r\n var support = BrowserInfo.getSupport();\r\n var dialogTpl = new Ext.XTemplate(\r\n '',\r\n '
',\r\n '

{[values.supported && values.cookies && values.encryption ? \"Your browser supports the minimum requirements:\" : \"Your browser doesn\\'t quite meet the minimum requirements:\"]}

',\r\n '',\r\n '
',\r\n '

Desktop Browsers

',\r\n '

In order to provide a better and more secure online banking experience to our users, we support the following browsers:

',\r\n '',\r\n '

Browsers with Limited Support

',\r\n '',\r\n '

Mobile Browsers

',\r\n '

Online banking is designed to work with touch-based operating systems commonly found on tablet devices. We support the following mobile operating systems:

',\r\n '',\r\n '

Browser Features

',\r\n '

The following features need to be enabled in your browser:

',\r\n '',\r\n '
',\r\n {\r\n getInstructions: function (type, data) {\r\n var html = [];\r\n for (var i = 0; i < data.supportedList.length; i++) {\r\n html.push('\"'');\r\n }\r\n\r\n return '' + html.join('') + '';\r\n }\r\n }\r\n );\r\n\r\n var bbar = {\r\n //style: { padding: '0 20px 20px' },\r\n unstlye: true,\r\n plain: true,\r\n cls: 'close-bar',\r\n items: ['->', {\r\n text: 'Close',\r\n cls: 'button secondary',\r\n handler: function () {\r\n Ext.getCmp('browser-support').destroy();\r\n }\r\n }]\r\n };\r\n\r\n var win = displayWarning({\r\n title: 'Supported Browsers',\r\n id: 'browser-support',\r\n bodyClass: 'browser-support-info',\r\n tpl: dialogTpl,\r\n bbar: bbar\r\n });\r\n\r\n var supportedList = [];\r\n for (var prop in browserMap) {\r\n if (browserMap[prop].minSupportedVersion !== undefined)\r\n supportedList.push(browserMap[prop]);\r\n }\r\n\r\n var limitedSupportedList = [];\r\n for (var prop in limitedSupportMap) {\r\n if (limitedSupportMap[prop].minSupportedVersion !== undefined)\r\n limitedSupportedList.push(limitedSupportMap[prop]);\r\n }\r\n\r\n var mobileSupportedList = [];\r\n for (var prop in mobileBrowserMap) {\r\n if (mobileBrowserMap[prop].minSupportedVersion !== undefined)\r\n mobileSupportedList.push(mobileBrowserMap[prop]);\r\n }\r\n\r\n Ext.getCmp('browser-support-content').update({\r\n info: BrowserInfo.getVersionAndName(),\r\n supported: !support.isUnsupported,\r\n encryption: support.hasEncryption,\r\n cookies: support.hasCookies,\r\n supportedList: supportedList,\r\n limitedSupportedList: limitedSupportedList,\r\n mobileSupportedList: mobileSupportedList,\r\n // cls\r\n supportCls: support.isUnsupported ? 'not-ok' : 'ok',\r\n encryptionCls: !support.hasEncryption ? 'maybe-not-ok' : 'ok',\r\n cookiesCls: !support.hasCookies ? 'not-ok' : 'ok',\r\n javascriptCls: 'ok'\r\n });\r\n};\r\n\r\nfunction displayUnsupportedMessage() {\r\n var dialogTpl = new Ext.XTemplate(\r\n '',\r\n '
',\r\n '

Please update your browser.

',\r\n '

Our online banking site uses the latest technology and security standards supported by modern browsers. In order to provide a better and more secure online banking experience to our users, we do not support the browser you are using. We apologize for the inconvenience.

',\r\n '

You may update to a newer version of your browser or download one of the supported browsers using the links below. You will be on your way to a better, faster and safer online browsing experience in no time!

',\r\n '
',\r\n '
',\r\n '
',\r\n '
',\r\n '

Edge

',\r\n 'version {[browserMap.edge.minSupportedVersion]} or above',\r\n '
',\r\n 'Download',\r\n '
',\r\n '
',\r\n '
',\r\n '
',\r\n '

Firefox

',\r\n 'version {[browserMap.firefox.minSupportedVersion]} or above',\r\n '
',\r\n 'Download',\r\n '
',\r\n '
',\r\n '
',\r\n '
',\r\n '

Google Chrome

',\r\n 'version {[browserMap.chrome.minSupportedVersion]} or above',\r\n '
',\r\n 'Download',\r\n '
',\r\n '
',\r\n '
',\r\n '
',\r\n '

Safari

',\r\n 'version {[browserMap.safari.minSupportedVersion]} or above',\r\n '
',\r\n 'Download',\r\n '
', \r\n '
',\r\n '
',\r\n 'If you are using a supported browser, you may be using an extension that interferes with browser detection. Try disabling your browser extensions and restarting your browser to resolve the problem.',\r\n '
',\r\n 'OR',\r\n '
',\r\n '

Continue without updating.

',\r\n '

Please keep in mind that there are certain risks associated with using an outdated browser:',\r\n '

',\r\n '
Security Issues
',\r\n '
',\r\n '
Serious security flaws and lack of privacy features needed to keep your account safe and secure.
',\r\n '
',\r\n '
',\r\n '
Bugs
',\r\n '
',\r\n '
Bugs and limitations that may create problems when you use websites.
',\r\n '
',\r\n '
',\r\n '
Missing Features
',\r\n '
',\r\n '
Some features may not be available which may make websites harder to use.
',\r\n '
',\r\n '
',\r\n '
',\r\n {\r\n compiled: true,\r\n getUpdateOrDownload: function (browserCode, browser) {\r\n return (browserCode == browser) ? 'update' : 'download';\r\n }\r\n }\r\n );\r\n\r\n var bbar = {\r\n style: {\r\n padding: '0 20px 20px'\r\n },\r\n items: [{\r\n xtype: 'checkbox',\r\n name: 'dont_warn',\r\n id: 'browser_no_warn',\r\n boxLabel: 'Do not warn me again'\r\n },\r\n '->',\r\n {\r\n text: 'I understand the risks',\r\n width: 140,\r\n height: 24,\r\n handler: function () {\r\n // close window and if dont_warn is checked, set cookie.\r\n if (!Alkami.Utils.CookieHelper.readCookie('browser_no_warn')) {\r\n if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/')) {\r\n Alkami.Utils.CookieHelper.createCookie('browser_no_warn', 'IE11', 30);\r\n }\r\n else {\r\n Alkami.Utils.CookieHelper.createCookie('browser_no_warn', '!IE11', 1);\r\n }\r\n }\r\n Ext.getCmp('browser_unsupported').destroy();\r\n }\r\n }]\r\n };\r\n\r\n displayWarning({ bodyClass: 'browser-unsupported', tpl: dialogTpl, bbar: bbar });\r\n\r\n var browser = null;\r\n\r\n if (Ext.isIE) {\r\n browser = limitedSupportMap.ie;\r\n } else if (navigator.userAgent.indexOf('Edge') >= 0) {\r\n browser = browserMap.edge;\r\n } else if (Ext.isSafari) {\r\n browser = browserMap.safari;\r\n } else if (Ext.isGecko) {\r\n browser = browserMap.firefox;\r\n } else if (Ext.isChrome) {\r\n browser = browserMap.chrome;\r\n } else if (Ext.isOpera) {\r\n browser = browserMap.opera;\r\n } else {\r\n browser = {};\r\n }\r\n\r\n Ext.getCmp('browser_unsupported_content').update(browser);\r\n\r\n $.each($(\".localization\"), function(i, e) {\r\n var item = $(e);\r\n var selector = item.data('selector');\r\n var localized = item.data('localized');\r\n if (selector) {\r\n $(selector).html(localized);\r\n }\r\n });\r\n\r\n}\r\n\r\nfunction displayMobileUnsupportedMessage() {\r\n var dialogTpl = new Ext.XTemplate(\r\n '',\r\n '
',\r\n '

Your mobile operating system is not supported.

',\r\n '

Our online banking site uses the latest technology and security standards supported by modern browsers. In order to provide a better and more secure online banking experience to our users, we do not support the browser you are using. We apologize for the inconvenience.

',\r\n '
',\r\n '
',\r\n '

We support the following mobile operating systems:

',\r\n '',\r\n '
',\r\n '
',\r\n {\r\n compiled: true\r\n }\r\n );\r\n\r\n var bbar = {\r\n style: {\r\n padding: '0 20px 20px'\r\n },\r\n items: [{\r\n xtype: 'checkbox',\r\n name: 'dont_warn',\r\n id: 'mobile_browser_no_warn',\r\n boxLabel: 'Do not warn me again'\r\n },\r\n '->',\r\n {\r\n text: 'Continue Anyway',\r\n width: 108,\r\n height: 24,\r\n handler: function() {\r\n // close window and if dont_warn is checked, set cookie.\r\n if (!Alkami.Utils.CookieHelper.readCookie('mobile_browser_no_warn')) {\r\n Alkami.Utils.CookieHelper.createCookie('mobile_browser_no_warn','mobile', 1);\r\n }\r\n Ext.getCmp('browser_unsupported').destroy();\r\n }\r\n }]\r\n };\r\n\r\n displayWarning({ bodyClass: 'mobile-browser-unsupported', tpl: dialogTpl, bbar: bbar, ctCls: 'mobile' });\r\n Ext.getCmp('browser_unsupported_content').update({});\r\n}\r\n\r\nfunction displayCookiesDisabledMessage() {\r\n var dialogTpl = new Ext.XTemplate(\r\n '
',\r\n '

Please enable cookies.

',\r\n '

Cookies need to be enabled in order for you to save settings and preferences. Please choose your browser below to view instructions on how to enable cookies. When you\\'re done, refresh the page.

',\r\n '
',\r\n '',\r\n '
',\r\n '
',\r\n '',\r\n '
',\r\n '
',\r\n '',\r\n '
',\r\n '
',\r\n '',\r\n '
',\r\n '
',\r\n '',\r\n '
',\r\n '
',\r\n '',\r\n '
',\r\n '
',\r\n '
',\r\n '
'\r\n );\r\n\r\n displayWarning({ bodyClass: 'enable-cookies', tpl: dialogTpl, bbar: null });\r\n\r\n Ext.getCmp('browser_unsupported_content').update(browserMap);\r\n}\r\n\r\nfunction displayWarning(opts) {\r\n var width = opts.width || 590,\r\n ctCls = opts.ctCls || '';\r\n\r\n var win = new Ext.Window({\r\n plain: true,\r\n title: opts.title,\r\n unstyled: true,\r\n hidden: false,\r\n id: opts.id || 'browser_unsupported',\r\n renderTo: Ext.getBody(),\r\n resizable: false,\r\n draggable: false,\r\n modal: !Ext.isIE6,\r\n shadow: !Ext.isIE,\r\n closable: false,\r\n closeAction: 'hide',\r\n layout: 'anchor',\r\n cls: 'modal dialog ' + ctCls,\r\n y: 50,\r\n width: width,\r\n autoHeight: true,\r\n items: [{\r\n id: opts.id ? opts.id + '-content' : 'browser_unsupported_content',\r\n cls: opts.bodyClass,\r\n tpl: opts.tpl\r\n }],\r\n bbar: opts.bbar\r\n });\r\n return win;\r\n}\r\n\r\nfunction areCookiesEnabled() {\r\n var r = false;\r\n Alkami.Utils.CookieHelper.createCookie(\"testing\", \"moo\", 1);\r\n if (Alkami.Utils.CookieHelper.readCookie(\"testing\") != null) {\r\n r = true;\r\n Alkami.Utils.CookieHelper.eraseCookie(\"testing\");\r\n }\r\n return r;\r\n}\r\n"]}