// Die Trackingweiche der Webtrekk GmbH erlaubt die Aussteuerung von Partnerpixeln auf Grundlage 
// der Kampagnenhistorie eines Benutzers. Für den produktiven Einsatz der Trackinwgeiche muss 
// die Trackingweiche zunächst konfiguriert werden, dazu muss zum einen der Regelmechanismus 
// festgelegt werden (First, Last, Weight), anschließend müssen die Werte und
// Jeder Partner mit einem eigenen Pixel muss konfiguriert werden


// global trackingSwitch config

webtrekk.trackingSwitchMode = "last"; // first, last, weight


webtrekk.trackingSwitch = new Object();

// config - zanox
webtrekk.trackingSwitch[0] = new Object();
webtrekk.trackingSwitch[0].mediaCode = "mc";
webtrekk.trackingSwitch[0].mediaCodeValue = "REGEXP:zanox";
webtrekk.trackingSwitch[0].lifeTime = "30"; // lifeTime in days
webtrekk.trackingSwitch[0].weight = "8"; // 1 -lowest, 10 highest - only when option "weight" is chosen
webtrekk.trackingSwitch[0].pixelName = "zanoxPixel";

// config - affilinet
webtrekk.trackingSwitch[1] = new Object();
webtrekk.trackingSwitch[1].mediaCode = "REGEXP:affilinet[0-9]";
webtrekk.trackingSwitch[1].mediaCodeValue = "REGEXP:affilinet";
webtrekk.trackingSwitch[1].lifeTime = "30"; // lifeTime in days
webtrekk.trackingSwitch[1].weight = "9"; // 1 -lowest, 10 highest - only when option "weight" is chosen
webtrekk.trackingSwitch[1].pixelName = "affilinetPixel";

// Der Code für die Pixel wird jeweils in ein eigenes Array geschrieben:

var zanoxPixel = new Array();
zanoxPixel[0] = 'Zanoxpixelcode';

var affilinetPixel = new Array();
affilinetPixel[0] = 'Affili.net Pixelcode';



function wt_setTrackingSwitch(){for(i in webtrekk.trackingSwitch){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);document.write("Schreibe neues Cookie mit der Partner-ID "+i+"<br>");}else{for(z=0;z<tsCookie.length;z++){var tsCookieValue=tsCookie[z].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)){document.write("Cookie Eintrag mit der Partner ID "+i+" existiert bereits<br>");z=false;break;}};if(z){tsCookie.push(i+"|"+lifeTime+"|"+weight+"|"+pixelName+"|"+mediaCode+"|"+mcVal+"|"+tStamp);wt_setCookie("wt_trackingSwitch",tsCookie.join(";"),60*30*24*60);document.write("Erweitere das Cookie um den Eintrag mit der Partner ID "+i+"<br>");}}}}};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";};document.write("Aktueller Modus: "+webtrekk.trackingSwitchMode+"<br>");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))){document.write("Lösche Eintrag mit Partner ID "+i+"<br>");tsCookie.splice(z,1);del=true;}};if(del){document.write("Es wurden Cookie Einträge gelöscht => Cookie wird neu geschrieben<br>");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]);};document.write("Sende Pixel "+cookieValues[0].pixelName);};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]);};document.write("Sende Pixel "+cookieValues[0].pixelName);};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]);};document.write("Sende Pixel "+cookieValues[0].pixelName);};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'>");}}


