// Neuer Sitestat-Pixel
function sitestat(ns_l){// FromURL v1.3 Copyright (c) 2001-2006 Nedstat B.V. All rights reserved.
var ns_type='' // leave empty for normal/ppc measurement, fill in for clickin, clickout or pdf
var r='' // yes=only parse url when there is a real document.referrer,
// no=only parse url when there is no real document.referrer, empty=always parse url
var t='?' // tag in url where parameters follow; default '?' could be replaced by "#"
var p=new Array();var w='';var l='';var d=document;var n=navigator;var ns_0=''
;if(top!=self){if('\u0041'=='A'){var u=n.userAgent;if(u.indexOf('Safari')==-1)
{var b=u.indexOf('Opera');if(b==-1||(u.charAt(b+6)+0)>5){b=u.indexOf('Mozilla'
);var xb=b!=-1?u.charAt(b+8)>4:1;if(u.indexOf('compatible')!=-1||xb){var c=
'try{ns_0=top.document.referrer}catch(e){}';eval(c);c=
'try{l=top.document.location.href}catch(e){}';eval(c);}}}}}else{ns_0=
d.referrer;l=d.location.href;}if(ns_0.lastIndexOf('/')==ns_0.length-1){ns_0=
ns_0.substring(ns_0.lastIndexOf('/'),0);}var f=ns_l.indexOf('?');if(f!=-1){
var q=ns_l.substring(f+1);ns_l=ns_l.substring(0,f);if(q){var m=q.indexOf('&');
w=q.substring(0,m==-1?q.length:m);if(w.indexOf('=')!=-1){w='';}if(w){q=
q.substring(m==-1?q.length:m+1);q+=(q?'&':'')+'ns_name='+w;}if(ns_0.length>0){
q+=(q?'&':'')+'ns_referrer='+escape(ns_0);}var s=0;var e=0;while(q.length){e=
q.indexOf('&');if(e==-1){e=q.length;}var o=q.substring(s,e);if(o.substring(0,4
)=='amp;'){o=o.substring(4);}if(o)p[p.length]=o;q=q.substring(e+1);}}}var a=
l.indexOf(t);a=a==-1?0:l.substring(a+1);var j;if(r=='yes')j=ns_0.length;else
if(r=='no')j=!ns_0.length;else if(r=='')j=1;if(a&&j){while(a.length){var e=
a.indexOf('&');if(e==-1){e=a.length;}var k=a.substring(0,a.substring(0,e)
.indexOf('='));var v=a.substring(a.substring(0,e).indexOf('=')+1,e);if(
k.substring(0,4)=='amp;'){k=k.substring(4);}while(v.substring(0,1)=='='){v=
v.substring(1);}if(k=='ns_name'){w=v;}else if(k=='ns_or'){var g='ns_referrer='
;for(var z=0;z<p.length;z++){if(p[z].substring(0,g.length)==g){p[z]=
'ns_referrer='+v;}}}else{if(k.substring(0,3)=='ns_'&&v&&k){var h=0;for(var x=0
;x<p.length;x++){if(p[x].substring(0,p[x].indexOf('='))==k){p[x]=k+"="+v;h=1}}
if(!h){p[p.length]=k+"="+v;}}}a=a.substring(e+1);}}if(!w){return;}var s='';
var y='';for(var i=0;i<p.length;i++)if(p[i].substring(0,8)!='ns_name='){if(p[i
].substring(0,12)!='ns_referrer='){s+='&'+p[i];}else{y='&'+p[i];}}s+=ns_type?
'&ns_type='+ns_type+'&ns_action=view':'';ns_pixelUrl=ns_l+'?'+w+s+"&ns__t="+(
new Date()).getTime();ns_l=ns_pixelUrl+y;window.sp1SitestatSrc = ns_l;if(d.images){ns_1=new Image();
ns_1.src=ns_l;}else{d.write('<img src='+ns_l+' width="1" height="1">');}}

