var REF = document.referrer;
var LAND = location.href;

//date when cookie was last written/udpated
var expires = new Date(); 
expires.setTime(expires.getTime() + (90*24*60*60*1000));
var REFD = new Date();

//identify domain
var domain = location.hostname;
if(domain.indexOf(".") < domain.lastIndexOf(".")) {
  domain = domain.substr(domain.indexOf(".")+1);
}

//read cookie if available
if(document.cookie.indexOf("REF=") == -1) {

	//write cookie	if there is none
	document.cookie = "REF=" + escape(REF) + ":REFD=" + escape(REFD.toGMTString()) + ":SRC=" + escape(LAND) + "; expires=" + expires.toGMTString() + "; path=/" + "; domain=" + domain;

} else {

	var domainRE = new RegExp(domain + "|atomz|elinuxservers|herwebhost|hmdnsgroup|hostgator|jump-server|linuxserver27|nocdirect|nshoster|securedata|site5|ssllocked|vosn|webserversystems", "gi");

	var cREF = unescape(document.cookie.replace(/.*REF=([^:]*).*/g, "$1"));
	var cLAND = unescape(document.cookie.replace(/.*SRC=([^;]*).*/g, "$1"));
	cREF = cREF.replace(/:REFAD.*/,""); //legacy cleanup

	//write new data
	if(!domainRE.test(REF) && (/\?(as|aw|as&gclid.*|aw&gclid.*|az|biz|be|dt|ls|msn|my|nt|ov|pg|pr|ps|pt|pw|sd|sm|y)(&zmam=2134960&zmas=1&zmac=[0-9]+&zmap=.*?)?$/.test(LAND) || ((cREF == "") &! /\?(as|aw|as&gclid.*|aw&gclid.*|az|biz|be|dt|ls|msn|my|nt|ov|pg|pr|ps|pt|pw|sd|sm|y)(&zmam=2134960&zmas=1&zmac=[0-9]+&zmap=.*?)?$/.test(cLAND)))) {
		document.cookie = "REF=" + escape(REF) + ":REFD=" + escape(REFD.toGMTString()) + ":SRC=" + escape(LAND) + "; expires=" + expires.toGMTString() + "; path=/" + "; domain=" + domain;
	}

}

var REMOTE_HOST = "(none)";