function PageQuery(q) {
	if (q.length > 1) {
		this.q = q.substring(1, q.length);
	} else {
		this.q = null;
	}
	this.keyValuePairs = new Array();
	if (q) {
		for (var i=0; i < this.q.split("&").length; i++) {
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	this.getValue = function(s) {
		for (var j=0; j < this.keyValuePairs.length; j++) {
			if (this.keyValuePairs[j].split("=")[0] == s) {
				return this.keyValuePairs[j].split("=")[1];
			}
		}
		return false;
	}
	this.getParameters = function() {
		var a = new Array(this.getLength());
		for (var j=0; j < this.keyValuePairs.length; j++) {
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}
	this.getLength = function() { return this.keyValuePairs.length; }
}

function queryString(key) {
	var page = new PageQuery(window.location.search);
	return unescape(page.getValue(key));
}

var cookieDomain = self.location.hostname;
if (cookieDomain.indexOf(".") < cookieDomain.lastIndexOf(".")) {
	var domainOffset = cookieDomain.indexOf(".") + 1;
	cookieDomain = cookieDomain.substr(domainOffset);
}

var expDays = 90;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
var refdate = new Date();

if (queryString('ref') == 'false') {
	if (document.referrer.indexOf(cookieDomain) == -1 && document.referrer != "" && document.cookie.indexOf("referrer=") == -1) {
		document.cookie = "referrer=" + escape(document.referrer + "&&&" + refdate.toGMTString()) + "; expires=" + exp.toGMTString() + "; path=/" + "; domain=" + cookieDomain;
	}
} else {
	document.cookie = "referrer=" + escape(queryString('ref') + "&&&" + refdate.toGMTString()) + "; expires=" + exp.toGMTString() + "; path=/" + "; domain=" + cookieDomain;
}

var allCookies = document.cookie;
var cookiePos = allCookies.indexOf("referrer=");

if (cookiePos != -1) {
	var cdstart = cookiePos + 9;
	var cdend = allCookies.indexOf(";", cdstart);
	if(cdend == -1) cdend = allCookies.length;
	var cookieContent = allCookies.substring(cdstart, cdend);
	cookieContent = unescape(cookieContent);
	var cdatestart = cookieContent.indexOf("&&&", 0);
	var cdateend = cookieContent.length;
	var cookieReferrer = cookieContent.substring(0, cdatestart);
	var cookieDate = cookieContent.substring(cdatestart +2, cdateend)
} else {
	var cookieReferrer = "";
	var cookieDate = "";
}