/**
 *	History:	1.0.0	Tom Polchowski	January 1, 2009
*/

function Cookie(){
}

Cookie.setCookie = 
function setCookie(cookieName, cookieValue, expireDays){
	if(expireDays != null){
		var exdate=new Date();
		exdate.setDate(exdate.getDate()+expireDays);
	}

	document.cookie=cookieName + "=" + escape(cookieValue) + ";path=/" + ((expireDays==null) ? "" : ";expires="+exdate.toGMTString());
}

Cookie.getCookie = 
function getCookie(cookieName){
	if (document.cookie.length > 0){
		c_start=document.cookie.indexOf(cookieName + "=");
		if (c_start!=-1){
			c_start=c_start + cookieName.length+1;
			c_end=document.cookie.indexOf(";",c_start);

			if (c_end==-1){
				c_end=document.cookie.length;
			}
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return null;
}

Cookie.addCookieList =
function addCookieList(cookieName, value, repeat, expireDays){
	var cookie = Cookie.getCookie(cookieName);
	if(cookie == null) cookie = "";
	
	if(value == undefined || value == null || value == '') return;
	
	if(!repeat && Cookie.inCookieList(cookieName, value, cookie)) return;
	
	var newCookie = value;
	if(cookie != ''){
		newCookie = newCookie + ',' + cookie;
	}

	Cookie.setCookie(cookieName, newCookie, expireDays);
}

Cookie.removeCookieList = 
function removeCookieList(cookieName, value, expireDays){
	var cookie = Cookie.getCookie(cookieName);
	if(cookie == null) cookie = "";
	
	var newCookie = '';
	var valueArray = cookie.split(',');
	for(var i = 0; i < valueArray.length; i++){
		var thisValue = valueArray[i];
		if(thisValue != '' && thisValue != value){
			if(newCookie != '') newCookie = newCookie + ',';
			newCookie = newCookie + thisValue;
		}
	}
	
	Cookie.setCookie(cookieName, newCookie, expireDays);
}

Cookie.inCookieList = 
function inCookieList(cookieName, value, cachedCookie){
	var cookie = cachedCookie;
	if(cookie == null){
		cookie = Cookie.getCookie(cookieName);
		if(cookie == null) cookie = "";
	}
	
	var valueArray = cookie.split(',');
	for(var i = 0; i < valueArray.length; i++){
		var thisValue = valueArray[i];
		if(thisValue == value) return true;
	}
	
	return false;
}

Cookie.getCookieList = 
function getCookieList(cookieName, cachedCookie){
	var cookie = cachedCookie;
	if(cookie == null){
		cookie = Cookie.getCookie(cookieName);
		if(cookie == null) cookie = "";
	}
	
	var valueArray = cookie.split(',');
	
	return valueArray;
}

Cookie.isCookieListEmpty = 
function isCookieListEmpty(cookieName, cachedCookie){
	var cookie = cachedCookie;
	if(cookie == null){
		cookie = Cookie.getCookie(cookieName);
		if(cookie == null) cookie = "";
	}
		
	if(cookie == null) return true;
	
	cookie = cookie.replace(/^\s+|\s+$/, '');
	
	if(cookie.length == 0) return true;
	
	return false;
}

