// $Id: login.js,v 1.19 2009/02/13 20:13:03 deryd Exp $ 

function extractCookies() {
	var name, value;
	var beginning, middle, end;
	var dc = document.cookie;
	
	for (name in cookies) {
		cookies = new Object;
		break;
	}
	beginning = 0;
	while (beginning < dc.length) {
		middle = dc.indexOf('=', beginning);
		end = dc.indexOf(';', beginning);
		if (end == -1) {
			end = dc.length;
		}
		if (middle > end || middle == -1) {
			name = dc.substring(beginning, end);
			value = "";
		} else {
			name = dc.substring(beginning, middle);
			value = dc.substring(middle + 1, end);			
		}
		cookies[name] = value;
		beginning = end + 2;
	}
}


SetMsg('msg_logging_in', 'Logging in ...');
SetMsg('msg_logging_out', 'Logging out ...');

function checkChanges() {
	extractCookies();
	for (var i=0; i < login_cookies.length; i++) {
		var name = login_cookies[i].name;
        var tag = login_cookies[i].tag;
		if (cookies[name] != OldCookies[name]) {
            var oWorking = document.getElementById('working');
            var act = "";
            if (oWorking) {
                if (typeof cookies[name] == "undefined") utils.ReplaceInHtml(GetMsg('msg_logging_out'), oWorking);
                else { utils.ReplaceInHtml(GetMsg('msg_logging_in'), oWorking); act = "&login=" + tag; }
                setTimeout("var oWorking = document.getElementById('working'); oWorking.style.display='block';", 1000);
            }
			if (LoginPopUp) LoginPopUp.close();
            var sLocation = new String(document.location);
			if (sLocation.lastIndexOf(".cgi") < 0) {
				document.location = sLocation.substring(0, sLocation.lastIndexOf("/") + 1) + "?from=login" + act;
			} else {
				document.location = sLocation.substring(0, sLocation.lastIndexOf(".cgi") + 4) + "?from=login" + act;
			}
			return;
		}
	}
	setTimeout(checkChanges, Timeout);
}




//function deleteCookie(name) {
//	document.cookie = name + "=null; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=nih.gov; path=/";
//	document.cookie = name + "; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=nih.gov; path=/";
//}


//login_cookies = new Array("WebCubbyUser", "SMSESSION", "nih.security.service.j2ee.session");

LoginPopUp = null;
var cookies = new Object;
var OldCookies = new Object;
var Timeout = 500;
extractCookies();


for (var i=0; i < login_cookies.length; i++) {
	var name = login_cookies[i].name;
	var value = cookies[name];
	OldCookies[name] = value;
}

setTimeout(checkChanges, Timeout);


