Random transition help

i trying to create random transition, i able to randomly select the transiton type but it just cant transit. when i play the move it will only transit the first time but the 2nd and the rest will only show me the transiton type. how cani let it keep randomly transit? below is my code


import mx.transitions.;
import mx.transitions.easing.
;

var intervalID:Number;
//set list of transition
var patternList:Array = new Array(“Blinds”, “Rotate”, “Fly”);

var transObj:Object = new Object();

startTrans();
//start of transition
TransitionManager.start(mc, transObj);

//setting interval for the transition
setInterval(startTrans,3000);
/*var myListener:Object = new Object();
myListener.allTransitionsInDone = function(eventObj:Object) {
trace(“allTransitionsInDone event occurred.”);
//setInterval(startTrans,1000);
};
transObj.addEventListener(“allTransitionsInDone”, myListener);
*/
function startTrans(){

RandomKey();
//Assign random selection of the array list to string which will be use in Switch
var transition:String = patternList[random(3)];
trace(transition);

switch(transition) {
    
    case "Blinds": {
        transObj.type = Blinds;
        transObj.direction = Transition.IN;
        transObj.duration = 2; 
        transObj.easing = None.easeNone; 
        transObj.numStrips = 10; 
        transObj.dimension = 0;
    }break;
    
    case "Rotate": {
        transObj.type = Rotate;
        transObj.direction = Transition.IN;
        transObj.duration = 3; 
        transObj.easing = Strong.easeInOut; 
        transObj.ccw = false;
        transObj.degrees = 720;
    }break;
    
    case "Fly": {
        transObj.type = Fly;
        transObj.direction = Transition.IN;
        transObj.duration = 3; 
        transObj.easing = Elastic.easeOut; 
        transObj.startPoint = 9;
    }break;
}//end switch 

}//end function
//Creating random key by creating a empty movie clip
function RandomKey(){
var z:String = “”;
for (var i = 0; i<4; i++){
var ran:Number = random(61);
var final:Number = ran + 64;
var myStr:String = String.fromCharCode(final);
z += myStr;
}//end for loop
trace(z.toString());

//Create a empty movieclip which is used for create of new text field
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
//Create of text field and position 
mc.createTextField("txt", this.getNextHighestDepth(), 250, 180, 400, 350);
mc.txt.border = false;
mc.txt.background = true;
mc.txt.autoSize = "left";
mc.txt.text = z;

}//end function