/*
 * Name: simtracker
 * Version: 2.7.1 DACH
 * Authors: ProSiebenSat.1 Digital GmbH
 * Time: 01/07/2012 at 11:19AM
*/



var _gaq = _gaq || [];



/**
 * beforeWebtrekk is a Demo function to test interfaces
 * @type Function
 */
var beforeWebtrekk = function(){
	console.log("Send 3rd-Party Pixel before the Webtrekk Pixel with trackId "+this.trackId);
};
/**
 * afterWebtrekk is a Demo function to test interfaces
 * @type Function
 */
var afterWebtrekk = function(){
	console.log("Send 3rd-Party Pixel after the Webtrekk Pixel with trackId "+this.trackId);
};
/**
 * beforeUnloadPixel is a Demo function to test interfaces
 * @type Function
 */
var beforeUnloadPixel = function(){
	console.log("Perform something prior to sending Unload Pixel");
};
/**
 * afterUnload is a Demo function to test interfaces
 * @type Function
 */
var afterUnloadPixel = function(){
	console.log("Perform something after sending Unload Pixel");
};


/**
 * webtrekkConfig
 *
 * global webtrekk config
 * @type Object
 */
var webtrekkConfig = {
	trackId : "111111111111111",
	trackDomain : "q3.webtrekk.net",
	domain : "www.domain.de",
	cookie : "1",
	contentId : ""
};
if (typeof(webtrekk) == "undefined") {
	webtrekk = {};
}

/*
 ********************* Don't change anything beyond this line ********************
 */
