
var breite=1500;
var hoehe=500;
var fensterbreite=500;
var fensterhoehe=250;

var halbehoehe=hoehe/2;
var seitenverhaeltnis=breite/hoehe; /* 3 */
var mainxpos = -(breite/2); /* -750 */
var mainypos = -(hoehe-fensterhoehe)/2;
var initx, inity;
var mvxoffset = 0; /*Abstand der Cursors vom Bewegungsursprungspunkt x */
var mvyoffset = 0; /*Abstand der Cursors vom Bewegungsursprungspunkt y */
var shtop = 0;
var zoom = hoehe;
var zoomdelta=15;
var minzoom=(fensterhoehe/hoehe)*zoom;
var panowidth = breite;

function msov(mvdiv, event)
	{
	if (!event) event = window.event;
	mvdiv.style.cursor = "move";

	if (document.addEventListener)
  	{
		document.addEventListener("DOMMouseScroll", wheel, true);
		document.addEventListener("mouseout", rmwheel, true);
		} 
	if (document.attachEvent)
  	{
		document.attachEvent("onmouseout", rmwheel);
		document.attachEvent("onmousewheel", wheel);
		}	
	}

function mkmv(mvdiv, event)
	{
	// if (!event) event = window.event;
	var mvdivleft = parseInt(mvdiv.style.left);
	initx = event.clientX;
	inity = event.clientY;

	shtop = 0;
	mvxoffset = 0;
	mvyoffset = 0;

	setTimeout("automv()", 50);

	if (document.addEventListener)
  	{
		document.addEventListener("mousemove", actmv, true);
		document.addEventListener("mouseup", rmmv, true);
		}
  else if (document.attachEvent)
  	{
		document.attachEvent("onmouseup", rmmv);
		document.attachEvent("onmousemove", actmv);
		}

	event.cancelBubble = true;
	event.returnValue = false;
	
	if (event.stopPropagation) event.stopPropagation();
	if (event.preventDefault) event.preventDefault();
	
	}

function wheel(event)
	{
	var wheeldelta = 0;
	if (!event) event = window.event;
	if (event.wheelDelta)
  	{
		wheeldelta = event.wheelDelta/120;
		if (window.opera) wheeldelta = -wheeldelta
		}
  else if (event.detail)
  	{
		wheeldelta = -event.detail/3;
		}
	if (wheeldelta) actzoom(wheeldelta);
	event.cancelBubble = true;
	event.returnValue = false;
	if (event.stopPropagation) event.stopPropagation();
	if (event.preventDefault) event.preventDefault();
	}



function actmv(event)
	{
	if (!event) event = window.event;
	mvxoffset = event.clientX - initx;
	mvyoffset = event.clientY - inity;
	event.returnValue = false;
	event.cancelBubble = true;
	if (event.stopPropagation) event.stopPropagation();
	if (event.preventDefault) event.preventDefault();
	}



function automv()
	{
	mainxpos = mainxpos - Math.ceil(mvxoffset/10);
	if (mainxpos >= 0) {mainxpos=0};
	if (mainxpos < -(zoom*seitenverhaeltnis-fensterbreite)) {mainxpos=-(zoom*seitenverhaeltnis-fensterbreite)};

	mainypos = mainypos - Math.ceil(mvyoffset/10);
	if (mainypos <=-(zoom-fensterhoehe)) {mainypos=-(zoom-fensterhoehe)};
	if (mainypos >=0) {mainypos=0};

	document.getElementById('img1').style.left = mainxpos + "px";
	document.getElementById('img1').style.top = mainypos + "px";
 	xw=document.getElementById('img1').style.left;
  yw=document.getElementById('img1').style.top; 

	if (shtop!=1) { setTimeout("automv()", 10) };
	}

function actzoom(wheeldelta)
	{
	xratio = (mainxpos-fensterhoehe)/panowidth;
	if(wheeldelta<0)
  	{
		zoom = zoom - zoomdelta*seitenverhaeltnis;	
		if(zoom<minzoom) zoom = minzoom;
		mainypos = mainypos+zoomdelta;
		}
	else if(wheeldelta>0)
  	{
		zoom = zoom + zoomdelta*seitenverhaeltnis;
		mainypos = mainypos-zoomdelta;
		}
	panowidth = zoom*seitenverhaeltnis;
	mainxpos = (panowidth*xratio)+fensterhoehe;
	
	if (mainypos <=-(zoom-fensterhoehe)) {mainypos=-(zoom-fensterhoehe)};
	if (mainypos >0) {mainypos=0};
  if (mainxpos > 0) {mainxpos=0};
	if (mainxpos < -(zoom*seitenverhaeltnis-fensterbreite)) {mainxpos=-(zoom*seitenverhaeltnis-fensterbreite)};

		document.getElementById('img1').style.height = zoom + "px";
		document.getElementById('img1').style.width = Math.ceil((zoom*seitenverhaeltnis)) + "px";
		document.getElementById('img1').style.top = mainypos + "px";
		document.getElementById('img1').style.left = mainxpos + "px";
    xw=document.getElementById('img1').style.left;
    yw=document.getElementById('img1').style.top; 

	}


function rmmv(event)
	{
	if (!event) event = window.event;
	shtop = 1;

	if (document.removeEventListener)
  	{
		document.removeEventListener("mousemove", actmv, true);
		document.removeEventListener("mouseup", rmmv, true);
		}
  else if (document.detachEvent)
  	{
		document.detachEvent("onmousemove", actmv);
		document.detachEvent("onmouseup", rmmv);
		}
	event.cancelBubble = true;
	event.returnValue = false;
	if (event.stopPropagation) event.stopPropagation();
	if (event.preventDefault) event.preventDefault();
	}



function rmwheel(event)
	{
	if (!event) event = window.event;
	if (document.removeEventListener)
  	{
		document.removeEventListener("DOMMouseScroll", wheel, true);
		document.removeEventListener("mouseout", rmwheel, true);
		}
  else if (document.detachEvent)
  	{
		document.detachEvent("onmousewheel", wheel);
		document.detachEvent("onmouseout", rmwheel);
		}
	event.cancelBubble = true;
	event.returnValue = false;

	if (event.stopPropagation) event.stopPropagation();
	if (event.preventDefault) event.preventDefault();
}
