var pngAnim_container = null;
var pngAnim_width = null;
var pngAnim_currentStep = null;
var pngAnim_steps = null;
var pngAnim_stepDirection = null;
var pngAnim_pulse = null;
var pngAnim_repeat = null;
var pngAnim_interval = null;

function pngAnim_StartAnimation(container, width, interval, steps, pulse, repeat, image) {
	pngAnim_container = container;
	pngAnim_width = width;
	pngAnim_currentStep = 0;
	pngAnim_stepDirection = 1;
	pngAnim_steps = steps;
	pngAnim_pulse = pulse;
	pngAnim_repeat = repeat;
	
	container.style.backgroundPosition = "0px 0px";
	container.style.backgroundImage = "url('"+image+"')";
	
	pngAnim_interval = window.setInterval("pngAnim_ProcessAnimation()", interval);	
}

function pngAnim_ProcessAnimation() {
	pngAnim_currentStep += pngAnim_stepDirection;
	
	if(pngAnim_currentStep>=pngAnim_steps || pngAnim_currentStep<0) {
		if(pngAnim_pulse) {
			pngAnim_stepDirection *= -1;
			pngAnim_currentStep += pngAnim_stepDirection*2;
		} else {
			pngAnim_currentStep = (pngAnim_stepDirection<0)?pngAnim_steps-1:0;
		}
		pngAnim_repeat--;
		
		if(pngAnim_repeat==0) {
			pngAnim_container.style.visibility = "hidden";
			pngAnim_container = null;
			window.clearInterval(pngAnim_interval);
		}
	}
	
	pngAnim_container.style.backgroundPosition = ((pngAnim_width*pngAnim_steps)-(pngAnim_currentStep*pngAnim_width))+"px 0px";
}

function pngAnim_AbortAnimation() {
	if(pngAnim_container) {
		pngAnim_container.style.visibility = "hidden";
		pngAnim_container = null;
	}
}
