function MyEffectMoveLayer(_name,_nx,_ny,_acceleration, _speed) {
	var e = MyGetElement(_name);
	x = MyGetX(e);
	y = MyGetY(e);
	
	dx = _nx - x;		// Distance to go
	dxa = dx / _acceleration;	// Acceleration
	dy = _ny - y;
	dya = dy / _acceleration;

	if( dxa < 1 && dxa > 0) dxa = 1;
	if( dxa >-1 && dxa < 0) dxa =-1;
	if( dya < 1 && dya > 0) dya = 1;
	if( dya >-1 && dya < 0) dya =-1;
	
	x += dxa;	// New positions
	y += dya;		
	
	MyMoveLayer(e,x,y);
	
	if ( Math.floor(dx) == 0 && Math.floor(dy) == 0) {
		MyMoveLayer(e,x,y);
		return;
	} else {
		window.setTimeout("MyEffectMoveLayer('" + _name + "'," + _nx + "," + _ny + "," +_acceleration + "," + _speed + ")", _speed);
	}
}


function MyEffectExtraMoveLayer(_control_array) {
	
	tmp = eval(_control_array);
	e = tmp[0];
	_nx = tmp[1];
	_ny = tmp[2];
	_acceleration = tmp[3];
	_speed = tmp[4];
	
	x = MyGetX(e);
	y = MyGetY(e);
	
	dx = _nx - x;		// Distance to go
	dxa = dx / _acceleration;	// Acceleration
	dy = _ny - y;
	dya = dy / _acceleration;

	if( dxa < 1 && dxa > 0) dxa = 1;
	if( dxa >-1 && dxa < 0) dxa =-1;
	if( dya < 1 && dya > 0) dya = 1;
	if( dya >-1 && dya < 0) dya =-1;
	
	x += dxa;	// New positions
	y += dya;		
	
	MyMoveLayer(e,x,y);
	
	if ( Math.floor(dx) == 0 && Math.floor(dy) == 0) {
		MyMoveLayer(e,x,y);
		tmp[5] = false;
		//alert(tmp);
		return;
	} else {
		window.setTimeout("MyEffectExtraMoveLayer('" + _control_array + "')", _speed);
	}
}

function MyEffectExtraScaleLayer(_control_array) {
	
	tmp = eval(_control_array);
	//alert(tmp);
	e = tmp[0];
	_nw = tmp[1];
	_nh = tmp[2];
	_acceleration = tmp[3];
	_speed = tmp[4];
	
	w = MyGetWidth(e);
	h = MyGetHeight(e);
	
	/*if (w == tmp[6]) {
		MyResizeLayer(e,_nw,_nh,0);
		tmp[5] = false;
		return;
	} else {
		tmp[6] = w;

	}
	
	if (h == tmp[7]) {
		MyResizeLayer(e,_nw,_nh,0);
		tmp[5] = false;
		return;
	} else {
		tmp[7] = h;
	}
	*/
	dw = Math.abs(_nw - w);		// Distance to go
	dwa = dw / _acceleration;	// Acceleration	
	dh = Math.abs(_nh - h);
	dha = dh / _acceleration;

	if( dwa < 1 && dwa >= 0) dwa = 1;
	//if( dwa >-1 && dwa <= 0) dwa =-1;
	if( dha < 1 && dha >= 0) dha = 1;
	//if( dha >-1 && dha <= 0) dha =-1;
	
	w = w + tmp[8]*dwa;
	h = h + tmp[9]*dha;
	if (tmp[8] == -1) {
		if ((w - dwa) > _nw) w = w - dwa;
		else w = _nw;
	} else {
		if ((w + dwa)< _nw) w = w + dwa;
		else w = _nw;
	}
	
	if (tmp[9] == -1) {
		if ((h - dha) > _nh) h = h - dha;
		else h = _nh;
	} else {
		if ((h + dha) < _nh) h = h + dha;
		else h = _nh;
	}
	
	MyResizeLayer(e,w,h,0);
	//form1.test.value = ' '+dw+' '+dh+' '+_nw+' '+_nh+' '+w+' '+h+' '+dwa+' '+dha+' '+_acceleration+' '+Math.floor(dw)+' '+Math.floor(dh);
	
	//if ( (Math.floor(dw) < 2) && (Math.floor(dh) < 2) && (Math.floor(dw) > -2) && (Math.floor(dh) > -2) ) {
	if ((w == _nw) && (h == _nh)) {
		//MyResizeLayer(e,_nw,_nh,0);
		w = MyGetWidth(e);
	    h = MyGetHeight(e);
		//form1.test.value = ' '+dw+' '+dh+' '+_nw+' '+_nh+' '+w+' '+h+' '+dwa+' '+dha;
		tmp[5] = false;
		//alert(tmp+' '+dw+' '+dh+' '+_nw+' '+_nh+' '+w+' '+h+' '+dwa+' '+dha);
		return;
	} else {
		window.setTimeout("MyEffectExtraScaleLayer('" + _control_array + "')", _speed);
	}
}
