var baseLockTimer_minutes = 60;
var baseLogoutTimer_minutes = 60;
var baseDashboardTimer_minutes = 60;
var locktimer_id = null;
var logouttimer_id = null;

function getParamerer(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 results[1];
}

jQuery(document).ready(function()
{
	loadTimer();
});

function lock()
{
	window.location = 'index.php?loginaction=lock';
}

function switchUser()
{
	window.location = 'index.php?loginaction=switch';
}

function logout()
{
	window.location = 'index.php?loginaction=logout';
}

function loadTimer()
{
	jQuery.ajax(
	{
		type: 'POST',
		url: "admin/operations/load-timer.php",
		success: function(data)
		{
			baseLockTimer_minutes = data.autolock;
			baseLogoutTimer_minutes = data.autologout;
			baseDashboardTimer_minutes = data.dashboard_refresh;

			if(data.logout == "1")
			{
				logout();
			}
			else
			{
				if(data.lock == "1")
				{
					jQuery.post("admin/operations/load-timer.php", { type: 'checkin' });
					lock();
				}
			}
			
			resetAutoLock();
		},
		dataType: 'json',
		async: false
	});
}

function resetAutoLock()
{
	var baseLockTimer = 1000 * 60 * baseLockTimer_minutes;
	var baseLogoutTimer = 1000 * 60 * baseLogoutTimer_minutes;
	
	if(locktimer_id)
	{
		window.clearTimeout(locktimer_id);
	}
	
	if(logouttimer_id)
	{
		window.clearTimeout(logouttimer_id);
	}
	
	if(inside_main)
	{
		jQuery.post("admin/operations/load-timer.php", { type: 'checkin' });
		
		locktimer_id = window.setTimeout("lock()", baseLockTimer);
		logouttimer_id = window.setTimeout("logout()", baseLogoutTimer);
		
		//console.log("Main timer set");
		//console.log("baseLockTimer:" + baseLockTimer);
		//console.log("baseLogoutTimer:" + baseLogoutTimer);
	}
	else
	{
		if(getParamerer("act") == "lock")
		{
			if(baseLogoutTimer > baseLockTimer)
			{
				logouttimer_id = window.setTimeout("logout()", baseLogoutTimer);
				
				//console.log("Secondary timer set");
				//console.log("baseLockTimer:" + (baseLockTimer-baseLogoutTimer));
			}
			else
			{
				logout();
			}
		}
	}
}
