//>>built
define("mill/jssupport/session",["dojo/_base/lang","dojo/_base/array","dojo/cookie","mill/mill"],function(e,g,h,a){a.session=e.mixin(a.session,{_remoteUserAccessCategory:null,_remoteUserID:null,_remoteUserPersonID:null,_remoteUserLocale:null,_sessionValue:function(d){return Object.prototype.hasOwnProperty.call(this.values,d)?this.values[d]:""},getRemoteUserAccessCategory:function(){this._remoteUserAccessCategory||a.fieldValue(a.fieldValue(window,"console"),"error").call(null,"session.getRemoteUserAccessCategory: access category info not initialized.");
return this._remoteUserAccessCategory},getRemoteUserID:function(){this._remoteUserID||a.fieldValue(a.fieldValue(window,"console"),"error").call(null,"session.getRemoteUserID: remote user not initialized.");return this._remoteUserID},getRemoteUserPersonID:function(){this._remoteUserPersonID||a.fieldValue(a.fieldValue(window,"console"),"error").call(null,"session.getRemoteUserPersonID: remote user person not initialized.");return this._remoteUserPersonID},getRemoteUserLocale:function(){this._remoteUserLocale||
a.fieldValue(a.fieldValue(window,"console"),"error").call(null,"session.getRemoteUserLocale: remote user locale not initialized.");return this._remoteUserLocale},hasRemoteUser:function(){return h.isSupported()&&Object.prototype.hasOwnProperty.call(this.values,"RemoteUserCategory")&&Object.prototype.hasOwnProperty.call(this.values,"RemoteUserID")&&Object.prototype.hasOwnProperty.call(this.values,"RemoteUserPersonID")},checkRemoteUserAccessCategory:function(d,f){var c=this._sessionValue("RemoteUserCategory").toString().split(";");
c=g.indexOf(c,d);if(0>c)return f||(this._remoteUserLocale=this._remoteUserPersonID=this._remoteUserID=this._remoteUserAccessCategory=null),!1;if(!f){this._remoteUserAccessCategory=d;var b=this._sessionValue("RemoteUserID").toString().split(";");this._remoteUserID=b.length<c?b.shift()||null:b[c];b=this._sessionValue("RemoteUserPersonID").toString().split(";");this._remoteUserPersonID=b.length<c?b.shift()||null:b[c];b=this._sessionValue("RemoteUserLocale").toString().split(";");this._remoteUserLocale=
b.length<c?b.shift()||null:b[c]}this.getRemoteUserAccessCategory()&&e.isFunction(window.initWebAnalyticsDataLayer)&&window.initWebAnalyticsDataLayer();return!!this.getRemoteUserAccessCategory()}});return a.session});