/*
	getCookie( cookieName )
	Gets the value for the requested cookie, or returns null 
	when empty.
*/
function getCookie( name )
{
	var re = new RegExp( "(\;|^)[^;]*(" + name + ")\=([^;]*)(;|$)" );
	var match = re.exec( document.cookie );
	return match != null ? match[ 3 ] : null;
}

/*
	setCookie( cookieName, value, [days] )
	Sets a cookie for name to the given value
*/
function setCookie( name, value, days )
{
	var expires = "";
	if( days )
	{
		var date = new Date();
		date.setTime( date.getTime() + days * 24 * 60 * 60 * 1000 );
		expires = "; expires=" + date.toGMTString();
	}
	document.cookie = name + "=" + value + expires + "; path=/";
}

/*
	removeCookie( cookieName )
	Removes a cookies value
*/
function removeCookie( name )
{
	setCookie( name, "", -1 );
}

/*
	setPersistentCookie( cookieName, newValue )
	Sets a cookie for name to the given value expiring in 1 month
*/
function setPersistentCookie( name, value )
{
	setCookie( name, value, 30 );
}