Создадим функцию перемещения

 function moveLayerDown(layerName,currTop,topstop) 

В ней сначала проверим, не достиг ли слой конечной точки

 if (eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.top != topstop')) 

если это не произошло, сдвинем слой вниз

 currTop+=2; eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.top = currTop'); 

и рекурсивно вызовем функцию

 setTimeout('moveLayerDown("'+layerName+'",'+currTop+','+topstop+')',50); 

Вот, что у нас получилось:

 function moveLayerDown(layerName,currTop,topstop){    if (eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.top != topstop')){     currTop+=2;     eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.top = currTop');     setTimeout('moveLayerDown("'+layerName+'",'+currTop+','+topstop+')',50);   }	 }