// **********************************************************************************
// cookie.js
// Javascript functions for cookie manipulation
// **********************************************************************************


// **********************************************************************************
function getCookieVal( offset ) {  
	var endstr = document.cookie.indexOf (";", offset);  

	if (endstr == -1)    
	endstr = document.cookie.length;  

	return unescape(document.cookie.substring(offset, endstr));
}
// **********************************************************************************
function getCookie( name ) {  
	var arg = name + "=";  
	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 getCookieVal (j);    
		i = document.cookie.indexOf(" ", i) + 1;    
		if (i == 0) break;   
	}

	return null;
}
// **********************************************************************************
function writeCookie( name, value, expiry ) {
	var expDate = new Date();

	if(expiry) {
		expDate.setTime (expDate.getTime() + expiry);
		document.cookie = name + "=" + escape (value) + "; path=/; expires=" + expDate.toGMTString();
	}
	else {
		document.cookie = name + "=" + escape (value) + "; path=/;";
	}
}
// **********************************************************************************
function setCookie (name, value) {
	// num is the number of days until cookie expires
	var num = 7;

	if(num == 0)
		writeCookie(name, value, 0);
	else
		writeCookie(name, value, 1000 * 60 * 60 * 24 * num);
}
// **********************************************************************************
function setCookieWithExpiry( name, value, expiry ) {
	var days = 0;

	if( expiry==-1 ) {
		// default
		days = 1000 * 60 * 60 * 24 * 7;
	} else {
		if( expiry>0 ) {
			days = (((1000 * 60) * 60) * 24) * expiry;
		}
	}
	writeCookie( name, value, days );
}
// **********************************************************************************
function deleteCookie( name ) {  
	var exp = new Date();  
	var cval = getCookie (name);  

	exp.setTime (exp.getTime() - 1);  
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
// **********************************************************************************
