function AddAnim(ElmID, xStart, yStart, xStep, yStep, xEnd, yEnd) {
	Elm = document.getElementById(ElmID);
	if (Elm == null)
		return;
	xStart	= parseInt(Elm.style.left)	+ xStart;
	yStart	= parseInt(Elm.style.top)	+ yStart;
	xEnd	= parseInt(Elm.style.left)	+ xEnd;
	yEnd	= parseInt(Elm.style.top)	+ yEnd;
	if (document.Anim == null)
		document.Anim = new Array();
	document.Anim[ElmID]		= new Array();
	document.Anim[ElmID].Elm	= Elm;
	document.Anim[ElmID].xEnd	= xEnd;
	document.Anim[ElmID].yEnd	= yEnd;
	document.Anim[ElmID].xStep	= xStep;
	document.Anim[ElmID].yStep	= yStep;
	Elm.style.left	= xStart + "px";
	Elm.style.top	= yStart + "px";
}

function StartAnim(ms, EndEvent, EndParam) {
	if (document.Anim != null) {
		if (EndEvent != null) {
			document.Anim._EndEvent = EndEvent;
			document.Anim._EndParam = EndParam;
		}
		document.Anim._Timer = setInterval(AnimTimer, ms);
	}
}

function AnimTimer() {
	Stop = true;
	for(var ElmID in document.Anim)
		if (document.Anim[ElmID].Elm != null)
			with (document.Anim[ElmID]) {
				if ( ( (xStep >= 0) && (parseInt(Elm.style.left) >= xEnd) ) ||
					 ( (xStep <  0) && (parseInt(Elm.style.left) <= xEnd) )    ) {
					Elm.style.left = xEnd + "px";
				}
				else {
					Elm.style.left = parseInt(Elm.style.left) + xStep + "px";
					Stop = false;
				}
				if ( ( (yStep >= 0) && (parseInt(Elm.style.top) >= yEnd) ) ||
					 ( (yStep <  0) && (parseInt(Elm.style.top) <= yEnd) )    ) {
					Elm.style.top = yEnd + "px";
				}
				else {
					Elm.style.top = parseInt(Elm.style.top) + yStep + "px";
					Stop = false;
				}
			}
	if (Stop) {
		clearInterval(document.Anim._Timer);
		if (document.Anim._EndEvent != null)
			document.Anim._EndEvent(document.Anim._EndParam);
	}
}
