function hasCookieSupport() {
	var persist = true;
	do {
		var c = 'cookieTest=' + Math.floor(Math.random() * 100000000);
		document.cookie = persist ? c
				+ ';expires=Tue, 01-Jan-2030 00:00:00 GMT' : c;
		if (document.cookie.indexOf(c) !== -1) {
			document.cookie = c + ';expires=Sat, 01-Jan-2000 00:00:00 GMT';
			return persist;
		}
	} while (!(persist = !persist));
	return null;
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for ( var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ')
			c = c.substring(1, c.length);
		if (c.indexOf(nameEQ) == 0)
			return c.substring(nameEQ.length, c.length);
	}
	return null;
}

function getParameterByName(name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.href);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

var cookiesSupported = hasCookieSupport();
var ssoToken = readCookie("devere-sso");
var userFirstName = readCookie("userFirstName");
var loggedIn = null;

function updateLoggedIn(callback)
{
	if (cookiesSupported) {
		// Bounce back from login - start again
		if(getParameterByName("dsp") != "" || getParameterByName("loggedout") =="true" )
		{
			ssoToken = null;
			userFirstName = null;
		}
		
		if (ssoToken == null || userFirstName == null) {

			$.getScript(accountURL + "/getuser", function() {
				ssoToken = getSessionCookie();
				userFirstName = getUserFirstName();
				document.cookie = "devere-sso=" + ssoToken + "; path=/";
				document.cookie = "userFirstName=" + userFirstName;
				loggedIn = (ssoToken != "" && userFirstName != "");	
				callback();
			});
			
			return;
		}
	}
	loggedIn = (ssoToken != "" && userFirstName != "");
	callback();
}

