setInterval bug?

MC Timeline --> its last frame --> /script/ stop(); function nextAd(){} ID=setInterval(nextAd,5000);

[COLOR=red]EXPECTED[/COLOR]: animating MC should repeat every after 5 seconds, once it has reached its last frame.

[COLOR=red]OUTPUT[/COLOR]: first 2-4 intervals run, it works right,then after next iteration,
EITHER MC does gotoandstop to its frame1 then PAUSES for 5sec(the interval), which should have been MC PAUSE FIRST then goto frame1…
OR the animation runs with like 500 milliseconds interval, that fast.

Why!?

[AS]
stop();
Amsg = new Array(“AVAILABLE IN LIQUID CN-9”, “AND DRY CALCIUM NITRATE.”);
function nextAd() {
if (photo._currentframe == photo._totalframes)
{ photo.gotoAndStop(1); }
else photo.gotoAndStop(photo._currentframe+1);
if (j == Amsg.length-1) {
msg = Amsg[0];
j = 0;
}
else msg = Amsg[j += 1];
gotoAndPlay(1);
}

adIntv = setInterval(nextAd, 5000);
[/AS]