setInterval Problem

Hey Guys, heres my problem - I have a function that calls another function once every 30 seconds. Each time it calls the function it updates the variables each time. My problem is that it only wants to call the function one time. All the variables are correct but it wont call it again. Help please?

 //----LEVEL CHANGER---- 
newLevel = function(e_freq, s_freq, current_level){
clearInterval(_root.spawnInt);
_root.spawnInt = setInterval(_root.create_enemy, e_freq);
 
clearInterval(_root.scoreboxInt);
_root.scoreboxInt = setInterval(_root.create_scorebox, s_freq);
 
_root.level_ani.removeMovieClip();
_root.attachMovie("level_ani", "level_ani", 10003);
_root.level_ani._x = _root.info_box._x;
_root.level_ani._y = _root.info_box._y;
_root.level_ani.level.leveltext.text = "LEVEL " + current_level;
 
current_level = current_level + 1;
e_freq = e_freq - 5;
_root.scoreplus = _root.scoreplus * 2;
_root.hploose = _root.hploose + 2;
_root.ewidth = _root.ewidth + 5;
trace("int2");
}
startLevels = function(){
_root.startscore = true;
current_level = 1;
e_freq = 400;
s_freq = 2000;
scoreplus = 25;
hploose = 3;
ewidth = 25;
trace("int1");
setInterval(_root.newLevel(e_freq, s_freq, current_level), 30000);
}
 
startLevels();