// global trackingSwitch config
// webtrekk.trackingSwitchMode = "weight"; // first, last, weight

webtrekk.trackingSwitch = new Array();

// config - zanox
webtrekk.trackingSwitch[0] = new Object();
webtrekk.trackingSwitch[0].mediaCode = "wt_mc"; // MediaCode to detect this partner
webtrekk.trackingSwitch[0].mediaCodeValue = "REGEXP:.*(de|ch).extern.affi.zanox.*"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[0].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[0].weight = "8"; // default weight
webtrekk.trackingSwitch[0].pixelName = "zanoxPixel"; // name of Pixel-URL for this partner

// config - affilinet
webtrekk.trackingSwitch[1] = new Object();
webtrekk.trackingSwitch[1].mediaCode = "wt_mc"; // MediaCode to detect this/ partner
webtrekk.trackingSwitch[1].mediaCodeValue = "REGEXP:.*affilinet.*"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[1].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[1].weight = "8"; // default weight
webtrekk.trackingSwitch[1].pixelName = "affilinetPixel"; // name of Pixel-URL for this partner

// config - adscale
webtrekk.trackingSwitch[2] = new Object();
webtrekk.trackingSwitch[2].mediaCode = "wt_mc"; // MediaCode to detect this partner
webtrekk.trackingSwitch[2].mediaCodeValue = "REGEXP:.*adscale.*"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[2].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[2].weight = "8"; // default weight
webtrekk.trackingSwitch[2].pixelName = "adscalePixel"; // name of Pixel-URL for this partner

//config - advira
webtrekk.trackingSwitch[3] = new Object();
webtrekk.trackingSwitch[3].mediaCode = "wt_mc"; // MediaCode to detect this partner
webtrekk.trackingSwitch[3].mediaCodeValue = "REGEXP:.*gb.extern.projekt.akoya6215.*"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[3].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[3].weight = "8"; // default weight
webtrekk.trackingSwitch[3].pixelName = "advivaPixel"; // name of Pixel-URL for this partner

//config - beezup
webtrekk.trackingSwitch[4] = new Object();
webtrekk.trackingSwitch[4].mediaCode = "wt_mc"; // MediaCode to detect this partner
webtrekk.trackingSwitch[4].mediaCodeValue = "REGEXP:.*beezup.*"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[4].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[4].weight = "8"; // default weight
webtrekk.trackingSwitch[4].pixelName = "beezupPixel"; // name of Pixel-URL for this partner

//config - omg
webtrekk.trackingSwitch[5] = new Object();
webtrekk.trackingSwitch[5].mediaCode = "wt_mc"; // MediaCode to detect this partner
webtrekk.trackingSwitch[5].mediaCodeValue = "REGEXP:.*pp_omg.*"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[5].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[5].weight = "8"; // default weight
webtrekk.trackingSwitch[5].pixelName = "omgPixel"; // name of Pixel-URL for this partner

//config - intelliAd 
webtrekk.trackingSwitch[6] = new Object();
webtrekk.trackingSwitch[6].mediaCode = "seaicp"; // MediaCode to detect this partner
webtrekk.trackingSwitch[6].mediaCodeValue = "1"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[6].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[6].weight = "8"; // default weight
webtrekk.trackingSwitch[6].pixelName = "intelliAdPixel"; // name of Pixel-URL for this partner

//config - eprof
webtrekk.trackingSwitch[7] = new Object();
webtrekk.trackingSwitch[7].mediaCode = "wt_mc"; // MediaCode to detect this partner
webtrekk.trackingSwitch[7].mediaCodeValue = "REGEXP:.*eprof.*"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[7].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[7].weight = "8"; // default weight
webtrekk.trackingSwitch[7].pixelName = "eprofPixel"; // name of Pixel-URL for this partner

//config - tradedoubler
webtrekk.trackingSwitch[8] = new Object();
webtrekk.trackingSwitch[8].mediaCode = "wt_mc"; // MediaCode to detect this partner
webtrekk.trackingSwitch[8].mediaCodeValue = "REGEXP:.*at.extern.affi.tradedoubler.*"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[8].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[8].weight = "8"; // default weight
webtrekk.trackingSwitch[8].pixelName = "tradedoublerPixel"; // name of Pixel-URL for this partner

//config - zanox
webtrekk.trackingSwitch[9] = new Object();
webtrekk.trackingSwitch[9].mediaCode = "wt_mc"; // MediaCode to detect this partner
webtrekk.trackingSwitch[9].mediaCodeValue = "REGEXP:.*at.extern.affi.zanox.*"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[9].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[9].weight = "8"; // default weight
webtrekk.trackingSwitch[9].pixelName = "zanoxATPixel"; // name of Pixel-URL for this partner

