// Beginn Thumbgaöerie
// Browserweiche
IE = document.all&&!window.opera;
DOM = document.getElementById&&!IE;

// Variablen für die Mausposition
var mouseX = 0;	// x-Koordinate
var mouseY = 0;	// y-Koordinate


/* Body-Objekt des IE ermitteln (abhängig, ob IE im Quirks- oder Standardmode*/
function getBody(){
	// Entsprechendes Bodyobjekt zurückgeben (CSS1Compat = Standardmode
  return (window.document.compatMode == "CSS1Compat") ?  window.document.documentElement : window.document.body || null;
}

var ieBody = null;

// Funktion zum Initialisierung, die in onload aufgerufen wird
function init(){
	document.onmousemove = getMousePos;	// Mausposition ermitteln

  // Falls es sich um einen IE handelt
	if(IE)
	  ieBody = getBody(); // Bodyobjekt für IE ermitteln
}

// Funktion zum Ermitteln der Mausposition
function getMousePos(ereignis){
	 var myObj = (IE) ? document.all["mausID"] : document.getElementById("mausID");
	// Aktuelle Mauskoordinaten bei Mausbewegung ermitteln
	var maxW = 480;
	var maxH = 480;
	var abstand = 20; // Abstand Bild vom Cursor
	var korrX = 0; var korrY = 0;
	/*var scrollerX = (IE) ? document.documentElement.scrollLeft : window.pageXOffset ;
	var scrollerY = (IE) ? document.documentElement.scrollTop : window.pageYOffset ;*/
	var scrollerX = (IE) ? document.documentElement.scrollLeft : 20 ;
	var scrollerY = (IE) ? document.documentElement.scrollTop : 20 ;
	mouseX = (IE) ? window.event.clientX : ereignis.pageX;
	mouseY = (IE) ? (window.event.clientY + ieBody.scrollTop) : ereignis.pageY;
	imgmininame = document.actimg.thisimg.value;
	imgmaxipfad = imgmininame.replace('mini/','small/');
	imgmaxi = new Image();
	imgmaxi.src = imgmaxipfad;
	imgW = imgmaxi.width;
	imgH = imgmaxi.height;
	imgcrop = "";
	if(imgW > maxW) {
		imgcrop = " width='"+maxW+"'";
		imgH = parseInt(imgH*(maxW/imgW));
		imgW = maxW;
	}
	if(imgH > maxH) {
		imgcrop = " height='"+maxH+"'";
		imgW = parseInt(imgW*(maxH/imgH));
		imgH = maxH;
	}
	innerW = (IE) ? document.body.clientWidth : window.innerWidth;
	innerH = (IE) ? document.body.clientHeight : window.innerHeight;
	/*imgW = document.getElementById('mausID').style.width;
	imgH = document.getElementById('mausID').style.height;
	imgW = parseInt(imgW.replace('px',''));
	imgH = parseInt(imgH.replace('px',''));*/

	restX = innerW-(mouseX+abstand+imgW+scrollerX);
	restY = innerH-(mouseY+abstand+imgH+scrollerY);

	if(restX < 10 && mouseX > (imgW+abstand)) korrX = -(imgW+parseInt(2*abstand));
	// if(restY < 10 && mouseY > (imgH+abstand)) korrY = -(imgH+(2*abstand));
	// oben/unten Automatigk abgeschalten, da lange Scrollseite:
	// korrY = -parseInt(imgH+40); // immer oben
	korrY = -parseInt(imgH/2); // immer Bildmitte

  if(imgmaxipfad.replace(" ","") > "")	{
  	myObj.innerHTML = "<img src='"+imgmaxipfad+"'"+imgcrop+">";
  } else {
  	myObj.innerHTML = "";
  }
  /*myObj.innerHTML += "<br />Box-Position: " + mouseX + ", " + mouseY + " - scrollTop/pageYOffset: " + ((IE)?ieBody.scrollTop:window.pageYOffset);
  myObj.innerHTML += '<br />Mini Name: '+imgmininame;
  myObj.innerHTML += '<br />Maxi Name: '+imgmaxipfad;
  myObj.innerHTML += '<br />Window inner width: '+innerW;
  myObj.innerHTML += '<br />Window inner height: '+innerH;
  myObj.innerHTML += '<br />Image width: '+imgW;
  myObj.innerHTML += '<br />Image height: '+imgH;
  myObj.innerHTML += '<br />Restplatz X: '+restX;
  myObj.innerHTML += '<br />Restplatz Y: '+restY;*/
  myObj.style.top = (mouseY+abstand+korrY)+"px";
  myObj.style.left = (mouseX+abstand+korrX)+"px";
  myObj.style.width = (imgW)+"px";
  myObj.style.height = (imgH)+"px";
}

function mouse_pos(evt) {
    if(!evt) evt = window.event;
    var pos = new Object();
    pos.left = evt.clientX;
    pos.top = evt.clientY;
    var b = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ?
   window.document.documentElement : window.document.body || null;
    if (b)
    {
        pos.scrollLeft= pos.left + b.scrollLeft;
        pos.scrollTop = pos.top + b.scrollTop;
    }
    else if(document.layers)
    {
        // Netscape 4.
        pos.scrollLeft = evt.pageX;
        pos.scrollTop = evt.pageY;
        pos.left = evt.pageX - window.pageXOffset;
        pos.top = evt.pageY - window.pageYOffset;
    }
	document.mpos.mousex.value = pos;
    return pos;
}
function show_position(event) {
	var x = document.all ? event.offsetX : event.pageX;
	var y = document.all ? event.offsetY : event.pageY;
	var out = 'Mausposition: ' + x + ', ' + y;
	alert(out);
}
// Ende Thumbgaöerie