//////////////////////////////////////////////////////////////////
//
// Cookie functions
//
// Original 4 functions written by Bill Dortch, hIdaho Design bdortch@netw.com
// _set_cookie() modified by Michael V. Newberry to accept string for expiry date.
//

//////////////////////////////////////////////////////////////////
// full arglist:  set_cookie( name, value, expires_ymd_str, path, domain, secure )
function _set_cookie( name, value )
{
	var argv = _set_cookie.arguments;
	var argc = _set_cookie.arguments.length;

	var expires = null;
	if ( argc > 2 )
	{
		var sDate = argv[2];
		//var ss = new Array();
		var ss = sDate.split(',');
		expires = new Date( ss[0], ss[1], ss[2] );
	}
	var path = argc > 3 ? argv[3] : null;
	var domain = argc > 4 ? argv[4] : null;
	var secure = argc > 5 ? Boolean(argv[5]) : false;

	var sCookieStr = name + '=' + escape(value) +
	( (expires == null) ? '' : ('; expires=' + expires.toGMTString()) ) + 
	( (path == null) ? '' : ('; path=' + path) ) + 
	( (domain == null) ? '' : ('; domain=' + domain) ) + 
	( (secure == true) ? '; secure' : '' );

	document.cookie = sCookieStr;
}

//////////////////////////////////////////////////////////////////
function _get_cookie( sCookieName )
{
	var arg = sCookieName + '=';
	var alen = arg.length;
	var clen = document.cookie.length;
	
	var i = 0;
	while ( i < clen )
	{
		var j = i + alen;
		if ( document.cookie.substring( i, j ) == arg )
			return _get_cookie_val( j );
			
		i = document.cookie.indexOf( ' ', i ) + 1;
		if ( i == 0 )
			break;
	}
	return null;
}

//////////////////////////////////////////////////////////////////
function _get_cookie_val( offset )
{
	var endStr = document.cookie.indexOf( ';', offset );
	if ( endStr == -1 )
		endStr = document.cookie.length;
		
	return unescape( document.cookie.substring( offset, endStr ) );
}

//////////////////////////////////////////////////////////////////
function _delete_cookie( sCookieName )
{
	var exp = new Date ();
	exp.setTime( exp.getTime() - 1 );
	
	var cVal = _get_cookie( sCookieName );
	if ( cVal != null )
		document.cookie = sCookieName + '=' + cVal + '; expires=' + exp.toGMTString();
}