//config - nonstop
webtrekk.trackingSwitch[10] = new Object();
webtrekk.trackingSwitch[10].mediaCode = "wt_mc"; // MediaCode to detect this partner
webtrekk.trackingSwitch[10].mediaCodeValue = "REGEXP:.*nonstop.*"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[10].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[10].weight = "8"; // default weight
webtrekk.trackingSwitch[10].pixelName = "nonstopPixel"; // name of Pixel-URL for this partner

//config - omg + Zanox
webtrekk.trackingSwitch[11] = new Object();
webtrekk.trackingSwitch[11].mediaCode = "wt_mc"; // MediaCode to detect this partner
webtrekk.trackingSwitch[11].mediaCodeValue = "REGEXP:.*de.extern.affi.zanox.pp_omg.*"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[11].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[11].weight = "8"; // default weight
webtrekk.trackingSwitch[11].pixelName = "omgzanoxPixel"; // name of Pixel-URL for this partner

//config - omg + Affilinet
webtrekk.trackingSwitch[12] = new Object();
webtrekk.trackingSwitch[12].mediaCode = "wt_mc"; // MediaCode to detect this partner
webtrekk.trackingSwitch[12].mediaCodeValue = "REGEXP:.*de.extern.affi.affilinet.pp_omg.*"; // MediaCode Value to detect this partner
webtrekk.trackingSwitch[12].lifeTime = "20"; // default lifeTime in days
webtrekk.trackingSwitch[12].weight = "8"; // default weight
webtrekk.trackingSwitch[12].pixelName = "omgaffilinetPixel"; // name of Pixel-URL for this partner

