function click(p1,p2,p3,p4,p5,p6,p7) {
	try{ console.debug("Test (NO TRACK): /.play/"+p1+"/"+p2+"/"+p3+"/"+p5); } catch(ignore) {}
}



var ord = new String(Math.ceil((Math.random() * 1000000000)));
var stepNum = 0;

var firstClick = true;

//var urlTopbanner = '';
//var urlSkyScraper = '';
//var urlContentAd = '';

try {
  //document.domain = "q-world.de";
} catch (ignore) {}

// to prevent the superbanner-space from collapsing
document.write('<style type="text/css">#adcontent {height: 90px;}</style>');

function reloadAds() {
	ord = new String(Math.ceil((Math.random() * 1000000000)));
	document.body.style.background = "#E6F2FE";
	qwAds.reload('adcontent', urlTopbanner);
	qwAds.reload('skyscraper', urlSkyScraper);
	//qwAds.reload('contentad', urlContentAd);
	try { console.debug("Ad-Reload..."); } catch(ignore) {}
}

function countivw(p1,p2,p3,p4,p5,p6,p7) {
	try{ console.debug("COUNTIVW => CLICK"); } catch(ignore) {}
	click(p1,p2,p3,p4,p5,p6,p7);
}
function click(p1,p2,p3,p4,p5,p6,p7) {	
	if (p1 == "") p1 = "tagesspiel";
	if (firstClick) {
		firstClick = false;
	} else {
		pageTracker._trackPageview("/.play/"+p1+"/"+p5+"/"+p2+"/"+p3);
		try{ console.debug("TRACK: /.play/"+p1+"/"+p5+"/"+p2+"/"+p3); } catch(ignore) {}
		reloadIVW(); // IVW
		reloadAds(); // Ads
		if (p1.substr(0, 9) == "Geospiel_" || p1.substr(0, 9) == "Training_"  ) {	
			reloadBanner(p1.substr(0, 11));
		} 
	}
}
/* Aenderungen Gratzer */
function reloadBanner(teil) {
	ord = new String(Math.ceil((Math.random() * 1000000000)));
	if (teil!="Geospiel_EM" && teil.substr(0,9)=="Geospiel_") {
		elemid = "js_werbung_geo";		//vorher
		//elemid = "box";		//vorher
		if (document.getElementById(elemid)) {
			qwAds.reload(elemid, urlGeobanner_oben);//'http://www.wissen.de');//
		} 
		if (document.getElementById('pres_unten_margin_geo')) {
			qwAds.reload('pres_unten_margin_geo', urlGeobanner_unten);
		}
	}
	
	if (teil!="Geospiel_EM" && teil.substr(0,9)=="Training_") {
		elemid = "js_werbung";		//vorher
		//elemid = "box";		//vorher
		
		if (document.getElementById(elemid)) {
			//alert(".");
			qwAds.reload(elemid, urlTraingsbanner_oben);//'http://www.wissen.de');//
		} 
		if (document.getElementById('pres_unten_margin')) {
			qwAds.reload('pres_unten_margin', urlTraingsbanner_unten);
		}
	}
	
	try { console.debug("Ad-Reload..."); } catch(ignore) {} //+urlGeobanner_oben+" - unten:"+urlGeobanner_unten
}



function reloadIVW() {
	if (window.IVW) {
		var ivwPixel = new Image();
		//ivwPixel.src = IVW + "?r=" + escape(location.href) + "&d=" + (Math.random()*100000)
		// to prevent not counting each step a step identifier has been added.
		ivwPixel.src = IVW + "?r=" + escape(location.href) + "step" + stepNum + "&d=" + (Math.random()*100000)
		stepNum++;
		try {console.debug("IVW-Reload... " + ivwPixel.src);} catch(e) {}
	}
}

//alert ("ad:"+ad+"-url:"+url);