Sport1_Tracking = new function(){
	// Constant for default IVW counter
	this.DEFAULT_IVW_COUNTER = 'sp1general';
	this.DEFAULT_SITESTAT_COUNTER = 'default-sitestat';
  this.DEFAULT_SITESTAT_POT = 'sport1-de';
	this.CUSTOM_LABEL_PREFIX = '&pt=';
	this.CUSTOM_LABEL_SEP = '|';
	
	this.customLabel = new Array();
	this.ivwCounter = this.DEFAULT_IVW_COUNTER;
	this.sitestatCounter = this.DEFAULT_SITESTAT_COUNTER;
  this.sitestatPot = this.DEFAULT_SITESTAT_POT;
	
	// Adds a value to the custom label
	this.addElementLabel = function(label) {
    if(typeof(label) != 'undefined' && label != '') {
			this.customLabel.push(label);
		}
		else {
			Sport1.log("Won't add empty value to custom label");
		}
	}
	
	// Gets the complete value of the custom label
	this.getCustomLabel = function(curSoftClickName) {
    if (typeof(curSoftClickName) == 'undefined' && this.customLabel.length > 0) {
      return this.CUSTOM_LABEL_PREFIX + this.customLabel.join(this.CUSTOM_LABEL_SEP);
    } 
    else {
      if (typeof(curSoftClickName) != 'undefined' && curSoftClickName != '') {
        return this.CUSTOM_LABEL_PREFIX + curSoftClickName;
      }
    }
    return '';
	}
	
	// Setter for IVW counter
	this.setIVWCounter = function(counter) {
		if(typeof(counter) != 'undefined' && counter != '') {
			this.ivwCounter = counter;
		}
	}
	
	// Getter for IVW counter
	this.getIVWCounter = function(){
    return this.ivwCounter;
	}
	
	// Setter for Sitestat counter
	this.setSitestatCounter = function(counter){
		if (typeof(counter) != 'undefined' && counter != '') {
			this.sitestatCounter = counter;
		}
	}
	
	// Getter for Sitestat counter
	this.getSitestatCounter = function(){
 		return this.sitestatCounter;
	}

  // Setter for the Sitestat Pot
  this.setSitestatPot = function(pSitestatPot) {
    if (typeof(pSitestatPot) != 'undefined' && pSitestatPot != '') {
      this.sitestatPot = pSitestatPot;
    }
  }

  // Getter for the Sitestat Pot
  this.getSitestatPot = function() {
    return this.sitestatPot;
  }

  // Reset of the Sitestat Pot
  this.resetSitestatPot = function() {
    this.sitestatPot = this.DEFAULT_SITESTAT_POT;
  }

	// Send concrete tracking counter to sitestat
  this.sendSitestatCall = function(optSuffix, curSoftClickName) {
    if (typeof(curSoftClickName) == 'undefined') { curSoftClickName = ''; }
    if (typeof(optSuffix) == 'undefined') { optSuffix = ''; }
    if (optSuffix != '') { optSuffix = '.' + optSuffix; }
    var customLabel = '';
    
    if (curSoftClickName == 'all') {
      customLabel = this.getCustomLabel(); 
    }
    else if (curSoftClickName != '') {
      this.searchAndAddCustomLabel(curSoftClickName);
      customLabel = this.getCustomLabel(curSoftClickName); 
    }
 	  sitestat('http://de.sitestat.com/sport1/' + this.sitestatPot + '/s?' + this.getSitestatCounter() + optSuffix + customLabel);
	}
	
	this.searchAndAddCustomLabel = function(curSoftClickName) {
    var insertToCustomerList = true;
    
    for (var i = 0; i < this.customLabel.length && insertToCustomerList; i ++) {
      if (this.customLabel[i] == curSoftClickName) {
        insertToCustomerList = false;
      }
    }
    if (insertToCustomerList) { this.addElementLabel(curSoftClickName); }
  }
	
	// Send call to Sitestat
	this.sendIVWCall = function() {
		var img = document.createElement("img");
		var attr	= document.createAttribute("src");
		var r = Math.random() * 100000;
		attr.nodeValue	= 'http://sport1.ivwbox.de/cgi-bin/ivw/CP/' + this.getIVWCounter() + '?r=' + escape(document.referrer) + '&d=' + r;
		img.setAttributeNode(attr);
		var attr	= document.createAttribute("width");
		attr.nodeValue	= 1;
		img.setAttributeNode(attr);
		var attr	= document.createAttribute("height");
		attr.nodeValue	= 1;
		img.setAttributeNode(attr);
		var attr	= document.createAttribute("alt");
		attr.nodeValue	= 'szmtag';
		img.setAttributeNode(attr);
		
		document.getElementById('api').appendChild(img);
		return true;
	}
	
	// Send click-call to sitestat
	this.trackClick = function(lnk, sitestatLabel) {
		if(sitestatLabel != '') {
			ns_onclick(lnk,'',sitestatLabel + '-click','clickout');
		}
		else {
			Sport1.log("Sport1_Tracking#trackClick called with empty label");
		}
	}

	this.countIVWandSitstat = function(msg, label){
		Sport1_Tracking.sendSitestatCall(msg, label);
		Sport1_Tracking.sendIVWCall();
	}
  
  this.callExtTracker = function (url, type, addStyle) {
    var ADDVALUE = 1;
    var WRITEVALUE = 0;
    var apiElement = document.getElementById('api');
    var implCode = '';
    
    if (apiElement != null) {
      var insert = url;

      if (url.indexOf('[time]') >= 0) {
        var curTime = new Date().getTime();
        var urlStrings = url.split('[time]');

        if (urlStrings.length >= 2) {
          insert = urlStrings.join(curTime);
        }
        else {
          insert = url + curTime;
        }
      }
      
      if (type == 'url') {
        implCode = '<img src="' + insert + '" border="0" width="0" height="0"/>';
      }
  
      if (type == 'javascript') {
        var scriptElement = document.createElement('script');
        scriptElement.type = 'text/javascript';
        scriptElement.src = insert;
        apiElement.appendChild(scriptElement);
        return true;
      }
      
      if (type == 'iframe') {
        implCode = '<iframe style="visibility:hidden" src="' + insert + '"></iframe>';
       }
  
      if (addStyle == ADDVALUE || typeof(addStyle) == 'undefined') {
        apiElement.innerHTML += implCode;
      }
      else {
        apiElement.innerHTML = implCode;
      }
    }
  }
}

