
function caSessRandom(min, max)
{
	if (min > max)
		return -1;

	if (min == max)
		return min;

	return min + parseInt(Math.random() * (max-min+1));
}

function caWriteSessionID(sessionID)
{
	var 			cookieExp=new Date();
	var 			curTime=cookieExp.getTime();


	//cookieExp.setTime(curTime + 24*60*60*1000);	// 1 day.
	cookieExp.setTime(curTime + 31*24*60*60*1000);	// 31 days.
	caSetCookie('sid', sessionID, cookieExp);
}

function caIsValidSession(sid)
{
	if (sid == '')
		return false;

	if (typeof sid != "string")
		return false;

	if (sid.length != 16)
		return false;

	return true;
}

var		caSessionID='';
function caCreateSession()
{
	var			sid=caGetCookie('sid');


	if (!caIsValidSession(sid))
	{
		sid = '';
		for (var i=0;i<16;++i)
		{
			sid += caSessRandom(0, 15).toString(16);
		}
	}

	// Set new timestamp.
	caWriteSessionID(sid);
}
caCreateSession();

