var pic;
var picObj = new Array();
var picHgt = new Array();
var picWdt = new Array();
var picTop = new Array();
var picSpd = new Array();
var picCount = 0;
var picMvt = new Array(2);
var picSpeed = 200;
var picFactor = 1;

function initImageAnimator( cname, dy, speed, maxheight) {
	picMvt[0] = 0;
	picMvt[1] = 0;
	picSpeed = speed;

	var i, p;

	for( i=0; i<document.images.length; i++) {
		pic = document.images[i];
		if( pic.className == cname) {
			picObj[ picCount] = pic;
			picHgt[ picCount] = pic.height;
			picWdt[ picCount] = pic.width;
			picTop[ picCount] = findPos( pic)[1];
			picSpd[ picCount] = 0;
			while( picSpd[ picCount] == 0) picSpd[ picCount] = Math.round( (dy * 2) * Math.random()) - dy;
			picCount++;
		}
	}

	for( i=0; i<picCount; i++) {
		picObj[ i].style.position = "absolute";
		picObj[ i].style.top = picTop[ i] + "px";
	}

	picMvt[0] = picTop[0];
	picMvt[1] = maxheight; //picTop[ picCount -1] + picHgt[ picCount -1];

	var p = picObj[0].parentNode;
	if( p) p.style.height = maxheight + "px";

	setTimeout( "runImageAnimator()", picSpeed);
}


function runImageAnimator() {
	var i, t;
	for( i=0; i<picCount; i++) {
		picTop[ i] += (picSpd[ i] * picFactor);
		if( picSpd[ i] > 0) {
			if( picTop[ i] >= picMvt[ 1]) picTop[ i] = picMvt[ 0] - picHgt[ i] + picSpd[ i];
		} else {
			if( picTop[ i] <= (picMvt[ 0] - picHgt[ i])) picTop[ i] = picMvt[ 1] + picSpd[ i];
		}
		if( picTop[ i] < picMvt[ 0]) {
			picObj[ i].style.clip = "rect(" + (picMvt[ 0] - picTop[ i]) + "px " + picWdt[ i] + "px " + picHgt[ i] + "px 0px)";
		} else if( (picTop[ i] + picHgt[ i]) > picMvt[ 1]) {
			picObj[ i].style.clip = "rect(0px " + picWdt[ i] + "px " + (picMvt[ 1] - picTop[ i]) + "px 0px)";
		} else {
			picObj[ i].style.clip = "rect(0px " + picWdt[ i] + "px " + picHgt[ i] + "px 0px)";
		}
		picObj[ i].style.top = picTop[ i] + "px";
	}
	setTimeout( "runImageAnimator()", picSpeed);
}


function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	if( document.all) {
		curleft += 1;
		curtop += 1;
	}
	return [curleft,curtop];
}


function imageAnimator_setFocus( img) {
	picFactor = 0.1;
	img.style.zIndex = 9;
}


function imageAnimator_looseFocus( img) {
	picFactor = 1;
	img.style.zIndex = 0;
}
