/* -----------------------------------------------------------------------------
Filename:                                                                       
    cookieUtil.js                                                                   
                                                                                
Purpose:                                                                        
    cookie utility functions                                   
                                                                                
History:                                                                        
Ver         Inits   Date        Comments                                        
1.00.00     JWL     09/25/06    Created.     
                                         
--------------------------------------------------------------------------------
*/

//	setCookie:
//		name - name of the cookie
//		value - value of the cookie
//		[expires] - expiration date of the cookie
//		(defaults to end of current session)
//		[path] - path for which the cookie is valid
//		(defaults to path of calling document)
//		[domain] - domain for which the cookie is valid
//		(defaults to domain of calling document)
//		[secure] - Boolean value indicating if the cookie transmission requires
//		a secure transmission
//		* an argument defaults when it is assigned null as a placeholder
//		* a null placeholder is not required for trailing omitted arguments
//
//	Example: setCookie("counter", visits, now);
//
function setCookie(name, value, expires, path, domain, secure) 
{
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
      
  document.cookie = curCookie;
  
} // setCookie


//	getCookie:
//
//		name	- name of the desired cookie
//		returns	- string containing value of specified cookie or 
//				  null if cookie does not exist
//
//	Example: var visits = getCookie("counter");
//
function getCookie(name)
{
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	
	if (begin == -1) 
	{
    	begin = dc.indexOf(prefix);
    	if (begin != 0) 
    		return "";
  	} 
  	else
    	begin += 2;
    	
	var end = document.cookie.indexOf(";", begin);
	if (end == -1)
    	end = dc.length;
    	
	return unescape(dc.substring(begin + prefix.length, end));
  
} // getCookie


//	deleteCookie:
//		name 		- name of the cookie
//		[path]		- path of the cookie (must be same as path used to create cookie)
//		[domain]	- domain of the cookie (must be same as domain used to create cookie)
//
//		Path and domain default if assigned null or omitted if no explicit argument proceeds.
//
//	Example: 
//
function deleteCookie(name, path, domain) 
{
	if(getCookie(name))
	{
		document.cookie = name + "=" +
			((path) ? "; path=" + path : "") +
			((domain) ? "; domain=" + domain : "") +
			"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
	
} // deleteCookie




