function getCookieVal (offset) {  
    var	endstr = document.cookie.indexOf (";", offset);	

	if (endstr == -1)	 
		endstr = document.cookie.length;  
	return unescape(document.cookie.substring(offset, endstr));
}

function getCookieByName (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 setCookieByName (name, value) {
    var	argv = setCookieByName.arguments;	 
    var	argc = setCookieByName.arguments.length;	
    var	expires	= (argc	> 2) ? argv[2] : null;	

	document.cookie	= name + "=" + escape (value) +	
	((expires == null) ? ""	: ("; expires="	+ expires.toGMTString())) +
	"; path=/";
}

function deleteCookieByName (name) {	
    var	expNow	= new Date();  
	expNow.setTime	(exp.getDate() - 7);
	document.cookie	= name + "= null; expires=" + expNow.toGMTString() + "; path=/";
}

//90 day expiration
var expDays = 90;
var exp = new Date(); 
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function acceptCookies(withAlert){
	setCookieByName(cookieOptionParams[0], 'accept', exp);
	if (withAlert) alert(cookieOptionParams[1]);
}

function declineCookies(){
    var resp = confirm(cookieOptionParams[2]);

	if (resp){
	    var cookieArr = new Array();
	    var j = 0;
	    while (j < document.cookie.length) {
		    var k = document.cookie.indexOf('=', j);
		    var i =	document.cookie.indexOf(';', j);
		    if (i > -1 && i < k)
		        k = i;
		    cookieArr[cookieArr.length] = document.cookie.substring(j, k);
		    j = document.cookie.indexOf(' ', k);
		    if (j < 0)
		        break;
		    else
		        j++;
	    }
	    for (var i=0; i <cookieArr.length; i++)
		    deleteCookieByName(cookieArr[i]);
		setCookieByName(cookieOptionParams[0], 'decline', exp);		
	}
}	