function wt_setTrackingSwitch() {
	for (i = 0; i < webtrekk.trackingSwitch.length; i++) {
		var mcVal = false;
		var mediaCode = webtrekk.trackingSwitch[i].mediaCode;
		if (mediaCode.toUpperCase().indexOf("REGEXP:") == 0) {
			var mc = new RegExp(mediaCode.substring(7), "i");
			if (mc.test(wt_location())) {
				mediaCode = mc.exec(wt_location())[0];
				mcVal = wt_urlParam(wt_location().href,
						mc.exec(wt_location())[0], false);
			}
		} else {
			mcVal = wt_urlParam(wt_location().href, mediaCode, false)
		}
		;
		if (mcVal) {
			if (webtrekk.trackingSwitch[i].mediaCodeValue
					&& webtrekk.trackingSwitch[i].mediaCodeValue != "") {
				if (webtrekk.trackingSwitch[i].mediaCodeValue.toUpperCase()
						.indexOf("REGEXP:") == 0) {
					var mcv = new RegExp(
							webtrekk.trackingSwitch[i].mediaCodeValue
									.substring(7), "i");
					if (!mcv.test(mcVal)
							|| (mcv.test(mcVal) && mcv.exec(mcVal)[0] != mcVal)) {
						continue;
					}
				} else {
					if (mcVal != webtrekk.trackingSwitch[i].mediaCodeValue) {
						continue;
					}
				}
			}
			;
			var lifeTime = webtrekk.trackingSwitch[i].lifeTime;
			var weight = webtrekk.trackingSwitch[i].weight;
			var pixelName = webtrekk.trackingSwitch[i].pixelName;
			var wt_cw = wt_urlParam(wt_location().href, "wt_cw", false);
			if (wt_cw) {
				wt_cw = wt_cw.split(".");
				if ((parseInt(wt_cw[0]) + parseInt(wt_cw[1]) + parseInt(wt_cw[2])) % 10 == 0) {
					lifeTime = wt_cw[0];
					weight = wt_cw[1];
				}
			}
			;
			var interval = 86400;
			var tStamp = Math.round(new Date().getTime() / 1000);
			var tsCookie = wt_getCookie("wt_trackingSwitch").split(";");
			tsCookie = wt_checkTrackingLifeTime(tsCookie);
			if (tsCookie.length == 0 || tsCookie[0] == "") {
				wt_setCookie("wt_trackingSwitch", i + "|" + lifeTime + "|"
						+ weight + "|" + pixelName + "|" + mediaCode + "|"
						+ mcVal + "|" + tStamp, 60 * 30 * 24 * 60);
			} else {
				var tsCookieValue = tsCookie[tsCookie.length - 1].split("|");
				if (tsCookieValue[0] == i
						&& tsCookieValue[1] == lifeTime
						&& tsCookieValue[2] == weight
						&& tsCookieValue[3] == pixelName
						&& tsCookieValue[4] == mediaCode
						&& tsCookieValue[5] == mcVal
						&& Math.round(tsCookieValue[6] / interval) == Math
								.round(tStamp / interval)) {
					z = false;
				}
				if (z) {
					tsCookie.push(i + "|" + lifeTime + "|" + weight + "|"
							+ pixelName + "|" + mediaCode + "|" + mcVal + "|"
							+ tStamp);
					wt_setCookie("wt_trackingSwitch", tsCookie.join(";"),
							60 * 30 * 24 * 60);
				}
			}
		}
	}
};
function wt_getTrackingSwitch() {
	var tsCookie = wt_getCookie("wt_trackingSwitch").split(";");
	var cookieValues = new Array();
	tsCookie = wt_checkTrackingLifeTime(tsCookie);
	if (tsCookie[0] == "") {
		return;
	}
	;
	if (typeof (webtrekk.trackingSwitchMode) == "undefined") {
		webtrekk.trackingSwitchMode = "last";
	}
	;
	for (z = 0; z < tsCookie.length; z++) {
		var tsCookieValue = tsCookie[z].split("|");
		var cookieValue = new Object();
		cookieValue.id = tsCookieValue[0];
		cookieValue.lifeTime = tsCookieValue[1];
		cookieValue.weight = tsCookieValue[2];
		cookieValue.pixelName = tsCookieValue[3];
		cookieValue.mediaCode = tsCookieValue[4];
		cookieValue.mcVal = tsCookieValue[5];
		cookieValue.timestamp = tsCookieValue[6];
		cookieValues.push(cookieValue);
	}
	;
	switch (webtrekk.trackingSwitchMode) {
	case "first":
		wt_getTsFirst(cookieValues);
		break;
	case "last":
		wt_getTsLast(cookieValues);
		break;
	case "weight":
		wt_getTsWeight(cookieValues);
		break;
	}
};
function wt_checkTrackingLifeTime(tsCookie) {
	var del = false;
	var tStamp = Math.round(new Date().getTime() / 1000);
	for (z = 0; z < tsCookie.length; z++) {
		var tsCookieValue = tsCookie[z].split("|");
		if (tStamp > (parseInt(tsCookieValue[6]) + parseInt((tsCookieValue[1]) * 86400))) {
			tsCookie.splice(z, 1);
			del = true;
		}
	}
	;
	if (del) {
		wt_setCookie("wt_trackingSwitch", tsCookie.join(";"), 60 * 30 * 24 * 60);
	}
	;
	return tsCookie;
};
function wt_getTsFirst(cookieValues) {
	cookieValues.sort(function Numsort(a, b) {
		return a.timestamp - b.timestamp;
	});
	webtrekk.trackingSwitchMediaCode = cookieValues[0].mediaCode;
	webtrekk.trackingSwitchMediaCodeValue = cookieValues[0].mcVal;
	var trackingPixel = eval(cookieValues[0].pixelName);
	for (i in trackingPixel) {
		wt_sendTrackingPixel(trackingPixel[i]);
	}
	;
};
function wt_getTsLast(cookieValues) {
	cookieValues.sort(function Numsort(a, b) {
		return b.timestamp - a.timestamp;
	});
	webtrekk.trackingSwitchMediaCode = cookieValues[0].mediaCode;
	webtrekk.trackingSwitchMediaCodeValue = cookieValues[0].mcVal;
	var trackingPixel = eval(cookieValues[0].pixelName);
	for (i in trackingPixel) {
		wt_sendTrackingPixel(trackingPixel[i]);
	}
	;
};
function wt_getTsWeight(cookieValues) {
	cookieValues.sort(function Numsort(a, b) {
		return b.timestamp - a.timestamp;
	});
	cookieValues.sort(function Numsort(a, b) {
		return b.weight - a.weight;
	});
	webtrekk.trackingSwitchMediaCode = cookieValues[0].mediaCode;
	webtrekk.trackingSwitchMediaCodeValue = cookieValues[0].mcVal;
	var trackingPixel = eval(cookieValues[0].pixelName);
	for (i in trackingPixel) {
		wt_sendTrackingPixel(trackingPixel[i]);
	}
	;
};
function wt_sendTrackingPixel(url) {
	if (document.images) {
		if (!wt_typeof(wt_i)) {
			var wt_i = new Array();
		}
		;
		var ii = wt_i.length;
		wt_i[ii] = new Image();
		wt_i[ii].src = url;
		wt_i[ii].onload = function() {
		};
	} else {
		document.write("<img src='" + url + "' height='1' width='1'>");
	}
}

