function animate_init()
{
	var d = document;
	var div;

	anim= new Array();

	for (var i in d.animid)
	{
		anim[i] = new Array();
		div = d.getElementById(d.animid[i]);
		if (div == undefined)
			continue;
		anim[i].div = div;
		anim[i].start_frame = d.start[i];
		anim[i].last_frame = d.start[i]+d.dur[i];
		anim[i].start_opac = 0;
		anim[i].last_opac = 1;
		if ( div.filter != undefined )
			anim[i].last_opac = 100;
		if ( d.xslide != undefined )
		{
			div.style.position = "relative";
			anim[i].last_x = 0;
			anim[i].start_x = d.xslide[i];
		}
		if ( d.yslide != undefined )
		{
			div.style.position = "relative";
			anim[i].last_y = 0;
			anim[i].start_y = d.yslide[i];
		}

		if ( div.style.opacity != undefined )
			div.style.opacity = 0;
		if ( div.filter != undefined )
			div.filter.alpha.opacity = 0;
	}

	cur_frame = 0;
	document.body.style.display = 'block';
	animate();
}

function animate()
{
	var cont = 0;

	for ( var i in anim )
	{
		if ( anim[i].div == undefined )
			continue;
		var first = anim[i].start_frame;
		var last = anim[i].last_frame;
		if ( cur_frame > last )
			continue;
		cont++;
		if ( cur_frame < first )
			continue;
		var pct = ( cur_frame - first ) / ( last - first );

		if ( anim[i].div.style.opacity != undefined )
			anim[i].div.style.opacity = pct * ( anim[i].last_opac - anim[i].start_opac ) + anim[i].start_opac;
		else if ( anim[i].div.filter != undefined )
			anim[i].div.filter.alpha.opacity = pct * ( anim[i].last_opac - anim[i].start_opac ) + anim[i].start_opac;
		if ( anim[i].start_x != undefined )
			anim[i].div.style.left = 
				(pct * ( anim[i].last_x - anim[i].start_x )
				+ anim[i].start_x) + 'px';
		if ( anim[i].start_y != undefined )
			anim[i].div.style.top = 
				(pct * ( anim[i].last_y - anim[i].start_y )
				+ anim[i].start_y) + 'px';
	}
	if ( cont )
	{
		cur_frame++;
		setTimeout( animate, 100 );
	}
}
