//	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//	ClickMap Skript v2 - (c) by sop-hamburg.de
//
//	Auf der zu überprüfenden Seite müssen 2 Kalibrierungspunkte gesetzt werden:
//	id="cm_p1" 	(Positionierung: OBEN LINKS der Seite; äußerster Punkt)
//	id="cm_p2"	(Positionierung: UNTEN RECHTS der Seite; äußerster Punkt)
//
//	Danach dieses Skript einfach per SCRIPT einbinden
//
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
var seite 	= window.location.hostname+window.location.pathname+window.location.search;
//seite = seite.substr(1,seite.length);

var xWert = yWert = offX = offY = innerX = innerY = 0;
var setFlashEventX;
var setFlashEventY;
var zaehlFlash = 0;
var cmbild;
var intervall;


// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
function getPosition(objekt) {
	var pos = { x:0, y:0 };
  	do {
   	pos.x += objekt.offsetLeft;
   	pos.y += objekt.offsetTop;
  	} while (objekt = objekt.offsetParent);
  	return pos;
}	

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
function checkIFFlashClick(){
	if(zaehlFlash == 0){	
		makeRequest(setFlashEventX,setFlashEventY,dauer,pause,'Flash_noLink'); 
	}	
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
function makeRequest(xvalue,yvalue,dau,pau,lin) {		
	a = 1 + 69*(Math.random());
	a = Math.round(a);
	ima = new Image();
	ima.src = 'http://www.stats.casio.de/clickmap/clickzaehler.php?x='+xvalue+'&y='+yvalue+'&seite='+seite+'&dauer='+dau+'&pause='+pau+'&islink='+lin+'&db='+cmt+'&z='+a;	
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
function setClickmapLink(wert,g1,g2){	
	zaehlFlash 	= 1;	
	scrolledX 	= scrolledY = querscollbalken = hochscollbalken = innerX = innerY = 0;  	  	  	
	if(navigator.appName == "Microsoft Internet Explorer")
		islink = 'x_object';
	else
		islink = 'x_embed';
	
	islink 	= islink + '_'+wert;
	offX 		= setFlashEventX;
  offY 		= setFlashEventY;	
    	
	if(offX!=0 && offY!=0){  			
		makeRequest(offX,offY,dauer,pause,islink); 	  			  		  			
  }	    
  if(wert.indexOf('flash')==-1 && g1!=""){
  	goLink(g1,g2,'1');
  }
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//	
function checkClickmap(){
	tseite 				= 'http://'+seite;
	seiteZaehlen 	= 0;
	for(i=0;i<zseite.length;i++){		
		if(zseite[i]==tseite) seiteZaehlen = 1;
	}
	
	if(seiteZaehlen == 1){
		return true;
	}else{
		return false;
	}
}



// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//	
function clickZaehler (ereignis) {	

	if(checkClickmap() && cmz){
		tempbrowser = navigator.userAgent.toLowerCase().indexOf('safari');
			
	  if(!ereignis)
	   	ereignis = window.event;  
	  	
	  if( (ereignis.button==0 || ereignis.button==1) && (document.getElementById('cm_p1') && document.getElementById('cm_p2') && tempbrowser == -1) ){
	  
	  	islink = '';  	  	
	  	if(navigator.appName == "Microsoft Internet Explorer"){    	  		
	  		ie_tag = window.event.srcElement.tagName.toString().toLowerCase();  	  		
	  	  if(ie_tag == "a" || ie_tag == "area" || ie_tag == "object")
	  	  	islink = 'x-'+ie_tag;
	  	  if( (ie_tag == "strong" || ie_tag == "img" || ie_tag == "b") && window.event.srcElement.parentNode.tagName.toString().toLowerCase() == "a")
	  	  	islink = 'x-'+ie_tag+'-a';
	  	  else if( window.event.srcElement.parentNode.tagName.toString().toLowerCase() == "strong")	
	  	  	islink = 'x-infobar';
	  	  		
	  	}else{
	  		moz_tag = ereignis.target.tagName.toString().toLowerCase();    	  		  		  	  		  	  		
	  	  if(moz_tag == "a" || moz_tag == "area" || moz_tag == "embed" || moz_tag == "object")
	  	  	islink = 'x-'+moz_tag;
	  	  if( (moz_tag == "strong" || moz_tag == "img" || moz_tag == "b") && ereignis.target.parentNode.tagName.toString().toLowerCase() == "a")
	  	  	islink = 'x-'+moz_tag+'-a';
	  	}
	  	  	
	  	// X und Y Werte des Mauszeigers beim Betätigen des Linksklicks  	  	
	  	scrolledX 	= scrolledY = querscollbalken = hochscollbalken = innerX = innerY = 0;  	  	
	  	xWert 			= ereignis.clientX;
	   	yWert 			= ereignis.clientY;
	  	  	  	  	
	  	// X und Y Werte, die der User schon gescrollt hat (Unterschiedliche Aufrufe bei Firefox & Co. und IE
	  	if (typeof window.pageYOffset == "number") {
				scrolledX = window.pageXOffset;
	      scrolledY = window.pageYOffset;
			}else if(typeof document.body.scrollTop == "number") {      	
	  		scrolledX = document.body.scrollLeft;
				scrolledY = document.body.scrollTop;
			}
	  	  	  	  	
	  	// Koordinaten der Kalibrierungspunkte ermitteln
	  	clickoffset = document.getElementById('cm_p1');
	  	outofrange	= document.getElementById('cm_p2');
	  	pos_CO	 		= getPosition(clickoffset); 
	  	pos_OOR	 		= getPosition(outofrange); 
	  	  	
	  	// Sichtbarer Bereich im Browserfenster (innere Abmaße); Unterschiedliche Aufrufe bei Firefox & Co. und IE
	  	if (self.innerHeight){		
				innerX = self.innerWidth;
				innerY = self.innerHeight;
			}else if (document.documentElement && document.documentElement.clientHeight){		
				innerX = document.documentElement.clientWidth;
				innerY = document.documentElement.clientHeight;
			}else if (document.body){		
				innerX = document.body.clientWidth;
				innerY = document.body.clientHeight;		
			}
	  	  	  	  	
	  	// Scrollbalken vorhanden? Wenn ja, Variablen setzen, um dort keine Clicks zu zählen
	  	if (self.innerHeight){  	  		
	  		if(pos_OOR.x > innerX)	hochscollbalken = 17;
	  		if(pos_OOR.y > innerY) 	querscollbalken = 17;
	  	}
	  		
			// Klick auf Scrollbalken oder nicht? 
	 		if( (xWert < (innerX-querscollbalken)) && (yWert < (innerY-hochscollbalken)) ){
				xWertOffset = pos_CO.x;
				yWertOffset = pos_CO.y;
			  offX = xWert + scrolledX - xWertOffset;
	  		offY = yWert + scrolledY - yWertOffset;
	  	
	  		// Ungenauigkeiten ausbessern bei IE
	  		if (!self.innerHeight){	offX -= 2; offY -= 2;	}
	  			
			  if(offX!=0 && offY!=0){
			  	if( (islink=='x-embed' || islink=='x-object') ){  					  					
	  				setFlashEventX = offX;
	  				setFlashEventY = offY;  
	  				window.setTimeout("checkIFFlashClick()",20); 					
	  			}else{  				  				
	  				makeRequest(offX,offY,dauer,pause,islink); 
	  			}	  				  				  			
	  		}  			
	  	}
	  }  	
	}
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//	
function initOutput(){	
	vergleich = String.fromCharCode(99,109,115,104,111,119,61,116,114,117,101);
	if(window.location.search.indexOf(vergleich)!=-1){
		
		if(seite.indexOf('?'+vergleich)!=-1) tse = seite.replace('?'+vergleich,"");
		if(seite.indexOf('&'+vergleich)!=-1) tse = seite.replace('&'+vergleich,"");
				
		seiteZaehlen 	= 0;
		for(i=0;i<zseite.length;i++){		
			if(zseite[i]==('http://'+tse)) seiteZaehlen = 1;
		}
		
		if(seiteZaehlen == 1){
			document.writeln('<div style="position:absolute;top:0;left:0;z-Index:999;background-color:#fff;display:none;font-size:11px;font-family:Verdana,Arial;border-right:2px solid #D4D0C8;border-bottom:2px solid #D4D0C8;width:250px;" id="cmausg"></div>');
			wert = document.getElementById('cmausg');
			wert.style.display = 'block';
			standardTextForm();		
		}
	}
}


// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//	
function standardTextForm(wert){
	if(wert=='unknownuser') hinweis = '<b>Zugriff verweigert</b><br><br>'; else hinweis = '';		
	au = '<div style="padding:10px;"><div style="padding-left:3px;"><img src="http://www.stats.casio.de/clickmap/logo.gif" width="109" height="53" border="0"></div>'+hinweis+'<form name="cmausgform"><table><tr><td style="padding-right:10px;">AuthID</td><td><input tabIndex="1" type="text" style="font-size:11px;font-family:Verdana,Arial;width:100px;" name="bid"></td>';
	au += '<td rowspan="3" valign="bottom"><input type="button" value="OK" onclick="cmausgcheck(0);" style="font-size:11px;font-family:Verdana,Arial;"></td></tr>';
	au += '<tr><td>Pwd</td><td><input tabIndex="2" type="password" style="font-size:11px;font-family:Verdana,Arial;width:100px;" name="bidp"></td></tr>';
	au += '<tr><td>Grafik</td><td><select style="font-size:11px;font-family:Verdana,Arial;width:100px;" name="art"><option value="1">Punkte</option><option value="2">Verlauf</option></select></td></tr></table></form><div style="height:20px;color:#800000;font-weight:bold;" id="cmausgstatus"></div></div>';
	document.getElementById('cmausg').innerHTML  = au;
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//	
function cmausgbild(){
	if(cmbild!='undefined' && cmbild!=''){
		window.clearInterval(intervall);
		if(cmbild=='unknownuser'){
			standardTextForm('unknownuser');
		}else{							
			ausgabe = "<div id='clickmap' style='z-index:2;position:absolute;width:"+windowWidth+"px;height:"+windowHeight+"px;top:0;left:0;filter:Alpha(opacity=70);-moz-opacity:0.7;'><a href='javascript:standardTextForm()'>";
			ausgabe += cmbild;
			ausgabe += "</a></div>";
			document.getElementById('cmausg').innerHTML = ausgabe;
		}
	}
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//	
function cmausgcheck(wert){
	if(wert == 0){
		if(document.cmausgform.bid.value !="" && document.cmausgform.bidp.value !=""){
			document.getElementById('cmausgstatus').innerHTML = 'Bitte warten...';
			jetzt 				= new Date();
			windowWidth		= innerX;
			windowHeight	= innerY;			
			pos2 					= getPosition(document.getElementById('cm_p1'));			
			pos3 					= getPosition(document.getElementById('cm_p2'));
			xWertOff 			= pos2.x;
			yWertOff 			= pos2.y;
			
			if(pos3.x > windowWidth)	windowWidth = pos3.x;
			if(pos3.y > windowHeight)	windowHeight = pos3.y;
			
			var scriptTag = document.getElementById('scriptLader');
			var head 			= document.getElementsByTagName('head').item(0)
			if(scriptTag) head.removeChild(scriptTag);
			script 				= document.createElement('script');
			script.src 		= 'http://www.stats.casio.de/clickmap/clickzaehler.php?art='+document.cmausgform.art.value+'&cmap='+cmt+'&auth='+document.cmausgform.bid.value+'&auth2='+document.cmausgform.bidp.value+'&w='+windowWidth+'&h='+windowHeight+'&offX='+xWertOff+'&offY='+yWertOff+'&t='+jetzt.getTime()+'&f='+seite;
			script.type 	= 'text/javascript';
			script.id 		= 'scriptLader';
			head.appendChild(script);	
				
			intervall	= window.setInterval('cmausgbild();', 300);											
		}
	}
}

initOutput();
document.onmousedown = clickZaehler;