﻿var RolesProvider = function()
{
	var _fUserInfoRetrieved = false;
	var _userInfo = {
		Username: '',
		FirstName: '',
		LastName: '',
		EmailAddress: ''
	};
	
	function _getUserInfo(aAttr)
	{
		var attr = aAttr || {
			onSuccess : null
		};
		
		_fUserInfoRetrieved = true;
		$.ajax({
			type: 'POST',
			url: '/RolesProviderService.asmx/GetUserInfo',
			contentType: 'application/json; charset=utf-8',
			dataType: 'json',
			data: "{}",
			success: function(msg)
			{
				_userInfo = msg;
				if (attr.onSuccess != null)
				{
					attr.onSuccess(_userInfo);
				}
			},
			error: function(xhr, msg)
			{
				_userInfo = {
					Username: '',
					FirstName: '',
					LastName: '',
					EmailAddress: ''
				};
				_fUserInfoRetrieved = false;
			}
		});
	}
	
	return {
		getUserInfo : _getUserInfo,
		userName : _userInfo.Username,
		isLoggedIn : function()
		{
			if (_userInfo.Username.length > 0)
				return true;
		}
	}
}();