// v = u + at
// v2 = u2 + 2as
// s = ut + 1/2 at2 

var initialVelocity = 15.0;
var finalVelocity = 0.0;
var initialMotionBlur = 150;
var accelaration = null;
var distance = 550;
var time = 1;
var currentDistance = null;
var initalDisplacment = -250;

function moveElement( p_element ) {
	if( accelaration == null ) {
		accelaration = (finalVelocity*finalVelocity - initialVelocity*initialVelocity) / ( 2*distance);
	}

	currentDistance = initialVelocity*time + 0.5*accelaration*time*time;
	time += 1

	p_element.style.left = currentDistance + initalDisplacment;

	var currentMotionBlur = initialMotionBlur * ( (distance - currentDistance) / distance );
	p_element.filters.item( "DXImageTransform.Microsoft.MotionBlur").Strength = currentMotionBlur;


	if( currentDistance < distance - 10 ) {
		window.setTimeout( "moveImages()", 5 );
	} else {
		fadeOut( p_element );
	}
}

var currentAction = new Array(); 

function fadeIn( p_id ) {
	var obj = eval( "document.all." + p_id );
	var op = obj.filters.item( "DXImageTransform.Microsoft.Alpha").Opacity;
	if( currentAction[p_id] != null ) window.clearTimeout( currentAction[p_id] );
	if( op < 100 ) {
		obj.filters.item( "DXImageTransform.Microsoft.Alpha").Opacity = op + 5;
		currentAction[p_id] = window.setTimeout( "fadeIn( '" + p_id + "' );", 25 );
	} 
}

function fadeOut( p_id ) {
	var obj = eval( "document.all." + p_id );
	var op = obj.filters.item( "DXImageTransform.Microsoft.Alpha").Opacity;
	if( currentAction[p_id] != null ) window.clearTimeout( currentAction[p_id] );
	if( op > 25 ) {
		obj.filters.item( "DXImageTransform.Microsoft.Alpha").Opacity = op - 5;
		currentAction[p_id] = window.setTimeout( "fadeOut( '" + p_id + "' );", 25 );
	} 
}