If/Else, Detecting file type, switching frames

Hey guys, I am an actionscript novice, and I am trying to wade through an experts code. There is a problem with the website that I am trying to finish up, and I thought I would give it a go on my own… however I can’t seem to get it right.

Here is the situation:
I have a website that displays a thumbnail image. The thumbnail can link to a large png, animated swf, or link to nothing.

Under the thumbnail, I have a little icon. “Click to Enlarge” or “Click to Play”.

The Icon is a single movie clip, with the different words on different frames.

Enlarge_mc:
Frame 1 = Click To Enlarge
Frame 2 = Click To Play

So, what I want to do is add two more states to the Enlarge_mc.
Frame 1 = Click To Enlarge
Frame 2 = Click To Play
Frame 3 = Click Links Below
Frame 4 = <display nothing>

Currently, I have an external .as file with the following code:



    public function load ( url : String, locNum : Number, inAutoPlay : Boolean, inHideControls : Boolean ) : Void {
        
        if ( inHideControls ) hideControls();
        
        //trace( 'load media: ' + url + ' into loc num : ' + locNum + 'from : ' + mc );
        
        for ( var i = 0; i < 50; i++ ) {
            loc[ 'image_' + i ].stopTween();
            loc[ 'image_' + i ].alphaTo( 0, .25, ani );
        }
        
        var loadCr : MovieClip = loc[ 'image_' + locNum ];
        var loadTo : MovieClip = ( loadCr != undefined ) ? loadCr : loc.createEmptyMovieClip( 'image_' + locNum, locNum );
        
        if ( url.indexOf( '.swf' ) > -1 ) {
        
            player._visible = true;
            player.loadFile( url, true )
            dispatchEvent( { type : 'toggleEnlargeButton', target : this, frame : 2, enabled : true } );
        
        } else if ( url.length == 0 ) {
            
            dispatchEvent( { type : 'toggleEnlargeButton', target : this, frame : 3, enabled : false } );
            
        } else if ( url.toLowerCase() == 'no_file' ) {
            
            dispatchEvent( { type : 'toggleEnlargeButton', target : this, frame : 4, enabled : false } );
            
        } else {
        
            dispatchEvent( { type : 'toggleEnlargeButton', target : this, frame : 1, enabled : true } );
            player._visible = false;
            if ( loadCr == undefined ) {
                mcl.loadClip( url, loadTo );
            } else {
                loadTo.alphaTo( 100, .25, ani, .25 );
            }
        }
    }

Is there any reason why this wouldn’t work? Because it still switches between frames 1 and 2, but refuses to go to frame 3 or 4.

Oh, one more thing.

The movie gets the file information from an xml file with the following code:


<images>
     <image file = "my_thumbnail_01.png" enlarged = "large_01.png" />
     <image file = "my_thumbnail_02.png" enlarged = "large_02.swf" />
<image file = "my_thumbnail_03.png" enlarged = "" />
</images>