// SiteSensors main class
function SS() {
this.tpc = '767a96cb78e65e2dfb359536134bd246';
this.fpc_name = 'SS_FPC';
this.sid_name = 'SS_SID';
this.fpc = this.readCookie(this.fpc_name);
this.sid = this.readCookie(this.sid_name);
if (this.sid == null) {
var ts = new Date();
this.sid = ts.getTime();
}
}
SS.prototype.cookieDomain = function() {
var parts = document.domain.split(".");
var domain = "";
if (parts.length >= 2) {
var last = parts.length-1;
domain = "." + parts[last-1] + "." + parts[last];
}
return domain;
}
SS.prototype.createCookie = function(name, value, milliseconds) {
if (milliseconds) {
var date = new Date();
date.setTime(date.getTime()+(milliseconds));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/; domain="+this.cookieDomain();
}
SS.prototype.readCookie = function(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
SS.prototype.Run = function(collector) {
ts = new Date();
if (!this.tpc && this.fpc) {
this.tpc = this.fpc;
}
if (!this.fpc && this.tpc) {
this.fpc = this.tpc;
}
if (!this.tpc && !this.fpc) {
this.fpc = ts.getTime();
this.tpc = this.fpc;
}
if (this.tpc != this.fpc) {
this.tpc = this.fpc;
}
url = 'http://collector.sitesensor.ch/ssc.php?';
url += '_ssCl='+escape(collector);
url += '&_ssTs='+ts.getTime();
url += '&_ssSid='+this.sid;
url += '&_ssFp='+this.fpc;
url += '&_ssTp='+this.tpc;
url += '&_ssUrl='+escape(document.location.href);
url += '&_ssRef='+escape(document.referrer);
document.ssimg.src = url;
this.createCookie(this.fpc_name, this.fpc, 315360000000);
this.createCookie(this.sid_name, this.sid, 1800000);
}
SS.prototype.PrintDebug = function() {
document.write("
");
document.write("SiteSensor debug information
");
ssimgurl = document.ssimg.src;
document.write("URL: "+ssimgurl+"
");
document.write("URL length:"+ssimgurl.length+"
");
document.write("Query params:
");
document.write(decodeURI(ssimgurl.substring(ssimgurl.indexOf("?")+1).replace(new RegExp("\&", "g"), "
"))+"
");
document.write("document.cookie: "+document.cookie+"
");
}
SiteSensor = new SS();