// Useful functions for cookie handling - extracted from gameLogic.js
// see also:  http://www.quirksmode.org/js/cookies.html


var UserIdCookie_Name   = "pjuid" ;
var UserIdCookie_Days   = 90 ;

var LoggedInCookie_Name = "isLoggedIn" ;

function setUserCookie ( playerId, autoLogin )
{
	if ( playerId == 0 )
	  removeCookie ( UserIdCookie_Name ) ;
	  
	else if ( autoLogin )
	  setCookieWithExpiration ( UserIdCookie_Name, playerId, UserIdCookie_Days ) ;
	  
	else
	  setCookie ( UserIdCookie_Name, playerId ) ;
}

function getUserFromCookie ( ) 
{
	var pjuid = getCookie (UserIdCookie_Name) ;
	if ( pjuid == null )
	  pjuid = 0 ;
	return pjuid ;
}


function getWholeCookie ( offset ) 
{
	var endstr = document.cookie.indexOf ( ";", offset );
	if ( endstr == -1 ) {
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset, endstr));
}

function getCookie ( cookieName ) 
{
	var arg          = cookieName + "=";
	var argLength    = arg.length;
	var cookieLength = document.cookie.length;
	
	var i = 0;
	while ( i < cookieLength ) 
	{
		var j = i + argLength;
		if ( document.cookie.substring(i,j) == arg ) 
		{
			return getWholeCookie(j);
		}
		i = document.cookie.indexOf ( " ", i) + 1;
		if ( i == 0 ) 
		{
			break;
		}
	}
	
	return null;
}

function setCookie ( name, value ) 
{
	document.cookie = name + "=" + escape(value) +"; path=/";
}

function setCookieWithExpiration ( name, value, expiredays )
{
   var exdate = new Date();
   exdate.setDate ( exdate.getDate() + expiredays );
   document.cookie = name + "=" + escape(value) +  ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()) +"; path=/";
}

function tossCookie ( name ) 
{
	if ( getCookie(name) ) 
	{
	  document.cookie = name + "=null; expires=Sat, 01-Jan-2000 00:00:01 GMT";
	}
}

function removeCookie ( name )
{
	setCookieWithExpiration (name,"",-1) ;
}

function clearCookie ( name ) 
{
	 tossCookie(name) ;
}
