// Image animation script

var imagePrefix;
var imageIds=[];
var oldPositions;
var newPositions=[];
var maxFrames=10;
var frameDelay=50;
var frameCount=0;

function animate(pos)
{ 
	frameCount=maxFrames;
	oldPositions=newPositions;
	newPositions=positions[pos];
	nextStep();
}

function nextStep()
{
	if (frameCount--<=0) 
	{
		return;
	}
	for (var img in oldPositions)
	{
		setImgPos(img, tween(oldPositions[img].x, newPositions[img].x),
			       tween(oldPositions[img].y, newPositions[img].y),
		  	       tween(oldPositions[img].w, newPositions[img].w),
			       tween(oldPositions[img].h, newPositions[img].h)
		);
	}
	setTimeout(nextStep,frameDelay);
}

function tween(a,b)
{
	u=frameCount/maxFrames;
	return u*a+(1-u)*b;
}

function setImgPos(img, x,y,w,h)
{
	var s=document.images[img].style;
	s.top=y+"px";
	s.left=x+"px";	
	s.width=w+"px";	
	s.height=h+"px";	
}

function initializePositions(elementId, imgPre, startPos)
{
	imagePrefix=imgPre;
	var imageCode="";
	oldPositions=positions[startPos];
	newPositions=oldPositions;

	for (var i=0; i<ordering.length; i++)
	{
		var img=ordering[i];
		imageCode+="<img id=\""+img+"\" src=\""+imagePrefix+img+".jpg\"  style=\"position:absolute\">";			
	}

	document.getElementById(elementId).innerHTML=imageCode;

	for (var img in oldPositions)
	{
		setImgPos(img, oldPositions[img].x, oldPositions[img].y, oldPositions[img].w, oldPositions[img].h);	
	}

}