/*** Parameter ***/

// Breite und Hoehe
var rasterBreite=6;
var rasterHoehe=1;

// Anfagsposition
var startPosX=1;
var startPosY=1;

// Scrollschritte
var scrollStepsX=10;
var scrollStepsY=10;

// Verlangsamen ab Schritt
var slowDownStepX=10;
var slowDownStepY=10;

// Scrollintervall in Millisekunden
var scrollIntervall=20;

// Scroll-Element
var containerID="scroller";



/*** Scrollfunktionen ***/

var xPos=startPosX;
var yPos=startPosY;

function softScroll(xPixel, yPixel, xPixelGo, yPixelGo, xStep, yStep)
{
	xPixel=xPixel+xStep;
	yPixel=yPixel+yStep;
	
	document.getElementById(containerID).style.marginLeft=-xPixel+"px";
	document.getElementById(containerID).style.marginTop=-yPixel+"px";

	var xDelta=Math.abs(xPixel-xPixelGo);
	var yDelta=Math.abs(yPixel-yPixelGo);

	if(xDelta<slowDownStepX*Math.abs(xStep) && Math.abs(xStep)>rasterBreite) xStep=Math.round(xStep/rasterHoehe);
	if(yDelta<slowDownStepY*Math.abs(yStep) && Math.abs(yStep)>rasterBreite) yStep=Math.round(yStep/rasterHoehe);
	
	if(xDelta>=Math.abs(xStep) && yDelta>=Math.abs(yStep)) setTimeout("softScroll("+xPixel+", "+yPixel+", "+xPixelGo+", "+yPixelGo+", "+xStep+", "+yStep+")", scrollIntervall);
	else
	{
		document.getElementById(containerID).style.marginLeft=-xPixelGo+"px";
		document.getElementById(containerID).style.marginTop=-yPixelGo+"px";
		
		pagerControl();
	}
}

function scrollPage(x, y)
{	
	// Abbrechen wenn die Position die gleiche ist
	if(x==xPos && y==yPos) return;
	
	// Abbrechen wenn die Position bereits beim ersten oder letzten Element liegt
	if(x<1 || y<1 || x>imagesTotal || y>imagesTotal) return;

	var xPixel=imagePosArray[xPos];
	var yPixel=0;
	
	var xPixelGo=imagePosArray[x];
	var yPixelGo=0;
	
	var xStep=Math.round((xPixelGo-xPixel)/scrollStepsX);
	var yStep=Math.round((yPixelGo-yPixel)/scrollStepsY);
	
	softScroll(xPixel, yPixel, xPixelGo, yPixelGo, xStep, yStep);
	
	xPos=x;
	yPos=y;
}

function geh(richtung)
{
	if(richtung=="hoch") { scrollPage(xPos, yPos-1); return; }
	if(richtung=="rechts") { scrollPage(xPos+1, yPos); return; }
	if(richtung=="runter") { scrollPage(xPos, yPos+1); return; }
	if(richtung=="links") { scrollPage(xPos-1, yPos); return; }
}

function pagerControl()
{
	if(xPos==2) document.getElementById('arrow_previous').className="active";
	if(xPos==1) document.getElementById('arrow_previous').className="passive";
	
	if(xPos==imagesTotal-1) document.getElementById('arrow_next').className="active";
	if(xPos==imagesTotal) document.getElementById('arrow_next').className="passive";
}

function checkSeries()
{
	if(imagesTotal>1)
	{
		document.getElementById('arrow_previous').style.display="block";
		document.getElementById('arrow_next').style.display="block";		
	}
}
