// this function gets the cookie, if it exists
function Get_Cookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) )
	{
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

// this deletes the cookie when called
function Delete_Cookie( name, path, domain ) 
{
	if ( Get_Cookie( name ) ) 
		document.cookie = name + "=" +
		( ( path ) ? ";path=" + path : "") +
		( ( domain ) ? ";domain=" + domain : "" ) +
		";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function Set_Cookie( name, value, expires, path, domain, secure ) 
{

	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
				( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
				( ( path ) ? ";path=" + path : "" ) + 
				( ( domain ) ? ";domain=" + domain : "" ) +
				( ( secure ) ? ";secure" : "" );
}

function setFieldsToCookie(name,fields)
{

	var cookie = "";
	var fieldList = fields.split(",")
	for ( i= 0; i <fieldList.length ; i++)
	{
		field = fieldList[i];
		val = getValue(field)
		if ( cookie.length > 0 ) cookie += "&"
		cookie +=  field + "=" + escape(val) 
	}
	Set_Cookie( name, cookie, '', '/', '', '' );
}

function getFieldsFromCookie( name )
{
	var cook = Get_Cookie( name )
	if ( cook)
	{
		var fields = cook.split("&")
		for ( i= 0; i <fields.length ; i++)
		{
			vals = fields[i].split("=");
			setValue(vals[0],unescape(vals[1]));
		}
	}	
}