// RELOAD ###############################################
var qwAds = {
  ord: 0,
  queue: {},
  trash: {},
  
  browser: {
    ie: !!(window.ActiveXObject),
    opera: window.opera,
    gecko: document.getBoxObjectFor != null,
    webkit: document.childNodes && !document.all && !navigator.taintEnabled
  },

  reload: function(ad, url) {
    window.setTimeout("qwAds.addRequest('" + ad + "','" + url + "')", 10);
  },

  addRequest: function(ad, url) {
    if (this.request) this.queue[ad] = url;
    else this.startReload(ad, url);
  },

  startNextReload: function() {
    var queue = this.queue;
    for (var ad in queue) {
      var url = queue[ad];
      delete queue[ad];
      this.startReload(ad, url);
      break;    
    }
  },
  
  startReload: function(ad, url) {
    this.init();
    
    this.request = { 
      'ad': ad,
      innerHTML: '',
      scriptTag: '',
      trash: [],
      pendingScripts: [url],
      div: document.createElement("div")
    };
    
    this.request.div.setAttribute("id", ad);
    this.ord++;
    this.out.clear();
    this.err.println(">>> start reloading " + ad + " " + this.ord + " " + url);
    this.loadScripts();
  },

  finishReload: function() {
    var div = document.getElementById(this.request.ad);
    
    if (div) {
      var trash = this.trash[this.request.ad] || [];
      for (var i=0; i < trash.length; i++) {
        trash[i].parentNode.removeChild(trash[i]);
      }
      div.parentNode.replaceChild(this.request.div, div);
    }
    
    this.cleanupRequest();
  },
  
  cleanupRequest: function() {
    var req = qwAds.request;
    delete qwAds.request;
    if (req) {
      qwAds.trash[req.ad] = req.trash;
      window.setTimeout("qwAds.startNextReload()", 10);
    }
  },
  
  loadScripts: function() {
    try {
      var url = this.request.pendingScripts.shift();
      if (url) this.loadScript(url);
      else this.finishReload();
    }
    catch (e) {
      qwAds.cancelReload(e);
    }
  },

  loadScript: function(url) {
    this.err.println(">>>   loading " + url);

    var script = document.createElement("script");
    script.setAttribute("type", "text/javascript");
    script.src = url;
    
    if (this.browser.ie) {
      script.onreadystatechange = function() {
        if (this.readyState == "complete" || this.readyState == "loaded") {
          qwAds.err.println("  readyState=" + this.readyState);
          this.onreadystatechange = null;
          window.setTimeout("qwAds.onload()", 10);
        }
      }
    }
    else if (script.addEventListener) {
      script.addEventListener('load', function() {
        window.setTimeout("qwAds.onload()", 10);
      }, false);
    }
    else {
      script.onload = function() {
        window.setTimeout("qwAds.onload()", 10);
      }; 
    }
    
    var head = document.getElementsByTagName("head")[0];
    head.appendChild(script);
    
    this.request.trash.push(script);
  },

  onload: function() {
    try {
      if (this.request) {
        var html = this.request.innerHTML;
        this.request.innerHTML = '';
        this.parseHTML(html);
      }
    }
    catch (e) {
      this.cancelReload(e);
    }
    
    this.loadScripts();
  },
  
  parseHTML: function(innerHTML) {
    if (innerHTML != '') {
      var div = document.createElement("div");
      div.innerHTML = "<br id=qwAdsDummy>"+innerHTML;

      for (var c=div.firstChild; c; c=div.firstChild) {
        div.removeChild(c);
        qwAds.out.println("    type: " + c.nodeType + " name: " + c.nodeName);
        switch (c.nodeName) {
          case 'SCRIPT': this.addScript(c); break;
          case 'STYLE': this.addStyle(c); break;
          case 'NOSCRIPT': break;
          case 'NOEMBED': break;
          case 'BR': if (c.getAttribute("id") == "qwAdsDummy") break;
          default: 
            this.request.div.appendChild(c);
            if (c.nodeType == 1) this.filterDOM(c);
        }
      } 
    }
  },
  
  addStyle: function(style) {
    document.getElementsByTagName("head")[0].appendChild(style);
    this.request.trash.push(style);
  },
  
  addScript: function(script) {
    if (script.src) {
      this.request.pendingScripts.push(script.src);
    }
    else if (script.language && script.innerHTML && window.execScript) {
      window.execScript(script.innerHTML, script.language);
   }
  },
  
  filterDOM: function(e) {
    for (next = e.firstChild; next;) {
      var c = next;    
      next = c.nextSibling;    
      if (c.nodeType == 1) {
        switch (c.nodeName) {
          case 'SCRIPT': this.addScript(e.removeChild(c)); break;
          case 'STYLE': this.addStyle(c); break;
          case 'NOEMBED': e.removeChild(c); break;
          case 'NOSCRIPT': e.removeChild(c); break;
          default: this.filterDOM(c);
        }
      }
    }
    return e; 
  },
  
  scriptStartExp: /\<script\s/i,
  scriptEndExp: /<\/script\s*>/i,
  
  addInnerHTML: function(s) {
    var req = this.request;
    
    if (req.scriptTag == '') {
      req.innerHTML += s;
      
      var p = req.innerHTML.search(this.scriptStartExp);
      
      if (p >= 0) {
        req.scriptTag = req.innerHTML.substr(p);
        req.innerHTML = req.innerHTML.substr(0, p);
        this.addInnerHTML('');
      }
    }
    else {
      req.scriptTag += s;
      
      var p = req.scriptTag.search(this.scriptEndExp);
      
      if (p >= 0) {
        while (req.scriptTag.charAt(p++) != '>');
        var script = req.scriptTag.substr(0, p);
        var tail = req.scriptTag.substr(p);
        req.scriptTag = '';
        this.parseHTML(script);
        this.addInnerHTML(tail);
      }
    }
  },
  
  write: function(s) {
    if (qwAds.request) {
      qwAds.out.println(s);
      qwAds.addInnerHTML(s);
    }
    else {
      qwAds.err.println('/dev/null: ' + s);
    }
  },
  
  writeln: function(s) {
    qwAds.write(s+'\n');
  },
  
  cancelReload: function(e) {
    qwAds.cleanupRequest();
    if (e) {
      qwAds.err.println(e);
      throw e;
    }
  },

  init: function() {
    if (document.write !== this.write) {
      document.write = this.write;  
      document.writeln = this.writeln; 
    }
  }
};
 
qwAds.Printer = function(id) {
  this.id = id;
  this.eol = qwAds.browser.ie ? '\r\n' : '\n';
  this.print = function(s) {
    var pre = document.getElementById(this.id);
    if (pre) pre.appendChild(document.createTextNode(s));
  };
  this.println = function(s) { this.print(s+this.eol); };
  this.clear = function() {
    var pre = document.getElementById(id);
    if (pre) {
      for (var c = pre.lastChild; c; c = pre.lastChild) {
        pre.removeChild(c);
      }
    }
  };
};

qwAds.global = this;
qwAds.out = new qwAds.Printer("out");
qwAds.err = new qwAds.Printer("err");

//var dcgif = 'dcgif.jpg';
var dcgif = null;

/**/