var webtrekkUnloadObjects=[];var webtrekkLinktrackObjects=[];var webtrekkHeatmapObjects=[];function webtrekkUnload($a){for(i=0;i<webtrekkUnloadObjects.length;i++){if(webtrekkUnloadObjects[i].cookie=="1"&&!webtrekkUnloadObjects[i].optOut&&!webtrekkUnloadObjects[i].deactivatePixel){webtrekkUnloadObjects[i].firstParty();};if(webtrekkUnloadObjects[i].beforeUnloadPixel!=false){webtrekkUnloadObjects[i].beforeUnloadPixel();};var p="";if(webtrekkUnloadObjects[i].config.linkId){p+="&ct="+webtrekkUnloadObjects[i].wtEscape(webtrekkUnloadObjects[i].maxlen(webtrekkUnloadObjects[i].config.linkId,255));if(p){if(webtrekkUnloadObjects[i].linktrackOut){p+="&ctx=1";};var $b=webtrekkUnloadObjects[i].ccParams;if(typeof($b)=='string'&&$b!=''){p+=$b;}}};if(webtrekkUnloadObjects[i].wtEp){if(webtrekkUnloadObjects[i].wtEpEncoded){p+=webtrekkUnloadObjects[i].wtEp;}else{var $c=webtrekkUnloadObjects[i].wtEp;if(typeof($c)=='string'&&$c!=''){$c=$c.split(/;/);for(var z=0;z<$c.length;z++){if(webtrekkUnloadObjects[i].wtTypeof($c[z])){var $d=$c[z].split(/=/);if(webtrekkUnloadObjects[i].checkSC('custom')){$d[1]=webtrekkUnloadObjects[i].decrypt($d[1]);};$d[1]=webtrekkUnloadObjects[i].wtEscape($d[1]);p+='&'+$d[0]+'='+$d[1];}}}}};if(webtrekkUnloadObjects[i].formObject&&$a!="noForm"){var gatherFormsP=webtrekkUnloadObjects[i].gatherForm();if(gatherFormsP){p+="&fn="+(webtrekkUnloadObjects[i].formName?webtrekkUnloadObjects[i].formName:webtrekkUnloadObjects[i].contentId.split(";")[0])+'|'+(webtrekkUnloadObjects[i].formSubmit?"1":"0");p+="&ft="+webtrekkUnloadObjects[i].wtEscape(gatherFormsP);}};if(p!=""||webtrekkUnloadObjects[i].config.sendOnUnload){if(webtrekkUnloadObjects[i].isChrome){webtrekkUnloadObjects[i].quicksend(webtrekkUnloadObjects[i].wtEscape(webtrekkUnloadObjects[i].contentId.split(";")[0])+",1,"+webtrekkUnloadObjects[i].baseparams(),p,false,"saveRequest");}else{webtrekkUnloadObjects[i].quicksend(webtrekkUnloadObjects[i].wtEscape(webtrekkUnloadObjects[i].contentId.split(";")[0])+",1,"+webtrekkUnloadObjects[i].baseparams(),p,false,"sendRequest");};webtrekkUnloadObjects[i].config.linkId="";webtrekkUnloadObjects[i].ccParams="";webtrekkUnloadObjects[i].wtEp="";};if(webtrekkUnloadObjects[i].afterUnloadPixel!=false){webtrekkUnloadObjects[i].afterUnloadPixel();}}};function webtrekkLinktrack(e){for(z=0;z<webtrekkLinktrackObjects.length;z++){if((e.which&&e.which==1)||(e.button&&e.button==1)){var a=document.all?window.event.srcElement:this;for(var i=0;i<4;i++){if(a.tagName&&a.tagName.toLowerCase()!="a"&&a.tagName.toLowerCase()!="area"){a=a.parentElement;}};a.lname=(a.getAttribute('name')?a.getAttribute('name'):"");webtrekkLinktrackObjects[z].getCCParams(a);if(webtrekkLinktrackObjects[z].linkTrackAttribute){var tmp="";eval("tmp = (a.getAttribute(webtrekkLinktrackObjects[z].linkTrackAttribute)?a.getAttribute(webtrekkLinktrackObjects[z].linkTrackAttribute):'')");if(tmp){a.lname=tmp;}};a.lpos=0;if(!webtrekkLinktrackObjects[z].wtLength(a.lpos)&&a.tagName){c=document.links;for(d=0;d<webtrekkLinktrackObjects[z].wtLength(c);d++){if(a==c[d]){a.lpos=d+1;break;}}};if(a.lpos){if(webtrekkLinktrackObjects[z].linkTrack=="link"){var y=a.href.indexOf("//");y=(y>=0?a.href.substr(y+2):a.href);if(webtrekkLinktrackObjects[z].linkTrackPattern){if(!webtrekkLinktrackObjects[z].linkTrackReplace){webtrekkLinktrackObjects[z].linkTrackReplace="";};y=y.replace(webtrekkLinktrackObjects[z].linkTrackPattern,webtrekkLinktrackObjects[z].linkTrackReplace);};webtrekkLinktrackObjects[z].config.linkId=(a.lname?(a.lname+"."):"")+y.split("?")[0].replace(/\//g,".");var p="";if(webtrekkLinktrackObjects[z].linkTrackParams){p=webtrekkLinktrackObjects[z].linkTrackParams.replace(/;/g,",").split(",");};for(var i=0;i<p.length;i++){var v=webtrekkLinktrackObjects[z].urlParam(y,p[i],"");if(v){webtrekkLinktrackObjects[z].config.linkId+="."+p[i]+"."+v;}}}else if(webtrekkLinktrackObjects[z].linkTrack=="standard"&&a.lname){webtrekkLinktrackObjects[z].config.linkId=a.lname;};webtrekkLinktrackObjects[z].isDownloadFile=false;if(webtrekkLinktrackObjects[z].linkTrackDownloads){var $e=a.href.split(".");$e=$e.pop();var $f=webtrekkLinktrackObjects[z].linkTrackDownloads.split(";");for(i=0;i<$f.length;i++){if($f[i]==$e){webtrekkLinktrackObjects[z].isDownloadFile=true;break;}}};if(webtrekkLinktrackObjects[z].config.linkId){if(webtrekkLinktrackObjects[z].domain&&!webtrekkLinktrackObjects[z].isOwnDomain(a.href)){webtrekkLinktrackObjects[z].linktrackOut=true;}};if(webtrekkLinktrackObjects[z].isSafari||webtrekkLinktrackObjects[z].isOpera||webtrekkLinktrackObjects[z].isChrome||webtrekkLinktrackObjects[z].isDownloadFile||(webtrekkLinktrackObjects[z].linktrack_p&&a.target!=""&&a.target!="_self")){webtrekkLinktrackObjects[z].sendinfo(webtrekkLinktrackObjects[z].config);}}}}};function webtrekkHeatmapClick(e){var isOpera=(navigator.userAgent.indexOf('Opera')!=-1);var isIE=(!isOpera&&navigator.userAgent.indexOf('MSIE')!=-1);for(z=0;z<webtrekkHeatmapObjects.length;z++){var $g={left:-1,top:-1};if(document.getElementById(webtrekkHeatmapObjects[z].heatmapRefpoint)){var $h=document.getElementById(webtrekkHeatmapObjects[z].heatmapRefpoint);if(webtrekkHeatmapObjects[z].wtTypeof($h.offsetLeft)){while($h){$g.left+=$h.offsetLeft;$g.top+=$h.offsetTop;$h=$h.offsetParent;}}};var $i=0;var $j=0;if(!e){var e=window.event;};if(e.pageX||e.pageY){$i=e.pageX;$j=e.pageY;}else{if(e.clientX||e.clientY){$i=e.clientX;$j=e.clientY;if(isIE){if(document.body.scrollLeft>0||document.body.scrollTop>0){$i+=document.body.scrollLeft;$j+=document.body.scrollTop;}else{if(document.documentElement.scrollLeft>0||document.documentElement.scrollTop>0){$i+=document.documentElement.scrollLeft;$j+=document.documentElement.scrollTop;}}}}};var $k=0;if(isIE){$k=document.body.clientWidth;}else{$k=self.innerWidth-16;};var $l=true;if($i>=$k||!webtrekkHeatmapObjects[z].sentFullPixel){$l=false;};if(($g.top>=0||$g.left>=0)&&$i>$g.left&&$j>$g.top){$i='-'+($i-$g.left);$j='-'+($j-$g.top);};if($l){webtrekkHeatmapObjects[z].quicksend(webtrekkHeatmapObjects[z].wtEscape(webtrekkHeatmapObjects[z].contentId.split(";")[0])+","+$i+","+$j,'',"hm","sendRequest");}}};function webtrekkStartHeatmap(){if(typeof(wt_heatmap)!="undefined"){window.setTimeout("wt_heatmap()",1000);}else{if(typeof($m)=="undefined")$m=0;$m++;if($m<60)window.setTimeout("webtrekkStartHeatmap()",1000);}};function webtrekkStartOverlay(){if(typeof(wt_overlay)!="undefined"){wt_overlay();}else{if(typeof($n)=="undefined")$n=0;$n++;if($n<60)window.setTimeout("webtrekkStartOverlay()",1000);}};function webtrekkFormTrackInstall(){for(i=0;i<webtrekkUnloadObjects.length;i++){webtrekkUnloadObjects[i].findForm();if(!webtrekkUnloadObjects[i].formObject){continue;};for(var j=0;j<webtrekkUnloadObjects[i].formObject.elements.length;j++){var e=webtrekkUnloadObjects[i].formObject.elements[j];webtrekkUnloadObjects[i].registerEvent(e,"focus",webtrekkFormFocus);};webtrekkUnloadObjects[i].registerEvent(webtrekkUnloadObjects[i].formObject,"submit",webtrekkFormSubmit);}};function webtrekkFormSubmit(e){for(i=0;i<webtrekkUnloadObjects.length;i++){if(!webtrekkUnloadObjects[i].form){continue;};if(e.target==webtrekkUnloadObjects[i].formObject||e.srcElement==webtrekkUnloadObjects[i].formObject){webtrekkUnloadObjects[i].formSubmit=true;}}};function webtrekkFormFocus(e){var a=document.all?window.event.srcElement:e.target;if(!a.name||a.type=="submit"||a.type=="image"){return;};for(i=0;i<webtrekkUnloadObjects.length;i++){var f=webtrekkUnloadObjects[i].formObject.getAttribute('name')?webtrekkUnloadObjects[i].formObject.getAttribute('name'):webtrekkUnloadObjects[i].contentId.split(";")[0];if(webtrekkUnloadObjects[i].formAttribute){var tmp="";eval("tmp = (webtrekkUnloadObjects["+i+"].formObject.getAttribute(webtrekkUnloadObjects["+i+"].formAttribute) ? webtrekkUnloadObjects["+i+"].formObject.getAttribute(webtrekkUnloadObjects["+i+"].formAttribute):'')");if(tmp){f=tmp;}};webtrekkUnloadObjects[i].formFocus=a.name;}};function webtrekkV3($o){if(!$o){var $o=webtrekkConfig;};this.trackId=($o.trackId)?$o.trackId:(webtrekkConfig.trackId)?webtrekkConfig.trackId:false;this.trackDomain=($o.trackDomain)?$o.trackDomain:(webtrekkConfig.trackDomain)?webtrekkConfig.trackDomain:false;this.domain=($o.domain)?$o.domain:(webtrekkConfig.domain)?webtrekkConfig.domain:false;this.linkTrack=($o.linkTrack)?$o.linkTrack:(webtrekkConfig.linkTrack)?webtrekkConfig.linkTrack:false;this.linkTrackAttribute=($o.linkTrackAttribute)?$o.linkTrackAttribute:(webtrekkConfig.linkTrackAttribute)?webtrekkConfig.linkTrackAttribute:false;this.linkTrackPattern=($o.linkTrackPattern)?$o.linkTrackPattern:(webtrekkConfig.linkTrackPattern)?webtrekkConfig.linkTrackPattern:false;this.linkTrackReplace=($o.linkTrackReplace)?$o.linkTrackReplace:(webtrekkConfig.linkTrackReplace)?webtrekkConfig.linkTrackReplace:false;this.linkTrackDownloads=($o.linkTrackDownloads)?$o.linkTrackDownloads:(webtrekkConfig.linkTrackDownloads)?webtrekkConfig.linkTrackDownloads:false;this.customParameter=($o.customParameter)?$o.customParameter:(webtrekkConfig.customParameter)?webtrekkConfig.customParameter:false;this.customClickParameter=($o.customClickParameter)?$o.customClickParameter:(webtrekkConfig.customClickParameter)?webtrekkConfig.customClickParameter:false;this.customSessionParameter=($o.customSessionParameter)?$o.customSessionParameter:(webtrekkConfig.customSessionParameter)?webtrekkConfig.customSessionParameter:false;this.customTimeParameter=($o.customTimeParameter)?$o.customTimeParameter:(webtrekkConfig.customTimeParameter)?webtrekkConfig.customTimeParameter:false;this.customCampaignParameter=($o.customCampaignParameter)?$o.customCampaignParameter:(webtrekkConfig.customCampaignParameter)?webtrekkConfig.customCampaignParameter:false;this.customEcommerceParameter=($o.customEcommerceParameter)?$o.customEcommerceParameter:(webtrekkConfig.customEcommerceParameter)?webtrekkConfig.customEcommerceParameter:false;this.orderValue=($o.orderValue)?$o.orderValue:(webtrekkConfig.orderValue)?webtrekkConfig.orderValue:false;this.orderCurrency=($o.orderCurrency)?$o.orderCurrency:(webtrekkConfig.orderCurrency)?webtrekkConfig.orderCurrency:false;this.orderId=($o.orderId)?$o.orderId:(webtrekkConfig.orderId)?webtrekkConfig.orderId:false;this.product=($o.product)?$o.product:(webtrekkConfig.product)?webtrekkConfig.product:false;this.productCost=($o.productCost)?$o.productCost:(webtrekkConfig.productCost)?webtrekkConfig.productCost:false;this.productQuantity=($o.productQuantity)?$o.productQuantity:(webtrekkConfig.productQuantity)?webtrekkConfig.productQuantity:false;this.productCategory=($o.productCategory)?$o.productCategory:(webtrekkConfig.productCategory)?webtrekkConfig.productCategory:false;this.productStatus=($o.productStatus)?$o.productStatus:(webtrekkConfig.productStatus)?webtrekkConfig.productStatus:false;this.customerId=($o.customerId)?$o.customerId:(webtrekkConfig.customerId)?webtrekkConfig.customerId:false;this.crmCategory=($o.crmCategory)?$o.crmCategory:(webtrekkConfig.crmCategory)?webtrekkConfig.crmCategory:false;this.contentGroup=($o.contentGroup)?$o.contentGroup:(webtrekkConfig.contentGroup)?webtrekkConfig.contentGroup:false;this.mediaCode=($o.mediaCode)?$o.mediaCode:(webtrekkConfig.mediaCode)?webtrekkConfig.mediaCode:false;this.mediaCodeValue=($o.mediaCodeValue)?$o.mediaCodeValue:(webtrekkConfig.mediaCodeValue)?webtrekkConfig.mediaCodeValue:false;this.mediaCodeCookie=($o.mediaCodeCookie)?$o.mediaCodeCookie:(webtrekkConfig.mediaCodeCookie)?webtrekkConfig.mediaCodeCookie:false;this.campaignId=($o.campaignId)?$o.campaignId:(webtrekkConfig.campaignId)?webtrekkConfig.campaignId:false;this.campaignAction=($o.campaignAction)?$o.campaignAction:(webtrekkConfig.campaignAction)?webtrekkConfig.campaignAction:"click";this.internalSearch=($o.internalSearch)?$o.internalSearch:(webtrekkConfig.internalSearch)?webtrekkConfig.internalSearch:false;this.customSid=($o.customSid)?$o.customSid:(webtrekkConfig.customSid)?webtrekkConfig.customSid:false;this.customEid=($o.customEid)?$o.customEid:(webtrekkConfig.customEid)?webtrekkConfig.customEid:false;this.cookie=($o.cookie)?$o.cookie:(webtrekkConfig.cookie)?webtrekkConfig.cookie:"3";this.cookieEidTimeout=($o.cookieEidTimeout)?$o.cookieEidTimeout:(webtrekkConfig.cookieEidTimeout)?webtrekkConfig.cookieEidTimeout:false;this.cookieSidTimeout=($o.cookieSidTimeout)?$o.cookieSidTimeout:(webtrekkConfig.cookieSidTimeout)?webtrekkConfig.cookieSidTimeout:false;this.forceNewSession=($o.forceNewSession)?$o.forceNewSession:(webtrekkConfig.forceNewSession)?webtrekkConfig.forceNewSession:false;this.xwtip=($o.xwtip)?$o.xwtip:(webtrekkConfig.xwtip)?webtrekkConfig.xwtip:false;this.xwtua=($o.xwtua)?$o.xwtua:(webtrekkConfig.xwtua)?webtrekkConfig.xwtua:false;this.xwtrq=($o.xwtrq)?$o.xwtrq:(webtrekkConfig.xwtrq)?webtrekkConfig.xwtrq:false;this.mediaCodeFrames=($o.mediaCodeFrames)?$o.mediaCodeFrames:(webtrekkConfig.mediaCodeFrames)?webtrekkConfig.mediaCodeFrames:false;this.framesetReferrer=($o.framesetReferrer)?$o.framesetReferrer:(webtrekkConfig.framesetReferrer)?webtrekkConfig.framesetReferrer:false;this.plugins=($o.plugins&&$o.plugins!='')?$o.plugins:(webtrekkConfig.plugins&&webtrekkConfig.plugins!='')?webtrekkConfig.plugins:['Adobe Acrobat','Windows Media Player','Shockwave Flash','RealPlayer','QuickTime','Java','Silverlight'];if(typeof(this.plugins)=="string"){this.plugins=this.plugins.split(";");};this.forceHTTPS=($o.forceHTTPS)?$o.forceHTTPS:(webtrekkConfig.forceHTTPS)?webtrekkConfig.forceHTTPS:false;this.secureConfig=($o.secureConfig)?$o.secureConfig:(webtrekkConfig.secureConfig)?webtrekkConfig.secureConfig:false;this.heatmap=($o.heatmap)?$o.heatmap:(webtrekkConfig.heatmap)?webtrekkConfig.heatmap:false;this.heatmapRefpoint=($o.heatmapRefpoint)?$o.heatmapRefpoint:(webtrekkConfig.heatmapRefpoint)?webtrekkConfig.heatmapRefpoint:"wt_refpoint";this.pixelSampling=($o.pixelSampling)?$o.pixelSampling:(webtrekkConfig.pixelSampling)?webtrekkConfig.pixelSampling:false;this.form=($o.form)?$o.form:(webtrekkConfig.form)?webtrekkConfig.form:false;this.formAttribute=($o.formAttribute)?$o.formAttribute:(webtrekkConfig.formAttribute)?webtrekkConfig.formAttribute:false;this.formFieldAttribute=($o.formFieldAttribute)?$o.formFieldAttribute:(webtrekkConfig.formFieldAttribute)?webtrekkConfig.formFieldAttribute:false;this.formFullContent=($o.formFullContent)?$o.formFullContent:(webtrekkConfig.formFullContent)?webtrekkConfig.formFullContent:false;this.formAnonymous=($o.formAnonymous)?$o.formAnonymous:(webtrekkConfig.formAnonymous)?webtrekkConfig.formAnonymous:false;this.reporturl=($o.reporturl)?$o.reporturl:(webtrekkConfig.reporturl)?webtrekkConfig.reporturl:'report2.webtrekk.de/cgi-bin/wt';this.disableOverlayView=($o.disableOverlayView)?$o.disableOverlayView:(webtrekkConfig.disableOverlayView)?webtrekkConfig.disableOverlayView:false;this.version=314;this.beforeSendinfoPixel=($o.beforeSendinfoPixel)?$o.beforeSendinfoPixel:(webtrekkConfig.beforeSendinfoPixel)?webtrekkConfig.beforeSendinfoPixel:false;;this.afterSendinfoPixel=($o.afterSendinfoPixel)?$o.afterSendinfoPixel:(webtrekkConfig.afterSendinfoPixel)?webtrekkConfig.afterSendinfoPixel:false;;this.beforeUnloadPixel=($o.beforeUnloadPixel)?$o.beforeUnloadPixel:(webtrekkConfig.beforeUnloadPixel)?webtrekkConfig.beforeUnloadPixel:false;;this.afterUnloadPixel=($o.afterUnloadPixel)?$o.afterUnloadPixel:(webtrekkConfig.afterUnloadPixel)?webtrekkConfig.afterUnloadPixel:false;;this.deactivatePixel=false;this.optOut=false;this.eid=false;this.sampleCookieString=false;this.cookieOne=false;this.linkId=false;this.linktrackOut=false;this.linktrackNamedlinksOnly=true;this.ccParams=false;this.sentFullPixel=false;this.sentCampaignIds={};this.wtEp=false;this.wtEpEncoded=false;this.trackingSwitchMediaCode=false;this.trackingSwitchMediaCodeValue=false;this.trackingSwitchMediaCodeTimestamp=false;this.heatmapOn=false;this.overlayOn=false;this.gatherFormsP=false;this.formObject=false;this.formName=false;this.formFocus=false;this.formSubmit=false;this.browserLang=false;this.config=false;this.unloadInstance=webtrekkUnloadObjects.length;this.xlc=false;this.xlct=false;this.xlcv=false;this.plugin={};if(typeof(navigator.language)=="string"){this.browserLang=navigator.language.substring(0,2);}else if(typeof(navigator.userLanguage)=="string"){this.browserLang=navigator.userLanguage.substring(0,2);};this.getConfig=function(){var c={"contentId":this.contentId,"linkId":this.linkId,"sendOnUnload":false,"customParameter":this.customParameter,"customClickParameter":this.customClickParameter,"customSessionParameter":this.customSessionParameter,"customTimeParameter":this.customTimeParameter,"customCampaignParameter":this.customCampaignParameter,"customEcommerceParameter":this.customEcommerceParameter,"orderValue":this.orderValue,"orderCurrency":this.orderCurrency,"orderId":this.orderId,"product":this.product,"productCost":this.productCost,"productQuantity":this.productQuantity,"productCategory":this.productCategory,"productStatus":this.productStatus,"customerId":this.customerId,"crmCategory":this.crmCategory,"contentGroup":this.contentGroup,"campaignId":this.campaignId,"campaignAction":this.campaignAction,"internalSearch":this.internalSearch,"customSid":this.customSid,"customEid":this.customEid,"forceNewSession":this.forceNewSession,"xwtip":this.xwtip,"xwtua":this.xwtua,"xwtrq":this.xwtrq,"framesetReferrer":this.framesetReferrer,"forceHTTPS":this.forceHTTPS,"beforeSendinfoPixel":this.beforeSendinfoPixel,"afterSendinfoPixel":this.afterSendinfoPixel,"beforeUnloadPixel":this.beforeUnloadPixel,"afterUnloadPixel":this.afterUnloadPixel,"xlc":this.xlc,"xlct":this.xlct,"xlcv":this.xlcv};return c;};this.indexOf=function(a,b,c){return a.indexOf(b,c?c:0);};this.wtTypeof=function(v){return(typeof v!="undefined")?1:0;};this.wtLength=function(a){return a!="undefined"?a.length:0;};this.getTimezone=function(){return Math.round((new Date().getTimezoneOffset()/60)*(-1));};this.wtHref=function(){return this.wtLocation().href;};this.wtLocation=function(){var r=document.location;if(!document.layers&&document.getElementById){eval("try {r=top.document.location;}catch(e){r=document.location;};");}else{r=top.document.location;};return r;};this.getWebtrekkPath=function(){if(!document.layers&&document.getElementById){var $p=document.getElementsByTagName('script');for(var i=0;i<$p.length;i++){if($p[i].src.match(/webtrekk[a-z|A-Z|0-9|_]*\.js/g)){return $p[i].src.replace(/webtrekk[a-z|A-Z|0-9|_]*\.js/g,'');}}};return '';};this.include=function(s){if(!document.createElement){return false;};var $q=document.getElementsByTagName('head').item(0);var js=document.createElement('script');js.setAttribute('language','javascript');js.setAttribute('type','text/javascript');js.setAttribute('src',s);$q.appendChild(js);return true;};this.isIE=this.indexOf(navigator.appName,"Microsoft")?false:true;if(!this.isIE){this.isOpera=this.indexOf(navigator.appName,"Opera")?false:true;if(!this.isOpera){this.isSafari=(navigator.vendor.toLowerCase().indexOf("apple")!=-1)?true:false;this.isChrome=(navigator.vendor.toLowerCase().indexOf("google")!=-1)?true:false;}};this.url2contentId=function($r){if(!$r){return "no_content";};var tmp=new RegExp("//(.*)").exec($r);if(tmp.length<1){return "no_content";};var $s=tmp[1].split("?")[0].replace(/\./g,"_").replace(/\//g, ".").replace(/\.{2,};/g,".").toLowerCase();return $s.split(";")[0];};this.contentId=($o.contentId)?$o.contentId:this.url2contentId(document.location.href);this.registerEvent=function($h,e,f){if($h.addEventListener){$h.addEventListener(e,f,false);}else{if($h.attachEvent){if(e=="beforeunload"){this.unregisterEvent($h,e,f);};$h.attachEvent("on"+e,f);}}};this.unregisterEvent=function($h,e,f){if($h.removeEventListener){$h.removeEventListener(e,f,false);}else{if($h.detachEvent){$h.detachEvent("on"+e,f);}}};this.maxlen=function(v,l){if(v&&v.length>l){return v.substring(0,l-1);};return v;};this.wtEscape=function(u){if(typeof(encodeURIComponent)=='function'){return encodeURIComponent(u);};return escape(u);};this.wtUnescape=function(u){if(typeof(decodeURIComponent)=='function'){return decodeURIComponent(u);};return unescape(u);};this.decrypt=function(x){if(x){return eval("try {this.wtUnescape(x.replace(/([0-9a-fA-F][0-9a-fA-F])/g,'%$1'));}catch(e){''};");}};this.checkSC=function(x){if(typeof(this.secureConfig)!='string'){return false;};var sc=this.secureConfig.split(';');for(var i=0;i<sc.length;i++){if(sc[i]==x){return true;}};return false;};this.zeroPad=function(n,$t){var $u="000000000000"+n;return $u.substring(($u.length-$t),$u.length);};this.generateEid=function(){return '2'+this.zeroPad(Math.floor(new Date().getTime()/1000),10)+this.zeroPad(Math.floor(Math.random()*1000000),8);};this.getexpirydate=function($v){var $w;var $x=new Date();var $y=Date.parse($x);$x.setTime($y+$v*60*1000);$w=$x.toUTCString();return $w;};this.setCookie=function(name,$z,$A){var d=location.hostname;var $B="^[0-9]{1,3"+String.fromCharCode(125)+"\.[0-9]{1,3"+String.fromCharCode(125)+"\.[0-9]{1,3"+String.fromCharCode(125)+"\.[0-9]{1,3"+String.fromCharCode(125)+"$";if(d.search($B)==-1){d=location.hostname.split(".");d=d[d.length-2]+"."+d[d.length-1];};var c;if(d.split('.')[0].length<3&&typeof $A!="undefined"){c=name+"="+escape($z)+";path=/;expires="+this.getexpirydate($A);}else if(d.split('.')[0].length<3){c=name+"="+escape($z)+";path=/";}else if(typeof $A!="undefined"){c=name+"="+escape($z)+";domain="+d+";path=/;expires="+this.getexpirydate($A);}else{c=name+"="+escape($z)+";path=/;domain="+d;};document.cookie=c;};this.getCookie=function($C){var $D=""+document.cookie;var $E=$D.indexOf($C);if($E==-1||$C==""){return "";};var $F=$D.indexOf(';',$E);if($F==-1){$F=$D.length;};return unescape($D.substring($E+$C.length+1,$F));};this.optOut=(this.getCookie("webtrekkOptOut"))?true:false;if(this.optOut){this.deactivatePixel=true;};this.urlParam=function($r,$G,$H){var p=new Array();if($r.indexOf("?")>0){p=$r.substring($r.indexOf("?")+1).replace(/&amp;/g,"&").split("&");};for(var i=0;i<p.length;i++){if(p[i].indexOf($G+"=")==0){return this.wtUnescape(p[i].substring($G.length+1).replace(/\+/g,"%20"));}};return $H;};this.allUrlParam=function($G,$H){if(this.mediaCodeFrames&&this.mediaCodeFrames!=''){var lf=this.mediaCodeFrames.split(";");for(var i=0;i<lf.length;i++){var $I=false;eval("try { lFrame = eval(lf[i]) }catch(e){};");if($I&&$I!=top&&$I.location){var $J=this.urlParam($I.location.href,$G,$H);if($J!=$H){return $J;}}};return $H;}else{var topLocation="";eval("try {topLocation = top.location.href;}catch(e){topLocation=document.location.href;};");return this.urlParam(topLocation,$G,$H);}};this.linkTrackInit=function(){for(i=0;i<webtrekkLinktrackObjects.length;i++){if(this==webtrekkLinktrackObjects[i]){return;}};webtrekkLinktrackObjects.push(this);if(this.linkTrack&&this.linkTrack=="link"){this.linktrackNamedlinksOnly=false;};for(c=0;c<document.links.length;c++){var name=document.links[c].getAttribute('name');if(this.linkTrackAttribute&&this.linkTrackAttribute!=""){var tmp="";eval("tmp = (document.links[c].getAttribute(this.linkTrackAttribute)?document.links[c].getAttribute(this.linkTrackAttribute):'')");if(tmp){name=tmp;}};if(name||!this.linktrackNamedlinksOnly){this.registerEvent(document.links[c],'mousedown',webtrekkLinktrack);}}};if(this.linkTrack){this.linkTrackInit();};this.getCCParams=function(a){var p='';if(this.config.customClickParameter){var $K=(this.config.customClickParameter[a.getAttribute('name')])?this.config.customClickParameter[a.getAttribute('name')]:this.config.customClickParameter[a.id];if(!$K){$K=this.config.customClickParameter;};for(var z in $K){if(!isNaN(z)&&this.wtTypeof($K[z])&&typeof($K[z])=='string'&&$K[z]!=''){if(this.checkSC('custom')){$K[z]=this.decrypt($K[z]);};p+='&ck'+z+'='+this.wtEscape($K[z]);}}};this.ccParams=p;return;};this.plugInArray=function($L,$M){if(typeof($L)!='object'){return false;};for(var i=0;i<$L.length;i++){var $N=new RegExp($L[i].toLowerCase(),'g');if($M.toLowerCase().search($N)!=-1){return $L[i];}};return false;};this.quicksend=function($O,$P,$Q,$R){if(!this.trackDomain||!this.trackId||this.deactivatePixel){return;};if(!$Q){$Q="wt";};if(typeof(this.requestTimeout)=="undefined"){this.requestTimeout=5;};if(this.cookie=="1"){$P="&eid="+this.eid+"&one="+(this.cookieOne?"1":"0")+"&fns="+(this.forceNewSession?"1":"0")+$P;};if(this.cookie!="1"&&(this.wtTypeof(this.cookieEidTimeout)||this.wtTypeof(this.cookieSidTimeout))){if(this.wtTypeof(this.cookieEidTimeout)&&this.cookieEidTimeout!=''){$P="&cet="+this.cookieEidTimeout+$P;};if(this.wtTypeof(this.cookieSidTimeout)&&this.cookieSidTimeout!=''){$P="&cst="+this.cookieSidTimeout+$P;}};if(this.pixelSampling>0){$P+="&ps="+this.pixelSampling;};$P="&tz="+this.getTimezone()+$P;var $S=(location.protocol=="https:"?"https:":"http:");if(this.forceHTTPS){$S="https:";};var $T=$S+"//"+this.trackDomain+"/"+this.trackId+"/"+$Q+"?p="+this.version+","+$O+$P+"&eor=1";if($R=="saveRequest"&&this.cookie=="3"){if(this.getCookie("saveRequestV3")){this.setCookie("saveRequestV3",this.getCookie("saveRequestV3")+"<<>>"+$T,this.requestTimeout);}else{this.setCookie("saveRequestV3",$T,this.requestTimeout);}}else{this.sendPixel($T,$Q);};if($Q!='hm'){this.cookieOne=false;this.sentFullPixel=1;}};this.sendPixel=function($r,$Q){if(document.images){if(!this.wtTypeof($U)){var $U=new Array();};var ii=$U.length;$U[ii]=new Image();if($Q=='hm'){$U[ii].src=$r+"&hm_ts="+new Date().getTime();}else{$U[ii].src=$r;};$U[ii].onload=function(){};}else{document.write("<img src='"+$r+"' height='1' width='1'>");}};this.send=function(p,$V,ep){if($V=="link"){this.config.linkId=p;this.linkTrack="manual";this.wtEp=ep;if(this.isChrome||this.isOpera||this.isSafari){webtrekkUnload('noForm');}else{this.registerEvent(window,(this.isIE&&this.wtTypeof(window.onbeforeunload))?"beforeunload":"unload",webtrekkUnload);};return;};if($V=="click"){this.config.linkId=p;this.wtEp=ep;webtrekkUnload('noForm');return;};var $W=(p)?p:this.config.contentId;if(!$W){$W="no_content";};var $X="";var $Y=this.wtEscape($W)+",1,";$Y+=this.baseparams();var $Z=navigator.plugins.length;var $00="";if($Z>0){var $01=Array();for(var i=0;i<$Z;i++){if(navigator.plugins&&navigator.appName!='Microsoft Internet Explorer'){if(navigator.plugins[i].name=="Shockwave Flash"){$00=navigator.plugins[i].description;}else{$00=navigator.plugins[i].name;};var $02=this.plugInArray(this.plugins,$00);if($02&&!this.plugInArray($01,$02)){$01.push($02);}}};$00=$01.join("|");};if(typeof(ep)=="string"&&ep!=""){ep=ep.split(/;/);for(var z=0;z<ep.length;z++){if(this.wtTypeof(ep[z])){$d=ep[z].split(/=/);if(this.checkSC('custom')){$d[1]=this.decrypt($d[1]);};$d[1]=this.wtEscape($d[1]);$X+='&'+$d[0]+'='+$d[1];}}}else{this.wtEpEncoded=false;var $03='';if(typeof(this.config.customParameter)=='object'){for(var z in this.config.customParameter){if(!isNaN(z)&&this.wtTypeof(this.config.customParameter[z])&&typeof(this.config.customParameter[z])=='string'&&this.config.customParameter[z]!=''){if(this.checkSC('custom')){this.config.customParameter[z]=this.decrypt(this.config.customParameter[z]);};$03+='&cp'+z+'='+this.wtEscape(this.config.customParameter[z]);}}};var $04='';if(typeof(this.config.customSessionParameter)=='object'){for(var z in this.config.customSessionParameter){if(!isNaN(z)&&this.wtTypeof(this.config.customSessionParameter[z])&&typeof(this.config.customSessionParameter[z])=='string'&&this.config.customSessionParameter[z]!=''){if(this.checkSC('custom')){this.config.customSessionParameter[z]=this.decrypt(this.config.customSessionParameter[z]);};$04+='&cs'+z+'='+this.wtEscape(this.config.customSessionParameter[z]);}}};var $05='';if(typeof(this.config.customTimeParameter)=='object'){for(var z in this.config.customTimeParameter){if(!isNaN(z)&&this.wtTypeof(this.config.customTimeParameter[z])&&typeof(this.config.customTimeParameter[z])=='string'&&this.config.customTimeParameter[z]!=''){if(this.checkSC('custom')){this.config.customTimeParameter[z]=this.decrypt(this.config.customTimeParameter[z]);};$05+='&ce'+z+'='+this.wtEscape(this.config.customTimeParameter[z]);}}};var $06='';if(typeof(this.config.customEcommerceParameter)=='object'){for(var z in this.config.customEcommerceParameter){if(!isNaN(z)&&this.wtTypeof(this.config.customEcommerceParameter[z])&&typeof(this.config.customEcommerceParameter[z])=='string'&&this.config.customEcommerceParameter[z]!=''){if(this.checkSC('custom')){this.config.customEcommerceParameter[z]=this.decrypt(this.config.customEcommerceParameter[z]);};$06+='&cb'+z+'='+this.wtEscape(this.config.customEcommerceParameter[z]);}}};if(this.config.orderValue){if(this.checkSC('order')){$X+="&ov="+this.wtEscape(this.decrypt(this.config.orderValue));}else{$X+="&ov="+this.wtEscape(this.config.orderValue);}};if(this.config.orderCurrency){if(this.checkSC('order')){$X+="&cr="+this.wtEscape(this.decrypt(this.config.orderCurrency));}else{$X+="&cr="+this.wtEscape(this.config.orderCurrency);}};if(this.config.orderId){$X+="&oi="+this.wtEscape(this.config.orderId);};if(this.config.product){$X+="&ba="+this.wtEscape(this.config.product);if(this.config.productCost){$X+="&co="+this.wtEscape(this.config.productCost);};if(this.config.productQuantity){$X+="&qn="+this.wtEscape(this.config.productQuantity);};if(typeof(this.config.productCategory)=='object'){for(var z in this.config.productCategory){if(!isNaN(z)&&typeof(this.config.productCategory[z])=='string'&&this.config.productCategory[z]!=''){$X+="&ca"+z+"="+this.wtEscape(this.config.productCategory[z]);}}};if(this.config.productStatus){$X+="&st="+this.wtEscape(this.config.productStatus);}};if(this.config.customerId){$X+="&cd="+this.wtEscape(this.config.customerId);};if(typeof(this.config.crmCategory)=='object'){for(var z in this.config.crmCategory){if(!isNaN(z)&&typeof(this.config.crmCategory[z])=='string'&&this.config.crmCategory[z]!=''){$X+="&vc"+z+"="+this.wtEscape(this.config.crmCategory[z]);}}};if(this.browserLang){$X+="&la="+this.wtEscape(this.browserLang);};if(typeof(this.config.contentGroup)=='object'){for(var z in this.config.contentGroup){if(!isNaN(z)&&typeof(this.config.contentGroup[z])=='string'&&this.config.contentGroup[z]!=''){$X+="&cg"+z+"="+this.wtEscape(this.config.contentGroup[z]);}}};var $07='';if(this.config.campaignId&&!(this.config.campaignId in this.sentCampaignIds)){$X+="&mc="+this.wtEscape(this.config.campaignId);$X+="&mca="+this.config.campaignAction.substring(0,1);this.sentCampaignIds[this.config.campaignId]=true;if(typeof(this.config.customCampaignParameter)=='object'){for(var z in this.config.customCampaignParameter){if(!isNaN(z)&&this.wtTypeof(this.config.customCampaignParameter[z])&&typeof(this.config.customCampaignParameter[z])=='string'&&this.config.customCampaignParameter[z]!=''){if(this.checkSC('custom')){this.config.customCampaignParameter[z]=this.decrypt(this.config.customCampaignParameter[z]);};$07+='&cc'+z+'='+this.wtEscape(this.config.customCampaignParameter[z]);}}}};if(this.trackingSwitchMediaCode){$X+="&tmc="+this.wtEscape(this.trackingSwitchMediaCode);};if(this.trackingSwitchMediaCodeValue){$X+="&tmcv="+this.wtEscape(this.trackingSwitchMediaCodeValue);};if(this.trackingSwitchMediaCodeTimestamp){$X+="&tmct="+this.wtEscape(this.trackingSwitchMediaCodeTimestamp);};var $08="";var $09;if(typeof(wt_vt)!="undefined"){$09=wt_vt;};if(!this.wtTypeof($09)){$09=this.urlParam(location.href,'wt_vt',false);};if($09){var $0a=this.getCookie('wt_vt').split(";");for(var i=0;i<$0a.length;i++){if($0a[i].indexOf($09+'v')!=-1){$08='&wt_vt='+$0a[i].split('t')[0].split('v')[1];}}};if($08){$X+=$08;};if(this.config.internalSearch){$X+="&is="+this.wtEscape(this.maxlen(this.config.internalSearch,255));};if($03){$X+=$03;};if($07){$X+=$07;};if($05){$X+=$05;};if($06){$X+=$06;};if($04){$X+=$04;};if(this.wtTypeof(this.config.customSid)&&this.config.customSid!=''){$X+="&csid="+this.config.customSid;};if(this.wtTypeof(this.config.customEid)&&this.config.customEid!=''){$X+="&ceid="+this.config.customEid;};if(this.wtTypeof(this.config.xwtip)&&this.config.xwtip!=''){$X+="&X-WT-IP="+this.wtEscape(this.config.xwtip);};if(this.wtTypeof(this.config.xwtua)&&this.config.xwtua!=''){$X+="&X-WT-UA="+this.wtEscape(this.config.xwtua);};if(this.wtTypeof(this.config.xwtrq)&&this.config.xwtrq!=''){$X+="&X-WT-RQ="+this.wtEscape(this.config.xwtrq);}};if(this.config.linkId&&this.config.customClickParameter){var $K=(this.config.customClickParameter[this.config.linkId])?this.config.customClickParameter[this.config.linkId]:this.config.customClickParameter;for(var z in $K){if(!isNaN(z)&&this.wtTypeof($K[z])&&typeof($K[z])=='string'&&$K[z]!=''){if(this.checkSC('custom')){$K[z]=this.decrypt($K[z]);};$X+='&ck'+z+'='+this.wtEscape($K[z]);}};this.ccParams=false;};if(this.config.xlc&&this.config.xlct){if(this.config.xlc!=""||this.config.xlct!=""){if(this.config.xlcv){var $0b=this.getExtLifeCycles(this.config.xlc,this.config.xlct,this.config.xlcv);}else{var $0b=this.getExtLifeCycles(this.config.xlc,this.config.xlct);};$X+=$0b;}};if(this.config.linkId&&this.config.sendOnUnload){this.linkTrack="manual";this.wtEp=$X;this.wtEpEncoded=true;if(this.isChrome||this.isOpera||this.isSafari){webtrekkUnload('noForm');}else{this.registerEvent(window,(this.isIE&&this.wtTypeof(window.onbeforeunload))?"beforeunload":"unload",webtrekkUnload);};return;}else if(this.config.linkId){this.wtEp=$X;this.wtEpEncoded=true;webtrekkUnload('noForm');return;}else if(!this.config.contentId&&!this.config.linkId){this.config.contentId=this.contentId;this.config.linkId="wt_ignore";this.wtEp=$X;this.wtEpEncoded=true;webtrekkUnload('noForm');return;}else if(this.config.sendOnUnload){this.wtEp=$X;this.wtEpEncoded=true;if(this.isChrome||this.isOpera||this.isSafari){webtrekkUnload('noForm');}else{this.registerEvent(window,(this.isIE&&this.wtTypeof(window.onbeforeunload))?"beforeunload":"unload",webtrekkUnload);};return;};if(this.cookie=="1"){if(this.cookieOne){$X+="&np="+this.wtEscape($00);}}else{$X+="&np="+this.wtEscape($00);};this.quicksend($Y,$X,false,"sendRequest");};this.sendinfo=function(c,p,$V,ep){if(this.cookie=="1"&&!this.optOut&&!this.deactivatePixel){this.firstParty();};if(location.href.indexOf('fb_xd_fragment')!=-1){return;};if(typeof(c)=='object'){this.config=c;}else{this.config=this.getConfig();};if(!this.config.campaignId&&this.mediaCode){this.getMediaCode();};if(this.getCookie("saveRequestV3")){var $0c=this.getCookie("saveRequestV3").split("<<>>");for(var i=0;i<$0c.length;i++){this.sendPixel($0c[i],"wt");};this.setCookie("saveRequestV3","",-1000);};if(this.beforeSendinfoPixel!=false){this.beforeSendinfoPixel();};if(this.contentId!=""||p!=""||document.layers){this.send(p,$V,ep);};if(this.afterSendinfoPixel!=false){this.afterSendinfoPixel();}};this.sendinfo_media=function($0d,mk,$0e,$0f,mg,bw,$0g,$0h){if(this.wtTypeof($0i)){$0i($0d,mk,$0e,$0f,mg,bw,$0g,$0h,this.unloadInstance);}};this.sendExtLifeCycles=function($0j){if(typeof($0j)!="object"){return;};if(typeof($0j.xlc)=="undefined"&&typeof($0j.xlct)=="undefined"){return;};if($0j.xlc!=""||$0j.xlct!=""){if(typeof($0j.xlcv)!="undefined"){var $P=this.getExtLifeCycles($0j.xlc,$0j.xlct,$0j.xlcv);}else{var $P=this.getExtLifeCycles($0j.xlc,$0j.xlct);}}else{return;};this.quicksend('wt_ignore',$P,false,"sendRequest");};this.getExtLifeCycles=function(xlc,xlct,xlcv){var $0k="";var $0l=new Object();var $0m=xlc.split("|");for(var i=0;i<$0m.length;i++){var $0n=$0m[i].split(";");for(var j=0;j<$0n.length;j++){if(j==0){$0k+=this.wtEscape($0n[j]);}else{$0k+=$0n[j];};$0k+=";";};$0k=$0k.substr(0,$0k.length-1);$0k+="|";};$0k=$0k.substr(0,$0k.length-1);$0l.xlcl=this.wtEscape(xlc.split("|").length);$0l.xlct=this.wtEscape(xlct);if(typeof(xlcv)!="undefined"){$0l.xlcv=this.wtEscape(xlcv);};$0l.xlc=this.wtEscape($0k);var $P="";for(i in $0l){$P+="&"+i+"="+$0l[i];};return $P;};this.isOwnDomain=function(l){var pt='';if(this.domain){if(this.domain.toUpperCase().indexOf("REGEXP:")==0){pt=new RegExp(this.domain.substring(7),"i");if(pt.test(this.getDomain(l))){return true;}}else{var $0o=this.domain.split(';');var $0p=this.getDomain(l);for(var i=0;i<$0o.length;i++){if($0p==$0o[i]){return true;}}}}else{return false;};return false;};this.getDomain=function(l){if(typeof(l)!='string'){return '';};l=this.wtUnescape(l);l=l.split('://')[1];var rx=new RegExp('^(?:[^\/]+:\/\/)?([^\/:]+)','g');if(typeof(l)!="undefined"){l=l.match(rx);if(l[0]){return l[0].toLowerCase();}};return '';};this.baseparams=function(){var $0q=screen.width+"x"+screen.height+","+(navigator.appName!='Netscape'?screen.colorDepth:screen.pixelDepth)+",";$0q+=((navigator.cookieEnabled==true)?"1,":((navigator.cookieEnabled==false)?"0,":((document.cookie.indexOf("=")!=-1)?"1,":"0,")));$0q+=new Date().getTime()+",";var $0r=0;if(this.framesetReferrer){$0r=this.wtEscape(this.framesetReferrer);}else{if(document.referrer.length>0){$0r=this.wtEscape(document.referrer);}};if(this.sentFullPixel){$0q+="2";}else if(!this.isOwnDomain($0r)){$0q+=$0r;}else if(this.isOwnDomain($0r)){$0q+="1";}else{$0q+=$0r;};var h=0;if(!document.layers&&document.getElementById){eval("try {h = top.window.innerHeight;}catch(e){};");}else{h=top.window.innerHeight;};if(!h){eval("try {h = top.document.documentElement.clientHeight;}catch(e){};");};if(!h){eval("try {h = top.document.body.clientHeight;}catch(e){};");};var w=0;if(!document.layers&&document.getElementById){eval("try {w = top.window.innerWidth;}catch(e){};");}else{w=top.window.innerWidth;};if(!w){eval("try {w = top.document.documentElement.clientWidth;}catch(e){};");};if(!w){eval("try {w = top.document.body.clientWidth;}catch(e){};");};if(h&&h>screen.height){h=screen.height;};if(w&&w>screen.width){w=screen.width;};if(typeof(w)=='undefined'){w=-1;};if(typeof(h)=='undefined'){h=-1;};$0q+=","+w+"x"+h;$0q+=","+(navigator.javaEnabled()?"1":"0");return $0q;};this.getMediaCode=function(mc){if(!mc){if(!this.mediaCode){return false;};mc=this.mediaCode;};if(this.mediaCodeValue){v=this.mediaCodeValue.split(";");};var m=mc.split(";");this.config.campaignId="";for(var i=0;i<m.length;i++){if(this.config.campaignId!=""){this.config.campaignId+=";";};if(this.mediaCodeCookie){if(this.getCookie('wt_'+m[i].toLowerCase()+this.allUrlParam(m[i],"").toLowerCase())==''){this.config.campaignId+=m[i]+this.wtEscape("="+this.allUrlParam(m[i],""));}else{this.config.campaignId+=m[i]+"=ignore";};var $0s='';if(this.mediaCodeCookie=='eid'){$0s=60*30*24*60;};this.setCookie('wt_'+m[i].toLowerCase()+this.allUrlParam(m[i],"").toLowerCase(),1,$0s);}else{if(typeof(v)!="undefined"&&typeof(v[i])!="undefined"&&v[i]!=""){wt.config.campaignId+=m[i]+wt.wtEscape("="+v[i]);}else if(this.allUrlParam(m[i],"")!=""){this.config.campaignId+=m[i]+this.wtEscape("="+this.allUrlParam(m[i],""));}}}};this.heatmapOn=(this.wtHref().indexOf("wt_heatmap=1")>=0);this.overlayOn=(this.wtHref().indexOf("wt_overlay=1")>=0||document.cookie.indexOf("wt_overlay=1")>=0);if(this.wtHref().indexOf("wt_overlay=0")>=0){this.overlayOn=false;this.setCookie("wt_overlay","",-1);};var $0t=false;for(i=0;i<webtrekkHeatmapObjects.length;i++){if(this==webtrekkHeatmapObjects[i]){$0t=true;}};if(!$0t){webtrekkHeatmapObjects.push(this);};if(this.heatmap&&this.heatmap=="1"&&!this.heatmapOn){this.registerEvent(document,"mousedown",webtrekkHeatmapClick);};if(this.heatmapOn&&!this.disableOverlayView){if(this.include(location.protocol+"//"+this.reporturl+"/heatmap.pl?wt_contentId="+this.wtEscape(this.contentId.split(";")[0])+"&x="+new Date().getTime())){if(navigator.userAgent.indexOf('MSIE 6')!=-1&&navigator.userAgent.indexOf('Windows NT 5.0')!=-1){alert("Click OK to start heatmap.");};this.registerEvent(window,"load",webtrekkStartHeatmap);}};if(this.overlayOn&&!this.disableOverlayView){this.setCookie("wt_overlay","1");if(this.include(location.protocol+"//"+this.reporturl+"/overlay.pl?wt_contentId="+this.wtEscape(this.contentId.split(";")[0])+"&x="+new Date().getTime()))this.registerEvent(window,"load",webtrekkStartOverlay);};this.setPixelSampling=function($0u){if(!$0u){var $0u=this.pixelSampling;};var trackId=this.trackId.split(",")[0];var $0v=this.getCookie("wt3_sample").split(";");var $0w=false;for(var i=0;i<$0v.length;i++){if(this.indexOf($0v[i],trackId+"|"+$0u)!=-1){$0w=true;}else if(this.indexOf($0v[i],trackId+"|")!=-1){$0v[i]="";}};if(!$0w){if(Math&&Math.random&&parseInt(Math.random()*$0u)==0){$0v.push(trackId+"|"+$0u+"|1");}else{$0v.push(trackId+"|"+$0u+"|0");};var $0x=60;if(this.cookieEidTimeout){$0x=this.cookieEidTimeout;};this.setCookie("wt3_sample",$0v.join(";"),$0x*30*24*60);$0v=this.getCookie("wt3_sample");};if(this.indexOf($0v,trackId+"|"+$0u+"|1")==-1){this.deactivatePixel=true;}};if(this.pixelSampling&&!this.optOut){this.setPixelSampling();};this.firstParty=function(){var $0y=this.getCookie("wt3_sid").split(";");var $0z=this.getCookie("wt3_eid").split(";");var $0A=(this.cookieSidTimeout)?this.cookieSidTimeout:30;var $0x=(this.cookieEidTimeout)?this.cookieEidTimeout:60;var trackId=this.trackId.split(",")[0];var $0B=false;var $0C=false;for(var i=0;i<$0y.length;i++){if($0y[i].indexOf(trackId)!=-1){$0B=i;break;}};for(var i=0;i<$0z.length;i++){if($0z[i].indexOf(trackId+"|")!=-1){$0C=i;break;}};if(!$0B){$0y.push(trackId);if($0C){this.forceNewSession=true;}};if(!$0C){this.eid=this.generateEid();this.cookieOne=true;$0z.push(trackId+"|"+this.eid);this.setCookie("wt3_eid",$0z.join(";"),$0x*30*24*60);}else{this.eid=$0z[$0C].replace(trackId+"|","");};this.setCookie("wt3_sid",$0y.join(";"));};var $0D=false;for(i=0;i<webtrekkUnloadObjects.length;i++){if(this==webtrekkUnloadObjects[i]){$0D=true;}};if(!$0D){webtrekkUnloadObjects.push(this);this.registerEvent(window,(this.wtTypeof(window.onbeforeunload))?"beforeunload":"unload",webtrekkUnload);};this.findForm=function(){var f=document.forms;for(var i=0;i<f.length;i++){var cf=f[i];if(this.wtTypeof(cf.elements["wt_form"])){this.formObject=cf;return;}}};this.checkFormFocus=function($0E){if($0E==this.formFocus){return 1;};return 0;};this.getFormFieldValue=function(ff){var p=ff.name;if(this.formFieldAttribute){p='';var tmp=false;eval("tmp = (ff.getAttribute(this.formFieldAttribute) ? ff.getAttribute(this.formFieldAttribute) : '')");if(tmp){p=tmp;};if(p){p=p.replace(/[\.|;]/g,"_");}};return p;};this.gatherForm=function(){var $0F=";";if(!this.formObject){return;};var f=this.formObject;var p=f.getAttribute('name')?f.getAttribute('name'):this.contentId.split(";")[0];if(this.formAttribute){var tmp="";eval("tmp = (f.getAttribute(this.formAttribute) ? f.getAttribute(this.formAttribute) : '')");if(tmp){p=tmp;}};this.formName=p;var fl="";if(this.wtTypeof(f.elements["wt_fields"])){fl=f.elements["wt_fields"].value;};if(!fl){for(var i=0;i<f.elements.length;i++){var e=f.elements[i];if(this.getFormFieldValue(e)){fl+=this.getFormFieldValue(e)+$0F;}};fl=fl.substring(0,fl.lastIndexOf($0F))};var $0G=fl.split($0F);var $0H=$0G.length;var $0I="";if(this.formFullContent){$0I=this.formFullContent.split($0F);};var pa="";var $0J=new Array();for(var i=0;i<f.elements.length;i++){var e=f.elements[i],$z,$0K,$0L=false;if(fl){for(var j=0;j<$0H;j++){if(this.getFormFieldValue(e)==$0G[j]){$0L=true;}}}else{if(this.getFormFieldValue(e)){$0L=true;}};if($0L){$z=null;if(e.type=='select-multiple'){for(var j=0;j<e.options.length;j++){var $0M=false;if(e.options[j].selected){$0M=true;pa+=";"+this.getFormFieldValue(e).replace(/[\.|;]/g,"_")+"."+e.type+"|"+((this.formAnonymous)?"anon":e.options[j].value.replace(/[\.|;]/g,"_"))+"|"+this.checkFormFocus(e.name);};if(!$0M){$z="empty";}}};if(e.type=='select-one'){if(e.selectedIndex!=-1){$z=e.options[e.selectedIndex].value.replace(/[\.|;]/,"_");if(!$z){$z="empty";}}};if(e.type=='checkbox'){if(!e.checked){$z="empty";}else{$z=e.value.replace(/[\.|;]/,"_");}};if(e.type=='radio'){if(e.checked){$z=e.value.replace(/[\.|;]/g,"_");};$0J[$0J.length]=this.getFormFieldValue(e);};if(e.type=="password"||e.type=="text"||e.type=="textarea"){$z=(e.value?"filled_out":"empty");for(var k=0;k<$0I.length;k++){if($0I[k]==this.getFormFieldValue(e)){$z=this.maxlen(e.value,30);}};if(!$z){$z="empty";}};if($z){name=this.getFormFieldValue(e).replace(/[\.|;]/g,"_");$0K=";"+name+"."+e.type+"|";if(pa.indexOf($0K)==-1){pa+=$0K+((this.formAnonymous)?"anon":$z)+"|"+this.checkFormFocus(e.name);}}}};for(var i=0;i<$0J.length;i++){var n=";"+$0J[i].replace(/[\.|;]/g,"_")+".radio|";if(pa.indexOf(n)==-1){pa+=n+((this.formAnonymous)?"anon":"empty")+"|"+this.checkFormFocus(e.name);}};if(pa){pa=pa.substring(1);};return pa;};this.formTrackInstall=function(f){if(f){this.formObject=f;};this.form=1;webtrekkFormTrackInstall();};if(this.form){webtrekkFormTrackInstall();};this.cookieManager=function(name,$0N,$0O){var i,j;this.name=name;this.keySeperator="~";this.fieldSeparator="#";this.durationSeperator="|";this.found=false;this.expires=$0N;this.accessPath=$0O;this.rawValue="";this.fields=[];this.fieldsDuration=[];this.fieldnames=[];this.read=function(){var $0P=this.name+"=";var $0Q=document.cookie;this.rawValue=null;this.found=false;if($0Q.length>0){$0R=$0Q.indexOf($0P);if($0R!=-1){$0R+=$0P.length;end=$0Q.indexOf(";",$0R);if(end==-1){end=$0Q.length};this.rawValue=$0Q.substring($0R,end);this.found=true;}};if(this.rawValue!=null){var sl=this.rawValue.length;var $0S=0;var $0T=0;var i=0;do{$0T=this.rawValue.indexOf(this.fieldSeparator,$0S);if($0T!=-1){var $0U=this.rawValue.substring($0S,$0T).split(this.durationSeperator);var rV=$0U[0].split(this.keySeperator);this.fields[rV[0]]=unescape(rV[1]);this.fieldsDuration[rV[0]]=parseInt(unescape($0U[1]));i++;$0S=$0T+1;}}while($0T!=-1&$0T!=(this.rawValue.length-1));};return this.found;};this.getSize=function(){var $0V=new Date().getTime();var $0W="";for(i in this.fields){if(this.fieldsDuration[i]>=$0V){$0W+=escape(i)+this.keySeperator+escape(this.fields[i])+this.durationSeperator+escape(this.fieldsDuration[i])+this.fieldSeparator;}};return $0W.length;};this.write=function(){var $0V=new Date().getTime();var $0X=true;var $0W=this.name+"=";for(i in this.fields){if(this.fieldsDuration[i]>=$0V){$0W+=escape(i)+this.keySeperator+escape(this.fields[i])+this.durationSeperator+escape(this.fieldsDuration[i])+this.fieldSeparator;$0X=false;}};var $0Y=($0X)?-99999:this.expires;if($0Y!=""){if(typeof($0Y)=="number"){var $0Z=new Date();var $10=new Date();$10.setTime($0Z.getTime()+1000*60*60*24*$0Y);$0W+="; expires="+$10.toGMTString();}else{$0W+="; expires="+$0Y.toGMTString();}};if(this.accessPath!=null){$0W+="; PATH="+this.accessPath;};var d=location.hostname;var $B="^[0-9]{1,3"+String.fromCharCode(125)+"\.[0-9]{1,3"+String.fromCharCode(125)+"\.[0-9]{1,3"+String.fromCharCode(125)+"\.[0-9]{1,3"+String.fromCharCode(125)+"$";if(d.search($B)==-1){d=location.hostname.split(".");d=d[d.length-2]+"."+d[d.length-1];};$0W+="; DOMAIN="+d;document.cookie=$0W;return null;};this.remove=function(){this.expires=-10;this.write();return this.read();};this.get=function($11){var $0V=new Date().getTime();if(this.fieldsDuration[$11]>=$0V){return this.fields[$11];};return "";};this.set=function($11,$12,$A,$V,$13){if(!$A){$A=31536000;};if(!$V){$V="";};var $0V=new Date().getTime();if($V=="first"&&this.fields[$11]!=""&&this.fields[$11]!=null&&this.fieldsDuration[$11]>=$0V){return this.fields[$11];};this.fields[$11]=$12;this.fieldsDuration[$11]=$0V+(parseInt($A)*1000);if(!$13){this.write();};return $12;};this.prepare=function($11,$12,$A,$V){this.set($11,$12,$A,$V,true);};this.read();};};
/* End of webtrekk.js */

/* Kompatibilitätsmodus */
var webtrekkPixel = false;function wt_sendinfo(p, mode, ep) {if (webtrekkPixel) {for (i in webtrekk) {if (i != "plugins" && i != "sendinfo") {webtrekkPixel[i] = webtrekk[i];}}webtrekkPixel.sendinfo(false, p, mode, ep);}}

if (typeof(webtrekk) == "object") {
	webtrekkConfig = webtrekk;
	webtrekkPixel = new webtrekkV3();
	if(typeof(wt_updatePixel) == "function"){
		wt_updatePixel();
	}
	if (webtrekk.sendinfo && webtrekk.sendinfo == '1'){
		webtrekkPixel.sendinfo();
	}
}
/* End Kompatibilitätsmodus */


var currentPosition = 0;
var currentVolume = 0;
var currentMute = false;
var currentState = "NONE";
var currentOpen = "";
var player = null;
var initLock = "";

if(typeof(webtrekkMediaTracking)=="undefined"){var webtrekkMediaTracking=new Object();};function wt_init_media(trackDomain,trackId,sampling){webtrekkMediaTracking.mediaStVersion=315;webtrekkMediaTracking.trackDomain=trackDomain;webtrekkMediaTracking.trackId=trackId;webtrekkMediaTracking.pixelSampling=(sampling)?sampling:0;webtrekkMediaTracking.deactivatePixel=false;webtrekkMediaTracking.posInterval=new Object();webtrekkMediaTracking.time=new Object();if(Math&&Math.random&&parseInt(Math.random()*parseInt(webtrekkMediaTracking.pixelSampling))!=0){webtrekkMediaTracking.deactivatePixel=true;}};function wt_sendinfo_media(wt_mi,mk,mt1,mt2,mg,bw,vol,mute){var wt_mg="";var params="";var wt_re=(typeof(wt_mediaInterval)!="undefined")?parseInt(wt_mediaInterval):3*2*5*2;var send=false;params+="&bw="+bw;params+="&vol="+vol;params+="&mut="+mute;if(typeof(mg)!="undefined"){mg=mg.split(";");for(var z=0;z<mg.length;z++){var tmp=mg[z].split("=");if(mk!="init"&&tmp[0].indexOf("mg")!=-1){continue;}else{wt_mg+="&"+tmp[0]+"="+wt_stEscape(tmp[1]);}}};if(mk=="init"){webtrekkMediaTracking.posInterval[wt_mi]="";webtrekkMediaTracking.time[wt_mi]="";};if(typeof(webtrekkMediaTracking.trackId)=="undefined"&&typeof(webtrekk)=="object"){wt_init_media(webtrekk.trackDomain,webtrekk.trackId);}else if(typeof(webtrekkMediaTracking.trackId)=="undefined"&&typeof(webtrekk)=="undefined"){return;};if(webtrekkMediaTracking.trackId&&typeof(webtrekkMediaTracking.instance)=="undefined"){webtrekkMediaTracking.instance=wt_getPixelInstance();webtrekkMediaTracking.eid=wt_getEid(webtrekkMediaTracking.trackId.split(","),webtrekkMediaTracking.instance.split(";"));webtrekkMediaTracking.pixelDeactivate=wt_getSampling(webtrekkMediaTracking.trackId.split(","),webtrekkMediaTracking.instance.split(";"));};if(typeof(mt2)!="undefined"&&mt2!=""&&mt2&&(typeof(webtrekkMediaTracking.posInterval[wt_mi])=="undefined"||webtrekkMediaTracking.posInterval[wt_mi]=="")){webtrekkMediaTracking.posInterval[wt_mi]=((parseInt(mt2)/wt_re)>=10)?(parseInt(mt2)/wt_re*1000):10*1000;}else if((typeof(mt2)=="undefined"||mt2=="")&&(typeof(webtrekkMediaTracking.posInterval[wt_mi])=="undefined"||webtrekkMediaTracking.posInterval[wt_mi]=="")){webtrekkMediaTracking.posInterval[wt_mi]=3*2*5*2*1000;};var trackId=webtrekkMediaTracking.trackId.split(",");for(var i=0;i<trackId.length;i++){var tempParams=params;if(mk=="pos"&&!send){if(webtrekkMediaTracking.time[wt_mi]==""){webtrekkMediaTracking.time[wt_mi]=new Date().getTime();send=true;}else{var tempTime=new Date().getTime();if(tempTime-webtrekkMediaTracking.time[wt_mi]<webtrekkMediaTracking.posInterval[wt_mi]){return;}else{webtrekkMediaTracking.time[wt_mi]=tempTime;send=true;}}};if(typeof(webtrekkMediaTracking.eid[i])!="undefined"&&webtrekkMediaTracking.eid[i]!=""){tempParams+="&eid="+webtrekkMediaTracking.eid[i];};if(typeof(webtrekkMediaTracking.pixelDeactivate[i])!="undefined"&&webtrekkMediaTracking.pixelDeactivate[i]=="true"){continue;};wt_stQuicksend(trackId[i],"st&mi="+wt_stEscape(wt_mi)+"&mk="+mk+"&mt1="+mt1+"&mt2="+mt2+wt_mg+tempParams);}};function wt_stQuicksend(trackId,params,script){if(!webtrekkMediaTracking.trackDomain||!webtrekkMediaTracking.trackId||(typeof(webtrekkMediaTracking.deactivatePixel)!="undefined"&&webtrekkMediaTracking.deactivatePixel)){return;};if(!script){script="wt.pl";};params+="&x="+new Date().getTime();var wt_url=(location.protocol=="https:"?"https:":"http:")+"//"+webtrekkMediaTracking.trackDomain+"/"+trackId+"/"+script+"?p="+webtrekkMediaTracking.mediaStVersion+","+params;if(document.images){if(typeof(wt_i)=="undefined"){wt_i=new Array();};var ii=wt_i.length;wt_i[ii]=new Image();wt_i[ii].src=wt_url;wt_i[ii].onload=function(){};}else{document.write("<img src=\'"+wt_url+"\' height=\'1\' width=\'1\'>");}};function wt_stEscape(u){if(typeof(encodeURIComponent)=="function"){return encodeURIComponent(u);};return escape(u);};function wt_typeof(v){return(typeof v!="undefined")?1:0;};function wt_getPixelInstance(){var wt_instance="";for(var index in window){if(typeof(window[index])=="object"&&window[index]!=null){try{var contentId=(window[index]["contentId"])?window[index]["contentId"]:false;var trackId=(window[index]["trackId"])?window[index]["trackId"]:false;var trackDomain=(window[index]["trackDomain"])?window[index]["trackDomain"]:false;var domain=(window[index]["domain"])?window[index]["domain"]:false;var version=(window[index]["version"])?window[index]["version"]:(window["wt_version"])?window["wt_version"]:false;if(contentId&&trackId&&trackDomain&&domain&&version){wt_instance+=index+";";}}catch(e){}}};return wt_instance;};function wt_getEid(trackId,instance){var found=false;var wt_eid="";for(var i=0;i<trackId.length;i++){found=false;for(var j=0;j<instance.length-1;j++){var eid=(window[instance[j]]["eid"])?window[instance[j]]["eid"]:(instance[j]=="webtrekk"&&window["wt_cookie_eid"])?window["wt_cookie_eid"]:false;if(eid){var temp=window[instance[j]]["trackId"].split(",");for(var k=0;k<temp.length;k++){if(trackId[i]==temp[k]){wt_eid+=eid+";";found=true;break;}}};if(found){break;}};if(!found){wt_eid+=";";}};return wt_eid.split(";");};function wt_getSampling(trackId,instance){var found=false;var wt_sampling="";for(var i=0;i<trackId.length;i++){found=false;for(var j=0;j<instance.length-1;j++){var deactivatePixel=(window[instance[j]]["deactivatePixel"])?window[instance[j]]["deactivatePixel"]:(instance[j]=="webtrekk"&&window["wt_deactivatePixel"])?window["wt_deactivatePixel"]:false;var temp=window[instance[j]]["trackId"].split(",");for(var k=0;k<temp.length;k++){if(trackId[i]==temp[k]){wt_sampling+=deactivatePixel+";";found=true;break;}};if(found){break;}};if(!found){wt_sampling+=";";}};return wt_sampling.split(";");};


function getLocationParams() {
  if (!this.__locationParams) {
    var locationString = window.location.search,
      locationParamsObj = {};

    if (locationString) {
      locationString = locationString.substring(1);
      locationString.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {
        if ($1) {
          locationParamsObj[$1] = $2;
        }
      });
    }
    this.__locationParams = locationParamsObj;
  }

  return this.__locationParams;
}

if ("undefined" === typeof(simTracker) && "undefined" === typeof(this.simTracker)) {
/*global simTracker, window, document, escape, Image, s */


	/**
	*
	* simTracker
	*
	* @namespace simTracker
	*
	* Create the simTracker object. This is the one and only interface which is accessed from the XHTML documents.
	*
	*/
	this.simTracker = {

config: {
	NAME: "sat1",
	DOMAINS: ["sat1.de", "sat1.ch", "sat1.at"],
	getIvwUrlTemplate: function(metainfo) {
	   var domain = metainfo.domain.toLowerCase();
	   return ({
	      'sat1.de': "http://sat1.ivwbox.de/cgi-bin/ivw/CP/{agof};{path}?r={referrer}&d={time}",
	      'sat1.ch': "http://sat1.wemfbox.ch/cgi-bin/ivw/CP/{agof};{path}?r={referrer}&d={time}",
	      'sat1.at': "http://svpro7.oewabox.at/cgi-bin/ivw/CP/{agof}/sat1.at/;{path}?r={referrer}&d={time}"
	   })[domain];
	},
	IVW: {
		Enabled: {
			de: true,
			at: true,
			ch: true
		}
	},

	WEBTREKK: {
		trackDomain: "sat101.webtrekk.net",
		trackId: "546833590178806",
		domain: "www.sat1.de",
		Enabled: {
			de: true,
			at: false,
			ch: false
		}
	},

	GOOGLEANALYTICS: {
		brand: "sat1",
		brandName: "Sat1",
		brandWording: "Sat.1",
		Accounts: {
			de: "UA-19988703-1",
			at: "UA-20593379-1",
			ch: "UA-20594222-1"
		},
		defaultAccount: "UA-19988703-1",
		defaultDomain: "de",
		host: document.location.host.toLowerCase(),
		errorpage: "/service/fehler",
		Enabled: {
			de: true,
			at: true,
			ch: true
		},
		NodeCriteria: {
			navigation: {
				include: {
					id: "site_header"
				}
			},
			/*subnavigation: {
				include: {
					id: "flyout"
				}
			},*/
			outbound: {
				include: {
					tagName: "body"
				},
				excludeClasses: ["SIMAD"]
			},
			teaser: {
				include: {
					className: "trackable_teaser"
				}
			},
			gallery: {
				include: {
					className: "image_gallery_extended"
				}
			}
		}
	},

	OMNITURESITECATALYST: {
		Enabled: {
			de: false,
			at: false,
			ch: false
		}
	},

	CHARTBEAT: {
		uid: 15810,
		domain: "sat1.de",
		start: (new Date()).getTime(),
		Enabled: {
			de: true,
			at: false,
			ch: false
		}
	},

	UUTRACKER: {
		Accounts: {
			de: "1010",
			at: "1020",
			ch: "1030"
		},
		Enabled: {
			de: true,
			at: true,
			ch: true
		}
	}
},


	INFO: "SIM Tracking Abstraction Framework v2.7.1 DACH[sat1_production] (01/07/2012 at 11:19AM)",

	DOCUMENT:		"SIM_TRACKER_DOCUMENT",
	GALLERY:		"SIM_TRACKER_GALLERY",
	VIDEO:			"SIM_TRACKER_VIDEO",
	TAB:			"SIM_TRACKER_TAB",
	TEASER:			"SIM_TRACKER_TEASER",
	DOWNLOAD:		"SIM_TRACKER_DOWNLOAD",
	MAIL:			"SIM_TRACKER_MAIL",
	OUTBOUND:		"SIM_TRACKER_OUTBOUND",
	NAVIGATION:		"SIM_TRACKER_NAVIGATION",
	INTERACTION:		"SIM_TRACKER_INTERACTION",

	TYPE_PAGE:		"TYPE_PAGE",
	TYPE_MODULE:	"TYPE_MODULE",
	TYPE_EVENT:	"TYPE_EVENT",

	/**
	  *
	  * simTracker.helpers
	  *
	  * @namespace simTracker.helpers
	  *
	  * Some helper functions for the simtracker.
	  *
	  */
      helpers: {

		/**
		 *
		 * processTemplate
		 *
		 * replaces variables in a template string defined in a dataObj
		 * ex: processTemplate("foo {bar} bar {foo}", { bar: "is", foo: "not" }) // -> "foo is bar not"
		 *
		 * @member simTracker.helpers
		 * @param templateStr: the template (String)
		 * @param dataObj: the data to be used for variable replacement (Object/Hashmap)
		* @returns the processed template (String)
		* @type string
		*
		*/
		processTemplate: function(templateStr, dataObj) {
            var result = templateStr;
            simTracker.helpers.eachKeyValue(dataObj, function(k,v) {
               result = result.replace("{" + k + "}", v);
            });
            return result;
		},

		/**
		*
		* camelize
		*
		* camelizes string notation. removes underscore and sets the following character to capital
		* ex: background_color-> backgroundColor
		*
		* @member simTracker.helpers
		* @param str: the string that will be camelized
		* @returns the camelized string
		* @type string
		*
		*/
     camelize: function(str) {
        if (str === "") {
           return str;
        }
        var parts = str.split("_");
        parts = simTracker.helpers.map(parts, function(part) {
           var p = part.toLowerCase();
           return p.substr(0, 1).toUpperCase() + p.substr(1);
        });
        return parts.join("");
     },

		 posInArray: function(array, element) {
       for(var i=0; i<array.length; i++){
          if(array[i]===element){
             return i;
          }
       };
       return -1;
    },

		getElementsByClassName: function(oElm, strTagName, strClassName){
			var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
			var arrReturnElements = new Array();
			strClassName = strClassName.replace(/\-/g, "\\-");
			var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
			var oElement;
			for(var i=0; i<arrElements.length; i++){
				oElement = arrElements[i];
				if(oRegExp.test(oElement.className)){
					arrReturnElements.push(oElement);
				}
			}
			return (arrReturnElements);
		},

		addEvent: function( obj, type, fn ) {
			if (obj.addEventListener) {
				obj.addEventListener( type, fn, false );
			} else {
				if (obj.attachEvent) {
					obj["e"+type+fn] = fn;
					obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
					obj.attachEvent( "on"+type, obj[type+fn] );
				}
			}
		},
		getTLD: function(domainString) {
			return /.*\.(.*)/.exec(domainString) != null ? /.*\.(.*)/.exec(domainString)[1] : "de";
		},
		selectLinks : function(selector, exclusion, rootelement) {
		  if (typeof(rootelement) == "undefined" || rootelement == null) {
		    rootelement = document;
		  }
			if (typeof(selector) == "object") {
				if ((typeof(selector.id) == "undefined") && (typeof(selector.className) == "undefined") && (typeof(selector.tagName) == "undefined")) {
					return [];
				}
			} else {
				return [];
			}

			var setOfElements = [];
			if (typeof(selector.id) != "undefined") {
				if (rootelement.getElementById(selector.id) != null) {
					setOfElements = new Array(rootelement.getElementById(selector.id));
				}
			} else {
				if (typeof(selector.className) != "undefined") {
					setOfElements = simTracker.helpers.getElementsByClassName(rootelement, selector.tagName || "*", selector.className);
				} else {
					setOfElements = rootelement.getElementsByTagName(selector.tagName);
				}
			}

			var setOfLinks = [];
			var currentLinks = [];
			for (var item=0; item<setOfElements.length; item++) {
				try {
					currentLinks = Array.prototype.slice.call(setOfElements[item].getElementsByTagName("a"));
				} catch (err) {
					var length = setOfElements[item].getElementsByTagName("a").length || 0;
					while (length--) {
						currentLinks[length] = setOfElements[item].getElementsByTagName("a")[length];
					}
				}
				setOfLinks = setOfLinks.concat(currentLinks);
			}

			filter = function(node) {
				if (typeof(exclusion) != "object") return true;

				if (node.tagName.toLowerCase() == "body") {
					return true;
				} else {

					for (var e=0; e<exclusion.length; e++) {
						if ((node.id && node.id.indexOf(exclusion[e]) > -1) ||
							(node.className && node.className.indexOf(exclusion[e]) > -1)) {
							return false;
						}
					}
					return filter(node.parentNode);
				}
			}

			var result = [];
			for (var link=0; link<setOfLinks.length; link++) {
				if (filter(setOfLinks[link])) {
					result.push(setOfLinks[link]);
				}
			}

			return result;
		},

		publishFunction: function(functionName, callthrough, scope) {
		  if (typeof(simTracker[functionName]) == "undefined") {
		    simTracker[functionName] = function() {
		      callthrough.apply(scope, arguments);
		    }
		  }
		},

		bindLinks : function(part, rootelement) {
			var nodes = [];
			var trackMap;
			var select;
      if (typeof(rootelement) == "undefined" || rootelement == null) {
		    rootelement = document;
		  }

			addOnClick = function (node, expr, func) {
				simTracker.helpers.addEvent(node, "click", function(event) {
							switch (func) {
								case "navigation": simTracker.track({'simTrackerMetainfo':{'type':simTracker.NAVIGATION,'linkUrl': expr, 'node': node}}, 'click'); break;
								case "pageview": simTracker.track(); break;
								case "teaser": simTracker.track({'simTrackerMetainfo':{'type':simTracker.TEASER,'linkUrl': expr, 'node': node}}, 'click'); break;
								case "download": simTracker.track({'simTrackerMetainfo':{'type':simTracker.DOWNLOAD,'linkUrl': expr, 'node': node}}, 'click'); break;
								case "outbound": simTracker.track({'simTrackerMetainfo':{'type':simTracker.OUTBOUND,'linkUrl': expr, 'node': node}}, 'click'); break;
								case "mail": simTracker.track({'simTrackerMetainfo':{'type':simTracker.MAIL,'linkUrl': expr, 'node': node}}, 'click'); break;
								case "gallery": simTracker.track({'simTrackerMetainfo':{'type':simTracker.GALLERY,'linkUrl': expr, 'node': node}}, 'click'); break;
								case "interaction": simTracker.track({'simTrackerMetainfo':{'type':simTracker.INTERACTION,'linkUrl': expr, 'node': node}}, 'interaction'); break;
							}
						});
			}
			var googleConfig = simTracker.getTrackerConfig('GoogleAnalyticsTracker');
			if (typeof(googleConfig.NodeCriteria[part]) == "object") {
				nodes = simTracker.helpers.selectLinks(
					googleConfig.NodeCriteria[part].include,
					googleConfig.NodeCriteria[part].excludeClasses,
					rootelement
				);
				switch (part) {
					case "navigation":
						info = function(node) {
							return {t:true, e:node.innerHTML, f:"navigation"};
						}
						break;
					case "subnavigation":
						info = function(node) {
							return {t:true, e:node.innerHTML, f:"navigation"};
						}
						break;
					case "outbound":
						info = function(node) {
							var result = {t: false, e:"", f:""};
							if (node.href.match(/^mailto\:/i)) {
								result = {t:true, e:node.href, f:"mail"};
							} else {
								if (node.href.match(/\.(pdf|doc|zip|xls|exe)$/i)) {
									result = {t:true, e:node.href, f:"download"};
								} else {
									if (node.href.match('//') && node.href.split('//')[1].split('/')[0] != document.location.host)	{
										result = {t:true, e:node.href, f:"outbound"};
									}
								}
							}
							return result;
						}
						break;
					case "teaser":
						info = function(node) {
							return {
								t: true,
								e: node.href || node.title,
								f: "teaser"
							};
						}
						break;
					case "gallery":
						info = function(node) {
							var result = {
								t: true,
								e: document.getElementsByTagName("title")[0].innerHTML,
								f: "gallery"
							}
							return result;
						}
						break;
				}

				if (typeof(googleConfig.NodeCriteria[part].info)=="function") {
					info = googleConfig.NodeCriteria[part].info;
				}


				if (typeof(googleConfig.NodeCriteria[part].onclickOnce)=="function" && typeof(this[part + "Bound"]) == "undefined") {
					try {
						googleConfig.NodeCriteria[part].onclickOnce();
						this[part + "Bound"] = true;
					} catch (err) {}
				}
			}
			for (var i=0; i<nodes.length; i++) {
				try {
					trackMap = info(nodes[i]);
				} catch (err) {trackMap = {t:false, e:"", f:""}}

				if (Object.prototype.toString.call(trackMap) == "[object Array]") {
					for (var j=0;j<trackMap.length;j++) {
						if (trackMap[j].t) {
							addOnClick(nodes[i], trackMap[j].e, trackMap[j].f);
						}
					}
				} else {
					if (trackMap.t) {
						addOnClick(nodes[i], trackMap.e, trackMap.f);
					}
				}
			}

			return nodes;
		},

         each: function(arr, func, scope) {
            for (var i = 0; i < arr.length; i += 1) {
               func.call(scope, arr[i], i);
            }
         },
         eachKeyValue: function(obj, func, scope) {
            for (var key in obj) {
               if ("undefined" === typeof(Object.prototype[key])) {
                  func.call(scope, key, obj[key]);
               }
            }
         },
         map: function(arr, func, scope) {
            var result = [], i;
            for (i = 0; i < arr.length; i += 1) {
               result.push(func.call(scope, arr[i]));
            }
            return result;
         },
         keys: function(obj) {
            var keyList = [];
            simTracker.helpers.eachKeyValue(obj, function(k, v) {
               keyList.push(k);
            });
            return keyList;
         },
         delegateTo: function(scope, func) {
            return function() {
               func.apply(scope, arguments);
            };
         },
         clone: function(obj) {
            var objClone = {};
            simTracker.helpers.eachKeyValue(obj, function(k,v) {
               objClone[k] = v;
            });
            return objClone;
         },
         concatIvwPath: function() {
            var pathArr = [];
            simTracker.helpers.each(arguments, function(arg) {
               if ("string" === typeof(arg)) {
                  simTracker.helpers.each(arg.split("/"), function(str) {
                     if (str !== "") {
                        pathArr.push(str);
                     }
                  });
               }
            });
            return "/" + pathArr.join("/");
         },
		 getBrowserSize: function() {
			var myWidth, myHeight;

			if(typeof( window.innerWidth ) == 'number' ) {
				myWidth = window.innerWidth;
				myHeight = window.innerHeight;
			} else if( document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
				myWidth = document.documentElement.clientWidth;
				myHeight = document.documentElement.clientHeight;
			} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
				myWidth = document.body.clientWidth;
				myHeight = document.body.clientHeight;
			}
			return myWidth+"x"+myHeight;
		 },
		 getFlashVersion: function() {
		    try {
			  try {
			    var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
			    try { axo.AllowScriptAccess = 'always'; }
			    catch(e) { return '6,0,0'; }
			  } catch(e) {}
			  return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
		    } catch(e) {
			  try {
			    if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){
			    	return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
			  }
			  } catch(e) {}
		    }
		    return '0,0,0';
		}, // original function 'chain' by Zone / Andy Butland
		chain: function(oldFunc, newFunc) {
			if (oldFunc) {
				return function() {
					newFunc.call(this, arguments);
					return oldFunc.call(this, arguments);
				}
			} else {
				return newFunc;
			}
		}
      },

	  chainClickElement : function(tag, ty) {

		var links = document.getElementsByTagName(tag);
		var lUrl;

		for ( var j = 0; j < links.length; j++) {

			lUrl = links[j].innerHTML;
			lParent = links[j].offsetParent;

			var href = links[j].href;

			 if (href == "") { continue; }



			 if( href.match(/mailto\:/i) ){

				 if (typeof(links[j].firstChild.data) !== 'undefined') {
				 var track =links[j].firstChild.data;
				 }
				 else{
				  var track = href.substring(7);
				 }

					links[j].onclick = simTracker.helpers.chain(links[j].onclick,
					(function(track) {
						return function() {
							simTracker.track({'simTrackerMetainfo':{'type':simTracker.MAIL,'linkUrl': track}}, 'click');
						};
					})(track)
					);
			 }
			 else if( href.match(/\.(pdf|doc|zip|xls|exe)$/i) ){
				 var track = href.replace(/^http:\/\//i, '');
				 links[j].onclick = simTracker.helpers.chain(links[j].onclick,
					(function(track) {
						return function() {
							simTracker.track({'simTrackerMetainfo':{'type':simTracker.DOWNLOAD,'linkUrl': track}}, 'click');
						};
					})(track)
					);
			 }
			 else if( href.match(/(adserv.quality-channel.de)/i) ){
				 continue;
			 }
			 else if( href.match('//') && href.split('//')[1].split('/')[0] != document.location.host ){
				 var track = href.replace(/^http:\/\//i, '');
				links[j].onclick = simTracker.helpers.chain(links[j].onclick,
					(function(track) {
						return function() {
							simTracker.track({'simTrackerMetainfo':{'type':simTracker.OUTBOUND,'linkUrl': track}}, 'click');
						};
					})(track)
					);
			 }
			 else{ continue; }
/*
			links[j].onclick = simTracker.helpers.chain(links[j].onclick,
			(function(track) {
				return function() {
					simTracker.track({'simTrackerMetainfo':{'type':simTracker.DOWNLOAD,'linkUrl': 'track'}}, 'click');
				};
			})(track)
			);

			*/
		}
	},

		log: function(message) {
		},


      track: function(node, event) {
         if (typeof(simTracker.config.override) == "function") {
           simTracker.config.override();
         }
         simTracker._tracker.track(node, event );
      },

	  finalize_tracking: function() {
	     simTracker._tracker.finalize_tracking();
	  },

	 getSessionId: function(defaultSessionId) {
	 	 if (typeof(simTracker._sessionId) === 'undefined') {
	 		simTracker._sessionId = defaultSessionId || (new Date()).getTime() + "_" + Math.round(Math.random() * 100000);
	 	 }
		 return simTracker._sessionId;
	  },


      _fixEventListening: function() {
         if ("function" !== typeof(window.addEventListener)) {
            if (document.attachEvent) {
               window.addEventListener = function(type, listener, useCapture) {
                  window.attachEvent("on" + type, listener);
               };
            } else {
               throw new Error("no event listening workaround available!");
            }
         }
      },

      onLeavePage: function() {
         simTracker.videoPlayerAdapter.onLeavePage();
      },

      onPageLoaded: function() {
			this.helpers.bindLinks("navigation");
			this.helpers.bindLinks("outbound");
			this.helpers.bindLinks("teaser");
			this.helpers.bindLinks("gallery");

      },
	  getTrackerConfig: function(trackerClassName) {
	       var configName = trackerClassName.toUpperCase().split("TRACKER")[0];
		   if (typeof(simTracker.config[configName]) != "undefined") {
			   return simTracker.config[configName];
		   } else {
			   return {Enabled: {de:true, at:true, ch:true}}
		   }
	   },
	  isTrackerEnabled: function(trackerClassName, domainString) {
	    var result = true;
	 	if (typeof(simTracker.getTrackerConfig(trackerClassName).Enabled) == "object") {
			result = simTracker.getTrackerConfig(trackerClassName).Enabled[simTracker.helpers.getTLD(domainString || document.location.hostname)];
		}
		if (typeof(result) == "undefined") {
		  result = true;
		}
		return result;
	  },
      setup: function() {
         this._fixEventListening();

		simTracker._tracker = new simTracker.SimTrackerDispatcher();

		if(typeof this.WebtrekkTracker == 'function') {
			simTracker._tracker.register(new simTracker.WebtrekkTracker());
		}
		if(typeof this.YwaTracker == 'function') {
			simTracker._tracker.register(new simTracker.YwaTracker());
		}
		if(typeof this.IvwTracker == 'function') {
			simTracker._tracker.register(new simTracker.IvwTracker());
		}

		if(typeof this.OmnitureSiteCatalystTracker == 'function') {
			simTracker._tracker.register(new simTracker.OmnitureSiteCatalystTracker());
		}

		if(typeof this.GoogleAnalyticsTracker == 'function') {
		   simTracker._tracker.register(new simTracker.GoogleAnalyticsTracker());
		}

		if(typeof this.GandTracker == 'function') {
			simTracker._tracker.register(new simTracker.GandTracker());
		}

		if(typeof this.UUTracker == 'function') {
			simTracker._tracker.register(new simTracker.UUTracker());
		}

		if(typeof this.VideoBugTracker == 'function') {
			simTracker._tracker.register(new simTracker.VideoBugTracker());
		}

         simTracker.videoPlayerAdapter = new simTracker.VideoPlayerAdapter();

         window.addEventListener("unload", function() { simTracker.onLeavePage(); }, false);
         window.addEventListener("load", function() { simTracker.onPageLoaded(); }, false);

      }
   };

	/*****************************************************************************/
	/**
	*
	* simTracker.TrackerBase
	*
	* @namespace simTracker.TrackerBase
	*
	* is the prototype for all trackers.
	*/
	simTracker.TrackerBase = function() {
      this.className = 'TrackerBase';
	};

/**
    * checks if tracking system is allowed on object
    * if trackingSys definition is missing in metainfo, function returns true
    * ex: trackingAllowedFor(document) -> true // defined in document.simTrackerMetainfo.trackingSys
    *
    * @obj: node or document
    */
	simTracker.TrackerBase.prototype.trackingAllowedFor = function(obj)
	{
		var result = false;
		var trackingSys = obj.simTrackerMetainfo.trackingSys; //trackingSys from JSON-Object

		if ("undefined" === typeof(trackingSys))
		{
			if ("object" === typeof(document.simTrackerMetainfo))
			{
				trackingSys = document.simTrackerMetainfo.trackingSys;
			}
		}

		if ("undefined" === typeof(trackingSys))
		{
			result = true;
		} else {

			if ("string" === typeof(trackingSys)) {
				trackingsysCode = parseInt(trackingSys,2);
			}
			if ("number" === typeof(trackingSys)) {
				trackingsysCode = trackingSys;
			}

			if((this.trackingSys & trackingsysCode) > 0)
			{
				result= true;
			}
		}

		if(this.className === "DebugTracker")
		{
			result= true;
		}

		return result;
	};

   /**
    * transforms objects metatype to metatype name.
    * ex: SIM_TRACKER_VIDEO -> Video
    * ex: SIM_TRACKER_FLASH_PAGE -> FlashPage
    *
    * @obj: node or document
    */
   simTracker.TrackerBase.prototype.metaTypeNameOf = function(obj) {
      var metaType = obj.simTrackerMetainfo.type;
      return simTracker.helpers.camelize(metaType.substr(12));
   };

   simTracker.TrackerBase.prototype.checkType = function(node, event) {
      if ("undefined" === typeof(node) && "undefined" === typeof(event)) { return simTracker.TYPE_PAGE; }
      if ("undefined" !== typeof(node) && "undefined" === typeof(event)) { return simTracker.TYPE_MODULE; }
      if ("undefined" !== typeof(node) && "undefined" !== typeof(event)) { return simTracker.TYPE_EVENT; }
   };

   simTracker.TrackerBase.prototype.concatIvwPath = simTracker.helpers.concatIvwPath;


/*****************************************************************************/
/**
*
* simTracker.SimTrackerDispatcher
*
* @namespace simTracker.SimTrackerDispatcher
*
* dispatches track commands to the configured tracker(s).
*
*/
   simTracker.SimTrackerDispatcher = function(){
       this._trackers = [];
   };


   simTracker.SimTrackerDispatcher.prototype.track = function(node, event){

	   var type = null;
	   var allowedTracker = [];
	   var json_param = null;

	   if ("undefined" === typeof(document.simTrackerMetainfo)) {
		   document.simTrackerMetainfo = {};
		   document.simTrackerMetainfo = simTracker.DOCUMENT;
	   }

	   if (node && typeof node === 'object' && typeof node.event === 'string' && event === undefined) {

		   json_param = node;

		   var trackerString = (json_param.tracker ? json_param.tracker : []).join();
		   type = json_param.type || document.simTrackerMetainfo.type;


		   event = json_param.event
		   node = undefined;

		   simTracker.helpers.each(this._trackers, function(tracker){
	           if ( trackerString.indexOf(tracker.className ) > -1 ) {
	        	   allowedTracker.push(tracker);
	           }
	       }, this);
	   }   else if (node && typeof node === 'object' && event && typeof event.event === 'string') {

		   json_param = event;
		   type = json_param.type || document.simTrackerMetainfo.type;
		   var trackerString = json_param.tracker.join();


		   event = json_param.event


		   simTracker.helpers.each(this._trackers, function(tracker){
	           if ( trackerString.indexOf(tracker.className ) > -1 ) {
	        	   allowedTracker.push(tracker);
	           }
	       }, this);
	   } else {

		   type = (node || document).simTrackerMetainfo.type;

	       simTracker.helpers.each(this._trackers, function(tracker){
	           if (tracker.trackingAllowedFor(node || document)) {
	        	   allowedTracker.push(tracker);
	           }
	       }, this);

	   }

       if ("undefined" === typeof(type) || type.match(/^SIM_TRACKER_/) === null) {
           return false;
       }
	   var trackerEnabled;

       simTracker.helpers.each(allowedTracker, function(tracker){
		   trackerEnabled = simTracker.isTrackerEnabled(tracker.className, document.simTrackerMetainfo.domain);
           if ("object" === typeof(tracker) && "function" === typeof(tracker.track) && trackerEnabled) {
               this._cleanupMetainfoIn(node || document);
               tracker.track(node, event, json_param);
           }
       }, this);

	   simTracker.SimTrackerDispatcher.prototype.finalize_tracking = function(){
	       simTracker.helpers.each(this._trackers, function(tracker){
			   if ("object" === typeof(tracker) && "function" === typeof(tracker._trackFinalizeEvent)) {
				   tracker._trackFinalizeEvent();
			   }
           }, this);
       };
   };

   /**
    * cleans up metainfo
    * - replaces empty strings with "undefined"
    * - checks ivwPath, fixes it and sets agofCode to "0000keincode" if ivwPath undefined
    *
    * @obj: node or document
    */
   simTracker.SimTrackerDispatcher.prototype._cleanupMetainfoIn = function(obj){
       if ("undefined" !== typeof(obj)) {
           simTracker.helpers.eachKeyValue(obj.simTrackerMetainfo, function(k, v){
               if (v === "") {
                   obj.simTrackerMetainfo[k] = v = undefined;
               }
               if (k === "ivwPath") {
                   if ("string" !== typeof(v)) {
                       obj.simTrackerMetainfo.agofCode = "0000keincode";
                   }
                   obj.simTrackerMetainfo.ivwPath = simTracker.helpers.concatIvwPath(obj.simTrackerMetainfo.ivwPath);
               }
               if (k === "isTrackable") {
                   obj.simTrackerMetainfo.isTrackable = (v === true || v === "true");
               }
           });
       }
   };

   simTracker.SimTrackerDispatcher.prototype.register = function(tracker){
       this._trackers.push(tracker);
   };



if (typeof(simTracker) != "undefined" && typeof(simTracker.config) != "undefined" && typeof(simTracker.config.CHARTBEAT) != "undefined" && simTracker.isTrackerEnabled("chartbeat")) {
	var _sf_startpt = simTracker.config.CHARTBEAT.start;
	var _sf_async_config = {
		uid: simTracker.config.CHARTBEAT.uid,
		domain: simTracker.config.CHARTBEAT.domain
	};

	(function(){
	  function loadChartbeat() {
	    window._sf_endpt=(new Date()).getTime();
	    var e = document.createElement('script');
	    e.setAttribute('language', 'javascript');
	    e.setAttribute('type', 'text/javascript');
	    e.setAttribute('src',
	       (("https:" == document.location.protocol) ? "https://s3.amazonaws.com/" : "http://") +
	       "static.chartbeat.com/js/chartbeat.js");
	    document.body.appendChild(e);
	  }
	  var oldonload = window.onload;
	  window.onload = (typeof window.onload != 'function') ?
	     loadChartbeat : function() { oldonload(); loadChartbeat(); };
	}());
}
/*****************************************************************************/
/**
 *
 * simTracker.WebtrekkTracker
 *
 * @namespace simTracker.WebtrekkTracker
 *
 * processes tracking data for Webtrekk.
 *
 */
simTracker.WebtrekkTracker = function() {

	this.constructor();
	this.className = 'WebtrekkTracker';
	this.enabled = true;
	if (typeof simTracker.config.WEBTREKK == "object") {
		webtrekk.trackDomain = simTracker.config.WEBTREKK.trackDomain; //"prosieben01.webtrekk.net"; // track url
		webtrekk.trackId = simTracker.config.WEBTREKK.trackId; //"696635064483150"; // webtrekk id(s)
		webtrekk.domain = simTracker.config.WEBTREKK.domain; //"www.prosieben.de"; // list or regexp of your domains
	} else {
		this.enabled = false;
	}
	webtrekk.contentId = ""; // content id
	webtrekk.contentGroup = [];
	webtrekk.contentGroup[1] = "";
	webtrekk.contentGroup[2] = "";

	webtrekk.linkTrack = "link"; // click tracking: (standard|link)
	webtrekk.linkTrackAttribute = ""; // optional: for "standard" only
	webtrekk.linkTrackParams = "id"; // optional: for "link" only
	webtrekk.heatmap = "1"; // activate heatmap tracking
	webtrekk.form = ""; // activate form tracking
	webtrekk.formAnonymous = ""; // anonymous data
	webtrekk.formFullContent = ""; // full contents fields
	webtrekk.formAttribute = ""; // optional: alternative tag for forms
	webtrekk.formFieldAttribute = ""; // optional: alternative tag for form
	webtrekk.product = ""; // products
	webtrekk.productCategory = [];
	webtrekk.productCategory[1] = ""; // optional: category
	webtrekk.productCategory[2] = ""; // optional: brand
	webtrekk.productQuantity = ""; // optional: quantity
	webtrekk.productCost = ""; // optional: costs
	webtrekk.productStatus = ""; // optional: status: (add|conf|view)
	webtrekk.orderValue = ""; // total order value
	webtrekk.orderId = ""; // optional: order id
	webtrekk.mediaCode = ""; // mediacode
	webtrekk.mediaCodeValue = ""; // optional: mediacode value
	webtrekk.customParameter = []; // custom parameter page context
	webtrekk.customClickParameter = []; // custom parameter click
	webtrekk.customSessionParameter = []; // custom parameter session
	webtrekk.customTimeParameter = []; // custom parameter time context
	webtrekk.customCampaignParameter = []; // custom parameter campaign
	webtrekk.customEcommerceParameter = []; // custom parameter
	webtrekk.customerId = "";

	webtrekk.internalSearch = "";

	webtrekk.plugins = ''; // optional: list of browser plugins
	webtrekk.cookie = ""; // (3|1, 3 is default, 1st or 3rd party cookie)

	this.trackingSys = 16;

	this._videoViewTime = 0;
	this._videoInterval = 0;
	this.seek=false;
	this.pos=0;

};

simTracker.WebtrekkTracker.prototype = new simTracker.TrackerBase();

simTracker.WebtrekkTracker.prototype._trackPage = function() {

	docMeta = document.simTrackerMetainfo;
	webtrekk.contentId = this.concatIvwPath(docMeta.ivwPath, docMeta.title);
	webtrekk.domain = docMeta.domain;
	webtrekk.contentGroup[1] = docMeta.channel;
	webtrekk.contentGroup[2] = docMeta.subchannel1;
	webtrekk.contentGroup[3] = docMeta.subchannel2;
	webtrekk.contentGroup[4] = docMeta.subchannel3;
	webtrekk.contentGroup[5] = docMeta.subchannel4;
	webtrekk.contentGroup[6] = docMeta.subchannel5;

	/*
	webtrekk.customParameter[1] = docMeta.title;
	webtrekk.customParameter[2] = docMeta.ivwPath;
	webtrekk.customParameter[3] = docMeta.agofCode;
	webtrekk.customParameter[4] = docMeta.contentType;
	*/
	wt_sendinfo();

};

simTracker.WebtrekkTracker.prototype._trackModule = function(node, event) {
	var fname = "_track" + this.metaTypeNameOf(node);
	if ("undefined" === typeof (this[fname])) {
	} else {
		this[fname](node, event); // dynamic call
	}
};

simTracker.WebtrekkTracker.prototype._trackVideo = function(node, event) {
	if (this.checkType(node, event) === simTracker.TYPE_EVENT) {
		this._trackVideoEvent(node, event);
	} else {

		var docMeta = document.simTrackerMetainfo;
		var nodeMeta = node.simTrackerMetainfo;
		var duration = Math.round(nodeMeta.viewDuration);
		/*
		var videoname = this.concatIvwPath(nodeMeta.ivwPath, nodeMeta.title);
		var mgN = "mg1=" + docMeta.channel + ";mg2=" + docMeta.subchannel1
				+ ";mg3=" + docMeta.subchannel2 + ";mg4=" + docMeta.subchannel3
				+ ";mg5=" + docMeta.subchannel4 + ";mg6=" + nodeMeta.videoType
				+ ";mg7=" + nodeMeta.agofCode + ";mg8=" + docMeta.domain;
		*/
		var videoname = this.concatIvwPath(nodeMeta.ivwPath, nodeMeta.title);
		videoname += "("+nodeMeta.agof+")";

		var mediagroups = [
			docMeta.domain, docMeta.channel, docMeta.subchannel1,
			nodeMeta.videoType, nodeMeta.webexclusive, docMeta.adfree,
			window.DFPSite, window.DFPZone
		];

		var mgN = this._stringifyMediaGroups(mediagroups);
		var clickinit = [
			docMeta.domain, docMeta.channel, docMeta.subchannel1,
			nodeMeta.videoType, nodeMeta.webexclusive, nodeMeta.adfree,
			window.DFPSite, window.DFPZone, videoname, "init"
		];
		var clickplay = [
			docMeta.domain, docMeta.channel, docMeta.subchannel1,
			nodeMeta.videoType, nodeMeta.webexclusive, nodeMeta.adfree,
			window.DFPSite, window.DFPZone, videoname, "play"
		];

		var mgInit = mgN + ";" + this._stringifyClickParameters(clickinit);
		var mgPlay = mgN + ";" + this._stringifyClickParameters(clickplay);
		wt_init_media(webtrekk.trackDomain, webtrekk.trackId);
		wt_sendinfo_media(videoname, "init", 0, duration, mgInit, 100, 255, 1);
		wt_sendinfo_media(videoname, "play", 0, duration, mgPlay, 100, 255, 1);

	}
};

simTracker.WebtrekkTracker.prototype._trackVideoEvent = function(node, event) {

	var docMeta = document.simTrackerMetainfo;
	var nodeMeta = node.simTrackerMetainfo;
	var duration = Math.round(nodeMeta.viewDuration);


	var videoname = this.concatIvwPath(nodeMeta.ivwPath, nodeMeta.title);
	videoname += "("+nodeMeta.agof+")";

	var mediagroups = [docMeta.domain, docMeta.channel, docMeta.subchannel1,
		nodeMeta.videoType, nodeMeta.webexclusive, nodeMeta.adfree,
		window.DFPSite, window.DFPZone];

	var clickparameter = [
		docMeta.domain, docMeta.channel, docMeta.subchannel1,
		nodeMeta.videoType, nodeMeta.webexclusive, nodeMeta.adfree,
		window.DFPSite, window.DFPZone, videoname
	];

	var mgN = this._stringifyMediaGroups(mediagroups);
	var ckN;

	if(event.timeCode!=undefined){
		this.pos = Math.round(event.timeCode);
	}

	switch (event.type) {
		case "contentClip_start":
			clickparameter.push("contentClip_start");
			ckN = mgN + ";" + this._stringifyClickParameters(clickparameter);
			wt_sendinfo_media(videoname, "contentClip_start", 2, duration, ckN,	100,255, 1);
			break;

		case "skipPosition":
			clickparameter.push("seek");
			ckN = mgN + ";" + this._stringifyClickParameters(clickparameter);
			wt_sendinfo_media(videoname, "seek", this.pos, duration, ckN,	100,255, 1);
			this.seek=true;
			break;
		case "contentClip_completed":
			clickparameter.push("eof");
			ckN = mgN + ";" + this._stringifyClickParameters(clickparameter);
			wt_sendinfo_media(videoname, "eof", duration, duration, ckN, 100, 255, 1);
			break;
		case "contentClip_canceled":
			clickparameter.push("stop");
			ckN = mgN + ";" + this._stringifyClickParameters(clickparameter);
			wt_sendinfo_media(videoname, "stop", this.pos, duration, ckN, 100, 255, 1);
			break;
		case "prerollAd_start":
			clickparameter.push("prerollAd_start");
			ckN = mgN + ";" + this._stringifyClickParameters(clickparameter);
			wt_sendinfo_media(videoname, "prerollAd_start", 0, duration, ckN, 100,255, 1);
			break;
		case "prerollAd_completed":
			clickparameter.push("prerollAd_completed");
			ckN = mgN + ";" + this._stringifyClickParameters(clickparameter);
			wt_sendinfo_media(videoname, "prerollAd_completed", 1, duration, ckN,100, 255, 1);
			break;

		case "viewTimeXplus":
		case "midrollAd0_start":
		case "midrollAd0_completed":
		case "overlayAd_start":
		case "overlayAd_completed":
		case "postrollAd_start":
		case "postrollAd_completed":
		case "midrollAd1_start":
		case "midrollAd1_completed":
		case "midrollAd2_start":
		case "midrollAd2_completed":
		case "midrollAd3_start":
		case "midrollAd3_completed":
		case "midrollAd4_start":
		case "midrollAd4_completed":
		case "pause":
			clickparameter.push(event.type);
			ckN = mgN + ";" + this._stringifyClickParameters(clickparameter);
			wt_sendinfo_media(videoname, event.type, this.pos, duration, ckN, 100, 255, 1);
			break;
		case "play":
	    clickparameter.push("resume");
			ckN = mgN + ";" + this._stringifyClickParameters(clickparameter);
			wt_sendinfo_media(videoname, "resume", this.pos, duration, ckN, 100, 255, 1);
			break;
		case "updatePosition":
			this._videoViewTime += 5;
			this._videoInterval ++;

			if (this.seek){ //send a play event after a seek event
				clickparameter.push("play");
				ckN = mgN + ";" + this._stringifyClickParameters(clickparameter);
				wt_sendinfo_media(videoname, "play", this.pos, duration, ckN, 100, 255, 1);
				this.seek=false;
			}
			else {
				if ((this._videoInterval % 6) == 0) {
					clickparameter.push("pos");
					ckN = mgN + ";" + this._stringifyClickParameters(clickparameter);
					wt_sendinfo_media(videoname, "pos", this.pos, duration, ckN, 100, 255, 1);
				}
			}

			break;

	}

};

simTracker.WebtrekkTracker.prototype._trackTab = function(node, event) {

};

simTracker.WebtrekkTracker.prototype._trackGallery = function(node, event) {
	this._trackTab(node, event); /* equal to tab tracking */
};

simTracker.WebtrekkTracker.prototype._trackTeaser = function(node, event) {
};

simTracker.WebtrekkTracker.prototype._trackDownload = function(node, event) {
};
simTracker.WebtrekkTracker.prototype._trackOutbound = function (node, event) {

};

simTracker.WebtrekkTracker.prototype.track = function(node, event) {
	if (this.enabled) {
		if (this.checkType(node, event) === simTracker.TYPE_PAGE) {
			this._trackPage();
		} else {
			this._trackModule(node, event);
		}
	}
};

simTracker.WebtrekkTracker.prototype._stringifyMediaGroups = function(_mgArray) {
	return this._stringifyParameters(_mgArray, "mg");
};

simTracker.WebtrekkTracker.prototype._stringifyClickParameters = function(_mgArray) {
	return this._stringifyParameters(_mgArray, "ck");
};

simTracker.WebtrekkTracker.prototype._stringifyParameters = function(_paramArray, _prefix) {
	var result = "",
    _paramLength = _paramArray.length,
    _paramX,
    i = 1;
	for (i=1; i<_paramLength;i++) {
		_paramX = _paramArray.shift();
		result += _prefix + i + "=" + _paramX + ";";
	}
	result += _prefix + _paramLength + "=" + _paramArray.shift();
	return result;
};
/*****************************************************************************/
/**
    *
    * simTracker.IvwTracker
    *
    * @namespace simTracker.IvwTracker
    *
    * processes tracking data for IVW.
    *
    */
   simTracker.IvwTracker = function() {
      this.constructor();
      this.className = 'IvwTracker';
      this.trackingSys  = 2;

      this._imgList = [];

      window.count_ivw =
      window.wert =
      window.get_ivw = simTracker.helpers.delegateTo(this, this.onLegacyFunctionCall);
   };

   simTracker.IvwTracker.prototype = new simTracker.TrackerBase();

   simTracker.IvwTracker.prototype.onLegacyFunctionCall = function(ivwExtension, ivwAbsolutePath) {

      var obj = { simTrackerMetainfo: simTracker.helpers.clone(document.simTrackerMetainfo) };
      if ("string" === typeof(ivwAbsolutePath) && ivwAbsolutePath !== "") {
         obj.simTrackerMetainfo.ivwPath = this.concatIvwPath(ivwAbsolutePath, ivwExtension);
      } else {
         obj.simTrackerMetainfo.ivwPath = this.concatIvwPath(obj.simTrackerMetainfo.ivwPath, ivwExtension);
      }
      this.track(obj);
   };

   simTracker.IvwTracker.prototype.track = function(node, event) {
      var data, templateUrl, finalUrl;

      if (!this._mustTrack(node, event)) {
         return;
      }
      data = {
         agof: (node && node.simTrackerMetainfo && node.simTrackerMetainfo.agofCode ? node : document).simTrackerMetainfo.agofCode,
         path: (node && node.simTrackerMetainfo && node.simTrackerMetainfo.ivwPath ? node : document).simTrackerMetainfo.ivwPath,
         time: (new Date()).getTime() + "_" + Math.round(Math.random() * 100000),
         referrer: escape(document.referrer)
      };

      templateUrl = simTracker.config.getIvwUrlTemplate(document.simTrackerMetainfo);
      if ("string" !== typeof(templateUrl)) {
         throw new Error("IVW URL template not found!");
      }


	finalUrl = simTracker.helpers.processTemplate(templateUrl, data);
      finalUrl = finalUrl.replace(/([^:])\/\//g, "$1/"); //fix: replace "//" with "/" in URL (don't  touch "http://")

      this._imgList.splice(0, 1, new Image());
      this._imgList[0].src = finalUrl;
   };

   simTracker.IvwTracker.prototype._mustTrack = function(node, event) {
      var type = this.checkType(node, event), nodeMetaType;
      switch(type) {
         case simTracker.TYPE_PAGE:
            return document.simTrackerMetainfo.isTrackable;
         case simTracker.TYPE_MODULE:
		    nodeMetaType = node.simTrackerMetainfo.type;
			switch(nodeMetaType) {
			  case simTracker.GALLERY:
				 return true;
			  case simTracker.TAB:
				 return true;
			  case simTracker.TEASER:
				 return false;
			  case simTracker.DOWNLOAD:
			     return false;
			  default:
			     return true;
			}
         case simTracker.TYPE_EVENT:
            nodeMetaType = node.simTrackerMetainfo.type;
            return nodeMetaType == simTracker.GALLERY || nodeMetaType == simTracker.TAB;
      }
      return false;
   };
/*****************************************************************************/
/**
 *
 * simTracker.GoogleAnalyticsTracker
 *
 * @namespace simTracker.GoogleAnalyticsTracker
 *
 * tracks information to Google Analytics
 *
 */

simTracker.GoogleAnalyticsTracker = function() {
  this.constructor();
  this.className = 'GoogleAnalyticsTracker';
  this.trackingSys = 4;
  this.view_time = 0;
  this.video_duration = 0;
  this.video_type = "";
  this.midrolls_viewed = 0;

  this.videoIsInitialized = false;
  this.scriptInserted = false;
  this.teaserCategory = "";

  var dmn,
    cfg = simTracker.config.GOOGLEANALYTICS,
    self,
    tld1,
    s;
  this.tld = cfg.defaultDomain;
  this.domain = cfg.brand + "." + cfg.defaultDomain;
  this.account = cfg.defaultAccount;
  this.brand = cfg.brand;

  if (typeof(cfg.doPing) == "number") {
    self = this;
    setInterval(function() {
      _gaq.push([ "_trackEvent", "Ping", document.location.href ]);
    }, cfg.doPing * 1000);
  }

  for (tld1 in cfg.Accounts) {
    dmn = cfg.brand + "." + tld1;
    if (cfg.host.indexOf(dmn, cfg.host.length - dmn.length) !== -1) {
      this.account = cfg.Accounts[tld1];
      this.tld = tld1;
      this.domain = "." + dmn;
    }
  }

  _gaq.push(["_setAccount", this.account]);


  _gaq.push(['_gat._anonymizeIp']);

  _gaq.push(['_addOrganic', 'suche.web.de', 'su']);
  _gaq.push(['_addOrganic', 'suche.t-online.de', 'q']);
  _gaq.push(['_addOrganic', 'suche.gmx.net', 'su']);
  _gaq.push(['_addOrganic', 'search.1und1.de', 'su']);
  _gaq.push(['_addOrganic', 'news.google', 'q']);
  _gaq.push(['_addOrganic', 'maps.google', 'q']);
  _gaq.push(['_addOrganic', 'video.google', 'q']);

  _gaq.push(['_addIgnoredOrganic', 'www' + this.domain]);
  _gaq.push(['_addIgnoredOrganic', cfg.brand + '.' + this.tld]);

  _gaq.push(['_setDomainName', this.domain]);
  _gaq.push(['_setAllowLinker', true]);
  _gaq.push(['_setAllowHash', false]);

  _gaq.push(['_setAllowAnchor', true]);
  _gaq.push(["_setCampNameKey", "KN"]);
  _gaq.push(["_setCampMediumKey", "WM"]);
  _gaq.push(["_setCampSourceKey", "PL"]);
  _gaq.push(["_setCampContentKey", "KA"]);

  (function() {
    var ga = document.createElement('script');
    ga.type = 'text/javascript';
    ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(ga, s);
  }());
};

simTracker.GoogleAnalyticsTracker.prototype = new simTracker.TrackerBase();

simTracker.GoogleAnalyticsTracker.prototype._trackPage = function() {

  /*
   * = simTracker.log("--- track page:" + this.className); =
   */
  _gaq.push([ "_setDomainName", this.domain ]);

  this.setCustomVars(document.simTrackerMetainfo);

  if (document.simTrackerMetainfo.isTrackable) {
    if ((typeof document.simTrackerMetainfo !== 'undefined ') && (document.simTrackerMetainfo.subchannel2 == '404')) {
      _gaq.push(['_trackPageview', simTracker.config.GOOGLEANALYTICS.errorpage + "?page=" + document.location.pathname + document.location.search + "&from=" + document.referrer]);
    } else if (typeof window.srchKey !== 'undefined') {
      var page = window.location.pathname + "?q=" + window.srchKey;
      try {
        _gaq.push([ '_trackPageview', page ]);
      } catch (e) {
        simTracker.log("Gooogle Analytics error ->" + e);
      }
    } else {
      _gaq.push([ "_trackPageview" ]);
    }
  }
};

simTracker.GoogleAnalyticsTracker.prototype.setCustomVars = function(docMeta) {
  var teaserCat,
    i,
    sc3;

  if (typeof(docMeta.tvBrand) != "undefined" && docMeta.channel != "") {
    _gaq.push(["_setCustomVar", 1, "tvBrand", docMeta.tvBrand.toLowerCase(), 3]);
  }
  if (typeof(docMeta.channel) != "undefined" && docMeta.channel != "") {
    teaserCat = docMeta.channel;
  } else {
    teaserCat = "home";
  }
  _gaq.push(["_setCustomVar", 2, "channel", teaserCat, 3]);

  for (i = 1; i < 3; i++) {
    if (typeof(docMeta["subchannel" + i]) != "undefined" && docMeta["subchannel" + i] != "") {
      _gaq.push(["_setCustomVar", 2 + i, "subchannel" + i, docMeta["subchannel" + i], 3]);
      if (i == 1 && docMeta["subchannel" + i] != "") {
        teaserCat = docMeta["subchannel" + i];
      }
    } else {
      _gaq.push(["_setCustomVar", 2 + i, "subchannel" + i, "", 3]);
    }
  }
  sc3 = "";
  i++;
  while (typeof(docMeta["subchannel" + i]) != "undefined" && docMeta["subchannel" + i] != "") {
    sc3 += docMeta["subchannel" + i] + "|";
    i++;
  }
  if (sc3 != "") {
    _gaq.push(["_setCustomVar", 5, "subchannel3", sc3.substring(0, sc3.length - 1), 3]);
  }

  this.teaserCatgeory = teaserCat;
};

simTracker.GoogleAnalyticsTracker.prototype._trackModule = function(node, event) {

  var fname = "track" + this.metaTypeNameOf(node);
  if ("undefined" === typeof (this[fname])) {

    /*
     * = simTracker.log("missing GA function '" + fname + "'!"); =
     */
  } else {
    this.setCustomVars(document.simTrackerMetainfo);
    this[fname](node, event); // dynamic call
  }
};

simTracker.GoogleAnalyticsTracker.prototype.trackGallery = function(node, event) {
  var nodeMeta = node.simTrackerMetainfo,
    title,
    ivwPath,
    imageNr = 1;
  _gaq.push([ "_trackEvent", "Gallery Click", nodeMeta.linkUrl + "|" + imageNr]);
  _gaq.push([ "_trackPageview", nodeMeta.linkUrl ]);
};

simTracker.GoogleAnalyticsTracker.prototype.trackTeaser = function(nodeInfo, event) {
  var nodeMeta = nodeInfo.simTrackerMetainfo,
    docMeta = document.simTrackerMetainfo,
    domain,
    location,
    node,
    title,
    href;
  if (typeof(nodeMeta.node) != "undefined") {
    domain = (typeof(docMeta.domain) != "undefined") && (docMeta.domain != "") ? docMeta.domain : this.brand + "." + this.tld;
    location = domain + document.location.pathname;
    node = nodeMeta.node.getElementsByTagName("img").length > 0 ? nodeMeta.node.getElementsByTagName("img")[0] : nodeMeta.node;
    title = (typeof(node.title) != "undefined") && node.title != "" ? node.title : node.innerHTML;
    href = typeof(nodeMeta.linkUrl) != "undefined" ? nodeMeta.linkUrl : "";
    _gaq.push([ "_trackEvent", "Teaser Click", location + "|" + title + "|" + href ]);
  }
};

simTracker.GoogleAnalyticsTracker.prototype.trackPing = function(node, event) {
  _gaq.push([ "_trackEvent", "Ping", document.location.href ]);
};

simTracker.GoogleAnalyticsTracker.prototype.trackNavigation = function(node, event) {
  var nodeMeta = node.simTrackerMetainfo;
  _gaq.push([ "_trackEvent", "Navigation Click", nodeMeta.linkUrl ]);
};

simTracker.GoogleAnalyticsTracker.prototype.trackDownload = function(node, event) {
  var nodeMeta = nodeOrLink.simTrackerMetainfo;
  _gaq.push([ "_trackEvent", "Downloads Click", nodeMeta.linkUrl || "" ]);
};

simTracker.GoogleAnalyticsTracker.prototype.trackOutbound = function(node, event) {
  var nodeMeta = node.simTrackerMetainfo;
  _gaq.push([ "_trackEvent", "Outbound Click", nodeMeta.linkUrl || "" ]);
};

simTracker.GoogleAnalyticsTracker.prototype.trackMail = function(node, event) {
  var nodeMeta = node.simTrackerMetainfo;
  _gaq.push([ "_trackEvent", "Mail Click", nodeMeta.linkUrl || "" ]);
};

simTracker.GoogleAnalyticsTracker.prototype.trackInteraction = function(node, event) {
  var nodeMeta = node.simTrackerMetainfo,
    category = simTracker.config.GOOGLEANALYTICS.brandWording || document.title.innerHTML,
    actionNode = nodeMeta.node.getElementsByTagName("img").length > 0 ? nodeMeta.node.getElementsByTagName("img")[0] : nodeMeta.node,
    action = nodeMeta.linkUrl || ((typeof(node.title) != "undefined") && node.title != "" ? node.title : node.innerHTML);
  _gaq.push([ "_trackEvent", "Interaction Click", category, action ]);
};

simTracker.GoogleAnalyticsTracker.prototype.trackVideo = function(node, event) {

  var nodeMeta = node.simTrackerMetainfo;


  if ((typeof nodeMeta.subchannel1 === 'undefined') && (typeof document.simTrackerMetainfo !== 'undefined')) {
    nodeMeta.subchannel1 = document.simTrackerMetainfo.subchannel1;
  }
  switch (event.type) {
    case undefined:
      _gaq.push([ '_trackPageview' ]);
      break;
    case "contentClip_start":

      this.view_time = 0;
      this.video_duration = Math.round(event.duration);

      _gaq.push([ '_trackEvent', nodeMeta.video_type, nodeMeta.subchannel1,
        nodeMeta.title ]);

      break;
    case "updatePosition":
      this.view_time += 5;
      break;

    case "viewTimeXplus":

      if (this.tld == "at" || this.tld == "ch") {
        _gaq.push([ '_trackEvent', nodeMeta.video_type + "-3min",
          nodeMeta.subchannel1, nodeMeta.title ]);
      }

      break;

    case "contentClip_completed":
    case "contentClip_canceled":

      if (this.tld == "at" || this.tld == "ch") {
        _gaq.push([ '_trackEvent', nodeMeta.video_type + "-viewtime",
          nodeMeta.subchannel1, nodeMeta.title, this.view_time ]);
      }

      this.view_time = 0;

      break;

    default:
  }
};

simTracker.GoogleAnalyticsTracker.prototype.track = function(node, event) {
  if (this.checkType(node, event) === simTracker.TYPE_PAGE) {
    _gaq.push([ "_setDomainName", this.domain ]);
    this._trackPage();
  } else {
    this._trackModule(node, event || {});
  }
};
simTracker.UUTracker = function() {
	this.constructor();
	this.className = 'UUTracker';
	this.constraint = {
		minId: 1001,
		protocol: "http:",
		level: 10
	};
	this.trackingSys = 32;
};

simTracker.UUTracker.prototype = new simTracker.TrackerBase();

simTracker.UUTracker.prototype.domainId = function() {
	var result = "0000";
	try {
		result = simTracker.config.UUTRACKER.Accounts[simTracker.helpers.getTLD(document.location.hostname)];
	} catch (err) {}
	return result;
};

simTracker.UUTracker.prototype.url = function(dId) {
	var _t_now = new Date();
	return 'http://tracking.sim-technik.de/'+dId+'.gif?' + _t_now.getFullYear() + _t_now.getMonth() + _t_now.getDate();
};

simTracker.UUTracker.prototype._track = function(url) {
	var _t_img = new Image(1,1);
	_t_img.src = url;
};

simTracker.UUTracker.prototype.isOk = function(dId) {
	var result = simTracker.config.UUTRACKER.Enabled[simTracker.helpers.getTLD(document.location.hostname)];
	if (dId < this.constraint.minId) {
		result = false;
	}
	if (document.location.protocol != this.constraint.protocol) {
		result = false;
	}
	if (new String(window.location.pathname).split("/").length > (this.constraint.level+2)) {
		result = false;
	}
	return result;
};

simTracker.UUTracker.prototype.track = function() {
	var dId = this.domainId();
	if (this.isOk(dId)) {
		this._track(this.url(dId));
	}
};
/*****************************************************************************/
/**
*
* simTracker.VideoPlayerAdapter
*
* @namespace simTracker.VideoPlayerAdapter
*
* converts video player data to the simTracker format.
*
*/
   simTracker.VideoPlayerAdapter = function(){
       this._clipIsPlaying = false;
   };

   simTracker.VideoPlayerAdapter.prototype._convertToNode = function(metainformation){
       var obj = {
           simTrackerMetainfo: metainformation
       }, metaMap;

       if ("undefined" === typeof(obj.simTrackerMetainfo.type)) {
           obj.simTrackerMetainfo.type = simTracker.VIDEO;
       }

       if ("undefined" === typeof(obj.id)) {
           obj.id = metainformation.id;
       }

       metaMap = {
           videoID: "id",
           agofCode: "agof",
           viewDuration: "playback_duration",
           ivwPath: "ivwpath",
           videoType: "video_type",
           playerType: "playertype",
           season: "season",
           episode: "episode",
           tvBrand: "tvBrand"
       };
       simTracker.helpers.eachKeyValue(metaMap, function(simTrackerMetaKey, videoPlayerMetaKey){
           obj.simTrackerMetainfo[simTrackerMetaKey] = obj.simTrackerMetainfo[videoPlayerMetaKey];
       });

       return obj;
   };

   simTracker.VideoPlayerAdapter.prototype._convertToEvent = function(videoPlayerEvent){
       var event;
       if ("object" === typeof(videoPlayerEvent)) {
           event = {
               CAPTURING_PHASE: 1,
               AT_TARGET: 2,
               BUBBLING_PHASE: 3,

               type: "string" === typeof(videoPlayerEvent.evtname) ? videoPlayerEvent.evtname : "unknown",
               target: window,
               currentTarget: window,
               eventPhase: 1,
               bubbles: false,
               cancelable: false,
               timeStamp: "object" === typeof(videoPlayerEvent.timeStamp) ? videoPlayerEvent.timeStamp : new Date(),
               stopPropagation: function(){
               },
               preventDefault: function(){
                   this._isDefaultPrevented = true;
               },
               initEvent: function(eventType, canBubble, cancelable){
               },
               namespaceURI: "http://www.prosieben.de/video/domevents",
               isCustom: function(){
                   return true;
               },
               stopImmediatePropagation: function(){
               },
               _isDefaultPrevented: false,
               isDefaultPrevented: function(){
                   return this._isDefaultPrevented;
               },
               initEventNS: function(namespaceURI, eventType, canBubble, cancelable){
               },
         timeCode: videoPlayerEvent.timecode,
			   duration: videoPlayerEvent.duration

           };
       }
       return event;
   };

   /**
    * defined in adXML.xml
    */
   simTracker.VideoPlayerAdapter.prototype.track = function(videoPlayerEvent, metainformation){
       var obj, event;
       if (simTracker.config.VIDEO && simTracker.config.VIDEO.omit && simTracker.helper.posInArray(simTracker.config.VIDEO.omit, videoPlayerEvent.evtname) > -1) {
         return;
       }
       obj = this._convertToNode(metainformation);
	   document.simTrackerVideoinfo=obj.simTrackerMetainfo;


       event = this._convertToEvent(videoPlayerEvent);

       switch (event.type) {
           case "contentClip_start":
               this._clipIsPlaying = true;
               break;
           case "contentClip_completed":
               this._clipIsPlaying = false;
               break;
       }

       if ("PageViews" === event.type) {
           this._lastVideoMetainfo = metainformation;
           simTracker.track(obj);
       }
       else {
           simTracker.track(obj, event);
       }
   };

   simTracker.VideoPlayerAdapter.prototype._trackContentClipCanceledEvent = function(){
       var obj, event;
       this._clipIsPlaying = false;
       obj = this._convertToNode(this._lastVideoMetainfo);
       event = this._convertToEvent({
           evtname: 'contentClip_canceled'
       });
       simTracker.track(obj, event);
   };

   simTracker.VideoPlayerAdapter.prototype.onLeavePage = function(){
       if (this._clipIsPlaying) {
           this._trackContentClipCanceledEvent();
       }
   };

   /**
    * defined in adXML.xml
    */
   simTracker.VideoPlayerAdapter.prototype.onSendFinal = function(){
       if (this._clipIsPlaying) {
           this._trackContentClipCanceledEvent();
       }
   };

simTracker.VideoBugTracker = function() {
  this.FlashDetect=new function(){var self=this;self.installed=false;self.raw="";self.major=-1;self.minor=-1;self.revision=-1;self.revisionStr="";var activeXDetectRules=[{"name":"ShockwaveFlash.ShockwaveFlash.7","version":function(obj){return getActiveXVersion(obj);}},{"name":"ShockwaveFlash.ShockwaveFlash.6","version":function(obj){var version="6,0,21";try{obj.AllowScriptAccess="always";version=getActiveXVersion(obj);}catch(err){}
  return version;}},{"name":"ShockwaveFlash.ShockwaveFlash","version":function(obj){return getActiveXVersion(obj);}}];var getActiveXVersion=function(activeXObj){var version=-1;try{version=activeXObj.GetVariable("$version");}catch(err){}
  return version;};var getActiveXObject=function(name){var obj=-1;try{obj=new ActiveXObject(name);}catch(err){obj={activeXError:true};}
  return obj;};var parseActiveXVersion=function(str){var versionArray=str.split(",");return{"raw":str,"major":parseInt(versionArray[0].split(" ")[1],10),"minor":parseInt(versionArray[1],10),"revision":parseInt(versionArray[2],10),"revisionStr":versionArray[2]};};var parseStandardVersion=function(str){var descParts=str.split(/ +/);var majorMinor=descParts[2].split(/\./);var revisionStr=descParts[3];return{"raw":str,"major":parseInt(majorMinor[0],10),"minor":parseInt(majorMinor[1],10),"revisionStr":revisionStr,"revision":parseRevisionStrToInt(revisionStr)};};var parseRevisionStrToInt=function(str){return parseInt(str.replace(/[a-zA-Z]/g,""),10)||self.revision;};self.majorAtLeast=function(version){return self.major>=version;};self.minorAtLeast=function(version){return self.minor>=version;};self.revisionAtLeast=function(version){return self.revision>=version;};self.versionAtLeast=function(major){var properties=[self.major,self.minor,self.revision];var len=Math.min(properties.length,arguments.length);for(i=0;i<len;i++){if(properties[i]>=arguments[i]){if(i+1<len&&properties[i]==arguments[i]){continue;}else{return true;}}else{return false;}}};self.FlashDetect=function(){if(navigator.plugins&&navigator.plugins.length>0){var type='application/x-shockwave-flash';var mimeTypes=navigator.mimeTypes;if(mimeTypes&&mimeTypes[type]&&mimeTypes[type].enabledPlugin&&mimeTypes[type].enabledPlugin.description){var version=mimeTypes[type].enabledPlugin.description;var versionObj=parseStandardVersion(version);self.raw=versionObj.raw;self.major=versionObj.major;self.minor=versionObj.minor;self.revisionStr=versionObj.revisionStr;self.revision=versionObj.revision;self.installed=true;}}else if(navigator.appVersion.indexOf("Mac")==-1&&window.execScript){var version=-1;for(var i=0;i<activeXDetectRules.length&&version==-1;i++){var obj=getActiveXObject(activeXDetectRules[i].name);if(!obj.activeXError){self.installed=true;version=activeXDetectRules[i].version(obj);if(version!=-1){var versionObj=parseActiveXVersion(version);self.raw=versionObj.raw;self.major=versionObj.major;self.minor=versionObj.minor;self.revision=versionObj.revision;self.revisionStr=versionObj.revisionStr;}}}}}();};this.FlashDetect.JS_RELEASE="1.0.4";

  this.BrowserDetect = {
  	init: function () {
  		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
  		this.version = this.searchVersion(navigator.userAgent)
  			|| this.searchVersion(navigator.appVersion)
  			|| "an unknown version";
  		this.OS = this.searchString(this.dataOS) || "an unknown OS";
  	},
  	searchString: function (data) {
  		for (var i=0;i<data.length;i++)	{
  			var dataString = data[i].string;
  			var dataProp = data[i].prop;
  			this.versionSearchString = data[i].versionSearch || data[i].identity;
  			if (dataString) {
  				if (dataString.indexOf(data[i].subString) != -1)
  					return data[i].identity;
  			}
  			else if (dataProp)
  				return data[i].identity;
  		}
  	},
  	searchVersion: function (dataString) {
  		var index = dataString.indexOf(this.versionSearchString);
  		if (index == -1) return;
  		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
  	},
  	dataBrowser: [
  		{
  			string: navigator.userAgent,
  			subString: "Chrome",
  			identity: "Chrome"
  		},
  		{ 	string: navigator.userAgent,
  			subString: "OmniWeb",
  			versionSearch: "OmniWeb/",
  			identity: "OmniWeb"
  		},
  		{
  			string: navigator.vendor,
  			subString: "Apple",
  			identity: "Safari",
  			versionSearch: "Version"
  		},
  		{
  			prop: window.opera,
  			identity: "Opera",
  			versionSearch: "Version"
  		},
  		{
  			string: navigator.vendor,
  			subString: "iCab",
  			identity: "iCab"
  		},
  		{
  			string: navigator.vendor,
  			subString: "KDE",
  			identity: "Konqueror"
  		},
  		{
  			string: navigator.userAgent,
  			subString: "Firefox",
  			identity: "Firefox"
  		},
  		{
  			string: navigator.vendor,
  			subString: "Camino",
  			identity: "Camino"
  		},
  		{		// for newer Netscapes (6+)
  			string: navigator.userAgent,
  			subString: "Netscape",
  			identity: "Netscape"
  		},
  		{
  			string: navigator.userAgent,
  			subString: "MSIE",
  			identity: "Explorer",
  			versionSearch: "MSIE"
  		},
  		{
  			string: navigator.userAgent,
  			subString: "Gecko",
  			identity: "Mozilla",
  			versionSearch: "rv"
  		},
  		{ 		// for older Netscapes (4-)
  			string: navigator.userAgent,
  			subString: "Mozilla",
  			identity: "Netscape",
  			versionSearch: "Mozilla"
  		}
  	],
  	dataOS : [
  		{
  			string: navigator.platform,
  			subString: "Win",
  			identity: "Windows"
  		},
  		{
  			string: navigator.platform,
  			subString: "Mac",
  			identity: "Mac"
  		},
  		{
  			   string: navigator.userAgent,
  			   subString: "iPhone",
  			   identity: "iPhone/iPod"
  	    },
  		{
  			string: navigator.platform,
  			subString: "Linux",
  			identity: "Linux"
  		}
  	]

  };
  this.BrowserDetect.init();

	this.constructor();
	this.className = 'VideoBugTracker';
	this.baseurl = "http://getdetails.sim-technik.de/dvs.gif";
	simTracker.helpers.publishFunction("report", this.track, this);
  this.startTime = new Date().getTime();
  this.requestQueue = [];
  this.isVideoPage = false;
  this.State = {
    lifetime: 0,
    id: "",
    errorcode: "",
    streamingurl: "",
    streamingfile: "",
    time: 0,
    lastevent: "",
    segments: "",
    connectiontime: 0,
    flags: {},
    mediaerrors: 0,
    geo: "",
    videotype: "",
    responsetime: "",
    flashversion: "",
    useragent: ""
  };

  this.State.flashversion = this.FlashDetect.major + "." + this.FlashDetect.minor;

  this.createId();
  this.setUnload();
	this.track(simTracker.VideoBugTracker.Events.INIT);
};

simTracker.VideoBugTracker.Events = {
  INIT: "init",
  LOAD: "load",
  ERROR: "error",
  START: "start",
  JSCALL: "jscall",
  EXIT: "exit"
};

simTracker.VideoBugTracker.Abbreviations = {
  connectiontime: "ct",
  streamingfile: "sf",
  streamingurl: "su",
  segments: "seg",
  flashversion: "fv",
  useragent: "ua"
};


simTracker.VideoBugTracker.prototype = new simTracker.TrackerBase();

simTracker.VideoBugTracker.prototype.createId = function() {
  this.State.id = "t" + this.startTime + "r" + Math.round(Math.random()*10000);
};

simTracker.VideoBugTracker.prototype.setUnload = function() {
  var self = this;
  simTracker.helpers.addEvent( window, "unload", function() {
    self.track( simTracker.VideoBugTracker.Events.EXIT, {

    });
  });
};

simTracker.VideoBugTracker.prototype.send = function(url) {
  var img = new Image();
  img.src = url;
};

simTracker.VideoBugTracker.prototype.sendDeferred = function() {
  for (var i=0; i<this.requestQueue.length; i++) {
    if (!this.requestQueue[i].sent) {
      this.send(this.requestQueue[i].url);
      this.requestQueue.sent = true;
    }
  };
};

simTracker.VideoBugTracker.prototype.buildURL = function(paramIndex, event) {
  var url = this.baseurl + "?evt=" + event + "&";
  var value, key;
  for (var i = 0; i < paramIndex.length; i++) {
    if (typeof(this.State[paramIndex[i]]) != "undefined") {
      value = this.State[paramIndex[i]];
      if (typeof(value) == "object") {
        try {
          value = JSON.stringify(value);
        } catch (e) {}
      }
      key = typeof(simTracker.VideoBugTracker.Abbreviations[paramIndex[i]]) != "undefined" ?
        simTracker.VideoBugTracker.Abbreviations[paramIndex[i]] : paramIndex[i];
      url += key + "=" + value + "&";
    }
  }
  return url;
};

simTracker.VideoBugTracker.prototype.track = function(eventname, state) {
  if (typeof(eventname) != "string") {
    return;
  }
  if(typeof(simTracker.VideoBugTracker.Events[eventname.toUpperCase()]) == "undefined") {
    return;
  }
  var value;
  if (typeof(state) == "object") {
    for (var i in this.State) {
      if ((typeof(state[i]) != "undefined") && (i != "id")) {
        value = state[i];
        switch (i) {
          case "flashversion":
            value = state[i].split(" ")[0];
            break;
          case "useragent":
            value = this.BrowserDetect.browser;
            break;
        }
        this.State[i] = value;
      }
    };
  };
  this.State.lifetime = Math.round((new Date().getTime() - this.startTime)/1000)
  var params = [];
  var sendnow = true;
  switch (eventname) {
    case simTracker.VideoBugTracker.Events.INIT:
      sendnow = false;
      break;
    case simTracker.VideoBugTracker.Events.LOAD:
      this.isVideoPage = true;
      params = "lastevent lifetime".split(" ");
      break;
    case simTracker.VideoBugTracker.Events.ERROR:
      this.isVideoPage = true;
      params = "time useragent flashversion errorcode streamingfile lastevent segments connectiontime flags mediaerrors geo lifetime streamingurl".split(" ");
      break;
    case simTracker.VideoBugTracker.Events.START:
        this.isVideoPage = true;
      params = "time useragent flashversion lastevent streamingfile connectiontime mediaerrors geo lifetime streamingurl".split(" ");
      break;
    case simTracker.VideoBugTracker.Events.JSCALL:
      this.isVideoPage = true;
      params = "lifetime lastevent".split(" ");
      break;
    case simTracker.VideoBugTracker.Events.EXIT:
      params = "time useragent flashversion errorcode streamingfile lastevent segments connectiontime flags mediaerrors geo lifetime streamingurl".split(" ");
      break;
  };
  params.push("id");
  var url = this.buildURL(params, eventname);
   this.requestQueue.push({
    url: url,
    sent: sendnow
  });

  if (this.isVideoPage && sendnow) {
    this.sendDeferred();
    this.send(url);
  };

  if (eventname != simTracker.VideoBugTracker.Events.JSCALL) {
    this.State.lastevent = eventname;
  };
};

   simTracker.setup();
}

