/*

NAME: COOKIES.JS
FUNCTIONS:

name:           set_cookie()
parameters:     1. name - name of the cookie
		2. value - value of the cookie 
		3. expires - the time in daysfrom now to expire the cookie
		4. path - the path you wish the cookie to control
		5. domain - the (sub)domain you wish the cookie to control
		6. secure - deprecated
returns :       true - upon completion of cookie set

name:		get_cookie( name )
parameters:	1. name - the name of the cookie to retrieve
returns:	unescaped value of the cookie if found 	
		false - if the cookie is not present

name: 		delete_cookie( name, path, domain )
parameters:	1. name - name of the cookie
		2. path - the path the cookie controls
		3. domain - the domain the cookie controls
returns:	true - if cookie deleted
		false - if the cookie is not present

name:           delete_all_cookies()
parameters:     0 
returns:        true - if all cookies deleted
                false - if the cookie is not present

name:           get_all_cookies()
parameters:     0
returns:        true - if all cookies deleted
                false - if the cookie is not present

*/

function set_cookie( name, value, expires, path, domain, secure )
{
	//alert( "name = " + name + "\nvalue = " + value + "\nexpires = " + expires + "\npath = " + path );
	var date = new Date();
	if ( expires != 0 )
	{
		date.setTime(date.getTime()+(expires*24*60*60*1000));
		var expiry = date.toGMTString();
     	} else	{
       			date.setTime(date.getTime());
	    		var expiry = date.toGMTString();
       		}

	document.cookie = name + "=" + escape( value ) + 
	( ( expires ) ? ";expires=" + expiry : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );

	return true;
}

function get_cookie( name )
{
	if ( !document.cookie ) { return false; }
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if ( begin == -1 )
	{
		begin = dc.indexOf(prefix);
                	if ( begin != 0 ) return false;
		} else	{
                        			begin += 2;
                			}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1) { end = dc.length; }

	return unescape( dc.substring( begin + prefix.length, end ) );
}

function delete_cookie( name, path, domain )
{
        if (get_cookie( name ))
        {
                document.cookie = name + "=" + ( (path) ? "; path=" + path : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
		return true;
        } else	{
			return false;
		}
}

function delete_all_cookies()
{
 	if ( document.cookie )
	{
		var cs = document.cookie.split(";");
		for ( var i=0; i<cs.length; i++ )
		{
                    	var name = cs[i].split("=");
                        set_cookie( name[0], name[1], -1, "/", "", "" ); 
		}
		return true;
	} else	{
			return false;
		}
}

function get_all_cookies()
{
	if ( document.cookie )
	{
		var cs = document.cookie.split(";");
		return cs;
	} else	{
				return false;
               		}
}

function alert_all_cookies()
{
        if ( document.cookie )
        {
                var cs = document.cookie.split(";");
                for ( var i=0; i<cs.length; i++ ) { alert( cs[i] ); }
        } else  {
			alert ("No Cookies Present");
                }
}

function show_all_cookies()
{
 	if ( document.cookie )
	{
		var cs = document.cookie.split(";");
		for ( var i=0; i<cs.length; i++ )
		{
                    	var name = cs[i].split("=");
                       	alert ( name[0] + " : " + unescape( name[1] ) ); 
		}
		return true;
	} else	{
				return false;
			}
}