function countivw(x){
	Sport1.log('#info | Sport1_new.js | call old wrapped method countivw(\''+x+'\')');
  Sport1_Tracking.countIVWandSitstat(x + '_oldCounting');
}

function ns_onclick (a, url, name, type, winopt) {
  var ns_l="http://de.sitestat.com/sport1/softclick/s?";
  ns_l+=name;
  ns_l+='&ns_type='+type+'&ns_action=view';
  ns_l+='&ns__t='+(new Date()).getTime();
  if(!url)url=a.href;
  var ns_0=document.referrer;
  
  if(ns_0.lastIndexOf('/')==ns_0.length-1)
    ns_0=ns_0.substring(ns_0.lastIndexOf('/'),0);
  
  if (ns_0.length>0)
    ns_l+='&amp;ns_referrer='+escape(ns_0);
  winopt=winopt||"";
  var target=(a&&a.target&&a.target!="")?(a.target.substring(0,1)=="_")?a.target.substring(1):a.target:"self";
  var ns_i=new Image();
  
  if(target&&url){
    if(window[target]){
      window.ns_softclick_timer=function(target,url) {
        return function() {
          ns_i.onload=ns_i.onerror= function(){ return; };
          window[((window[target])?target:"self")].location.href=url;
        }
      }(target,url);
      window.setTimeout('ns_softclick_timer()',5000);
      ns_i.onload=ns_i.onerror=window.ns_softclick_timer;
    }
    else {
      window.open(url,target,winopt);
    }
  }
  ns_i.src=ns_l;
  return false;
}
