function setOrUpdateAffiliateCookie() {
	queryStr = document.location.search;
	params = queryStr.split("=");
	for (i=0; i<params.length; i++) {
		if (params[i] != null 
			&& params[i].indexOf("ES") >= 0 
			&& i+1 < params.length 
			&& params[i+1] != null 
			&& params[i+1].indexOf("AFL") >= 0
			&& params[i+1].length >= 8)
		{
			value = params[i+1];
			value = value.split("AFL")[1];
			value = value.split("_")[0];
			value = value.split("-")[0];
			value = value.split("%")[0];
			value = value.split("+")[0];
			value = value.split("&")[0];

			cookieName = "ES";
			cookieValue = "AFL"+value;
			cookie = getCookie(cookieName);

			// if no cookie
			if (cookie == 0) {
				setCookie(cookieName, cookieValue);
			// if same affiliate cookie, update expiry date
			} else if (cookie.split("=")[1] == cookieValue) {
				setCookie(cookieName, cookieValue);
			// if some invalid cookie, update with new one
			} else if (cookie.indexOf("AFL") != 0 || cookie.length < 8) {
				setCookie(cookieName, cookieValue);
			}
		}
	}
}

function getCookie(cookieName) {
	thisCookie = document.cookie.split("; ");
	for (i=0; i<thisCookie.length; i++) {
		if (cookieName == thisCookie[i].split("=")[0]) {
			return thisCookie[i];
		}
	}
	return 0;
}

function setCookie(cookieName, cookieValue) {
	expireDate = new Date;
	expireDate.setMonth(expireDate.getMonth()+1);
//	document.cookie = cookieName + "=" + cookieValue + ";expires=" + expireDate.toGMTString();
	document.cookie = cookieName + "=" + cookieValue + ";expires=" + expireDate.toGMTString() + ";path=/";
}


setOrUpdateAffiliateCookie();