Сбой в функции, в чем проблема?

Код:
function epth(idNum:Number) {
trace(idNum);
for (i=0; i<4; i++) {
trace(myArray);
if (myArray[i] == idNum) {
deleteItem = myArray.splice(i,1);
trace(myArray);
myArray.splice(0,0,deleteItem);
trace(myArray);
}
}
for (j=0; j<4; j++) {
this["window"+myArray[j]+"_mc"].swapDepths(myDepth[j]);
}
}
сбой в этой части, как я понял:

Код:
if (myArray[i] == idNum) {
deleteItem = myArray.splice(i,1);
trace(myArray);
myArray.splice(0,0,deleteItem);
trace(myArray);
}
Когда idNum = 4 первый раз функция срабатывает, когда второй раз передаю idNum = 4, уже не работает условие.