function setCookie( name, value, expires, path )
{
	//alert( 'ENTERING: setCookie( ' + name + ', ' + value + ', ' + expires + ', ' + path + ' )' ); ////////////////////////

	var cookie = name + "=" + escape( value );

	if ( expires != null )
	{
		cookie += "; expires=" + expires.toGMTString( );
	}

	if ( path != null )
	{
		cookie += "; path=" + path;
	}

	//alert( 'cookie: ' + cookie ); ////////////////////////

	document.cookie = cookie;

	//alert( 'document.cookie: ' + document.cookie ); ////////////////////////

	//alert( 'EXITING: setCookie( ' + name + ', ' + value + ', ' + expires + ', ' + path + ' )' ); ////////////////////////
}

function getCookie( name )
{
	var value = "";
	
	var cookies = document.cookie.split( "; " );
	
	for ( cookies_seen in cookies )
	{
		var cookie = cookies[ cookies_seen ];
		
		if ( cookie.substring( 0, cookie.indexOf( "=" ) ) == name )
		{
			value = cookie.substring( cookie.indexOf( "=" ) + 1 );
		}
	}
	
	return unescape( value );
}

function getCookies( )
{
	return document.cookie;
}

function deleteCookie( name )
{
	var expires = new Date( );
	expires.setTime( 0 );

	document.cookie = name + "=; expires=" + expires.toGMTString( );	
}

function deleteAllCookies( )
{
	var cookies = document.cookie.split( "; " );	
	
	for ( cookies_seen in cookies )
	{
		var cookie = cookies[ cookies_seen ];
		
		deleteCookie( cookie.substring( 0, cookie.indexOf( "=" ) ) );
	}
}

function getExpiry( days, hours, minutes, seconds, milliseconds )
{
	//alert( 'ENTERING: getExpiry( ' + days + ', ' + hours + ', ' + minutes + ', ' + seconds + ', ' + milliseconds + ' )' ); ////////////////////////

	var expires = new Date( );
	
	expires.setTime( expires.getTime( ) + ( ( ( ( ( ( ( days * 24 ) + hours ) * 60 ) + minutes ) * 60 ) + seconds ) * 1000 + milliseconds ) );

	//alert( 'expires: ' + expires ); ////////////////////////

	//alert( 'EXITING: getExpiry( ' + days + ', ' + hours + ', ' + minutes + ', ' + seconds + ', ' + milliseconds + ' )' ); ////////////////////////

	return expires;
}