Last fm api search issue (no knowledge of last fm api needed..)

hello there,

I’m working on a simple implimentation of the last fm api for a school assignment, I have a problem using a search function to search users within the last fm platform.
You can search for a user just fine, but when you want to search for another one, nothing happends. I sort of need to reset the whole search function when a new search is being done.

Here is an example of the current website (try not to mention the bugs :P)
http://stap.iam.hva.nl/~wullem01/eindopdracht/lastfmgame.html

try using the search [omgnoseat] for my account. Now try another search and youll understand my problem.
There also is a problem when the user your searching for doesnt exists, I don’t know how I should cancel the search when no user is found.


import flash.external.ExternalInterface;
 
var pageURL:String = ExternalInterface.call('window.location.href.toString');


//LAST FM
//maak een nieuwe user aan
var user:User = new User();

//maak een array aan waarin de albums worden opgeslagen
var albumArray:Array = new Array(); //array waarin de album plaatjes worden opgeslagen
var titles:Array = new Array();

var loaderWidth:Number;

var spacing:Number = 200; //spacing for the gallery
//booleans
var firstSearch:Boolean = true;
//om te kijken of de muis over een album is
var mouseOverAlbum:Boolean = false;
//kijken of het info paneel actief is
var panelActive:Boolean = false;

//last fm infos
var albums:XMLList;
var maxAlbums:Number = 20;
var ID:Number;

var infopanel:infoPanel = new infoPanel;


//laat de huidige pagina zien

sendButton.addEventListener(MouseEvent.CLICK, clickSend);


/////////////////////////////////////LAST FM////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
        
        function clickSend(e:MouseEvent):void{
            //bij het klikken op de send button, zoek naar de gebruiker die in het textveld is ingevuld
            user.getTopAlbums(searchUser.text);
            
            pageInfo.text = "Top Albums " + searchUser.text;
            
            //wanneer er op de knop gedrukt is moeten de albums geladen worden
            user.addEventListener(User.GET_TOP_ALBUMS, getTopAlbumsHandler);
            
            
        }
        
        
        function getTopAlbumsHandler(event:Event):void{
            
            //(user.xml);
            ////alleen als de user bestaat een reactie geven
            if(! user){
                searchUser.text = "De gebruiker bestaat niet!";
            }else{

            //verwijder de balken op de achtergrond als ze bestaan
            //if(stage.contains(balkHolder)){
                //removeChild(balkHolder);
            //}
            
            albums = user.xml.topalbums.album;
            
            //trace(albums.image.(@size=="medium").children());
            //trace(albums.image);
            
            for(var i:Number = 0; i<maxAlbums; i++){
                //zoek de albums tot 10 is bereikt, creeer voor elke i een nieuwe loader voor de album art
                
                
                //maak een nieuwe loader aan en laad de album plaatjes,
                var albumHolder:MovieClip = new MovieClip;
                albumHolder.ID = i;
                albumHolder.buttonMode = true;
                
                var albumLoader:Loader = new Loader;
                var artRequest:URLRequest = new URLRequest(albums*.image[1]);
                //var artRequest:URLRequest = new URLRequest(albums*.image.(@size=="small").children());
                albumLoader.load(artRequest);
                
                
                //----------------- L O C A T I O N  &  S I Z E  --------------------------------------
                //plaats de albums op een willekeurige plek op de stage
                albumHolder.x = i*spacing;
                albumHolder.y = stage.stageHeight/2;
                loaderWidth = albumHolder.width;//width of the loader, needed for boundaries
                
                //------------- A P E A R E N C E --------------------------------
                
                var albumShadow = new DropShadowFilter(1, 90, 0x000000, 0.5, 4, 4);
                albumHolder.filters = [albumShadow];
                
                
                //tekst onder de iconen
                var albumText:TextField = new TextField;
                //toon de ranking, artiest en het album
                albumText.htmlText = "rank: " + albums*.@rank + "
" + albums*.name + "
" + albums*.artist.name ;
                albumText.selectable = false;
                albumText.wordWrap = true;
                //albumText.width = albumLoader.width*1.5;
        
                var txtFormat:TextFormat = new TextFormat();
                txtFormat.align = "center";
                txtFormat.font = "Arial"
                txtFormat.size = 12;
                albumText.setTextFormat(txtFormat);
                
                
                //----------------------------------------------------------------
                
                //zet de albums in een array
                albumArray.push(albumHolder);
                addChild(albumHolder);
                albumHolder.addChild(albumLoader);
                
                //maak de iconen goede hoogte
                Tweener.addTween(albumHolder, { time: 1, width: 75, height:75,  transition:"easeOutElastic"});
                
                albumLoader.mouseEnabled = false;
                albumLoader.mouseChildren = false;
                
                //zet de titles in een array
                titles.push(albumText);
                addChild(albumText);
                
                //set de albums achter het menu
                setChildIndex(albumHolder,numChildren - 2);
                
                //maak elk item in de loop clickbaar
                
                addEventListener(Event.ENTER_FRAME, hitAlbum);
                //albumHolder.addEventListener(MouseEvent.CLICK, clickAlbum);
                
                //einde van checken op eerste search
                }
            }//end of loop
        }//end of function
        
        addEventListener(Event.ENTER_FRAME, moveAlbums);
        addEventListener(MouseEvent.MOUSE_OVER, overAlbum);
        addEventListener(MouseEvent.MOUSE_OUT, outAlbum);

        }
            
            
            
            function resize():void{
                for(var i:Number = 0; i<maxAlbums; i++){
                    Tweener.addTween(albumArray*, {width:80, height:80, time: 2, transition:"easOutElastic"});
                    
                }
            }
            
            function overAlbum(e:MouseEvent):void{
                mouseOverAlbum = true;
                //for(var i:Number = 0; i<maxAlbums; i++){
                    //Tweener.addTween(e.target, {width:100, height:100, time: 2, transition:"easOutElastic"});
                //}
            }
            
            function outAlbum(e:MouseEvent):void{
                mouseOverAlbum = false;
                //for(var i:Number = 0; i<maxAlbums; i++){
                    //Tweener.addTween(e.target, {width:80, height:80, time: 2, transition:"easOutElastic"});
                //}
            }
            
            //function moveAlbums(e:MouseEvent):void{
                //kijken of het paneel al actief is
                //if(panelActive == true){
                    //infopanel.alpha = 0;
                    
                //}else{
                
                    //toon het info paneel en de informatie op basis van het movieclip ID;
                    
                    /*infopanel.x = (stage.stageWidth * 0.5) //- infopanel.width/2;
                    infopanel.y = (stage.stageHeight * 0.5) + infopanel.height/2;
                    infopanel.scaleX = 0.8;
                    infopanel.scaleY = 0.8;
                    var panelShadow = new DropShadowFilter(1, 90, 0x000000, 0.5, 4, 4);
                    infopanel.filters = [panelShadow];
                    infopanel.alpha = 0;
                    
                    //toon de text van het gekozen plaatje
                    infopanel.artistInfo.htmlText = "<b>Artiest: </b>" + albums[e.target.ID].artist.name;
                    infopanel.albumInfo.htmlText = "<b>Album: </b>" + albums[e.target.ID].name;
                    infopanel.rankInfo.htmlText = "<b>Rank: </b>" + albums[e.target.ID].@rank;
                    infopanel.playcountInfo.htmlText = "<b>Playcount: </b>" + albums[e.target.ID].playcount;
                    infopanel.albumArt.source = albums[e.target.ID].image[1];
                    
                    addChild(infopanel);
                    
                    //tween the panel
                    Tweener.addTween(infopanel, { time: 1.5,alpha:1, scaleX:1, scaleY:1,  transition:"easeOutElastic"});
                     
                    //panelActive = true;
                    removeEventListener(MouseEvent.CLICK, clickAlbum);
                    infopanel.exitButton.addEventListener(MouseEvent.CLICK, clickExit);
                    //de iconen moeten niet meer scrollen;
                    //removeEventListener(Event.ENTER_FRAME, perspectiveMouse);*/
                    
                            
                //}//end of else
            
            //}
                    
                function clickExit(e:MouseEvent):void{
                        
                        Tweener.addTween(infopanel, { time: 1,alpha:0, scaleX: 0.8, scaleY: 0.8,  transition:"easeInElastic", onComplete:inActive});
                }
                    
                function inActive():void{
                        
                        removeChild(infopanel);
                        panelActive = false;
                        infopanel.exitButton.removeEventListener(MouseEvent.CLICK, clickExit);
                        
                        //addEventListener(MouseEvent.CLICK, clickAlbum);
                }
            
            
            
            
            
            
            
            
            function moveAlbums(e:Event):void{
                
                var maxRight:Number = (loaderWidth+spacing)*maxAlbums; 
                //de maximale rechtse locatie is de breedte van het icoon+de spacing keer het aantal plaatjes, wanneer een icoon op die locatie komt, zal het aan de andere kant van het scherm komen
                var maxLeft:Number = (loaderWidth+spacing)*-maxAlbums;
                
                
                //een loop omdat elk album icoon individueel aangesproken moet worden door de array
                for (var i:Number = 0; i<maxAlbums; i++){
                    
                    
                    //---------------------T I T L E S -------------------------
                    
                    titles*.x = albumArray*.x - albumArray*.width/3;
                    titles*.y = albumArray*.y - albumArray*.height*1;
                    //Z AXIS
                    //titles*.z = albumArray*.z;// + albumArray*.height;
                
                    //100/2 = 50, maar 100/5 = 20, dus hoe kleiner de width, hoe hoger de snelheid
                    
                    
                    // ---------------------BOUNDARIES & SPEED ------------------------
                    
                    //albumArray*.x += mouseDistance/speed;
                    var characterDistance:Number = character.x - (stage.stageWidth/2);
                    albumArray*.x -= characterDistance/speed;
                    
                    
                    if((albumArray*.x + albumArray*.width) < maxLeft ){
                        albumArray*.x = stage.stageWidth + albumArray*.width;}
                        
                    if((albumArray*.x - albumArray*.width) > maxRight ){
                        albumArray*.x = 0 - albumArray*.width}
                
                
                }//end of loop
                    
            }//end of function
            
            
                
                function hitAlbum(e:Event):void{
                
                for (var i:Number = 0; i<maxAlbums; i++){
                    
                if(character.hitTestObject(albumArray*) && falling){
                    
                    //only if the panel isnt already active
                    //hittest returned true, trace dus het id waar albumarray true is
                    //trace(albumArray*.ID);
                    
                    //play the sound if isn't already playing
                    if(soundPlaying == false){
                    sfxSoundChannel = blockSound.play(0, 0);
                    soundPlaying = true;
                    }
                    
                    //block the character from going trough
                    dy = +5;
                    
                    if(panelActive == false){
                    //show info panel
                    panelActive = true;
                    
                    infopanel.x = (stage.stageWidth * 0.5) //- infopanel.width/2;
                    infopanel.y = 0 + infopanel.height*0.75;
                    infopanel.scaleX = 0.8;
                    infopanel.scaleY = 0.8;
                    var panelShadow = new DropShadowFilter(1, 90, 0x000000, 0.5, 4, 4);
                    infopanel.filters = [panelShadow];
                    infopanel.alpha = 0;
                    
                    //toon de text van het gekozen plaatje
                    infopanel.artistInfo.htmlText = "<b>Artiest: </b>" + albums[albumArray*.ID].artist.name;
                    infopanel.albumInfo.htmlText = "<b>Album: </b>" + albums[albumArray*.ID].name;
                    infopanel.rankInfo.htmlText = "<b>Rank: </b>" + albums[albumArray*.ID].@rank;
                    infopanel.playcountInfo.htmlText = "<b>Playcount: </b>" + albums[albumArray*.ID].playcount;
                    infopanel.albumArt.source = albums[albumArray*.ID].image[1];
                    
                    addChild(infopanel);
                    
                    //tween the panel
                    Tweener.addTween(infopanel, { time: 1.5,alpha:1, scaleX:1, scaleY:1,  transition:"easeOutElastic"});
                     
                    //panelActive = true;
                    //removeEventListener(MouseEvent.CLICK, clickAlbum);
                    infopanel.exitButton.addEventListener(MouseEvent.CLICK, clickExit);
                    
                    }else{//if the panel is already active
                    //toon de text van het gekozen plaatje
                    infopanel.artistInfo.htmlText = "<b>Artiest: </b>" + albums[albumArray*.ID].artist.name;
                    infopanel.albumInfo.htmlText = "<b>Album: </b>" + albums[albumArray*.ID].name;
                    infopanel.rankInfo.htmlText = "<b>Rank: </b>" + albums[albumArray*.ID].@rank;
                    infopanel.playcountInfo.htmlText = "<b>Playcount: </b>" + albums[albumArray*.ID].playcount;
                    infopanel.albumArt.source = albums[albumArray*.ID].image[1];
                    
                    }
                        //end of info panel check
                }//end of if
                
            }//end of loop
        }
/*
function clickSendAgain(e:MouseEvent):void{
    var refreshPage:URLRequest = new URLRequest(pageURL);
    navigateToURL(refreshPage, "_blank");
        
    removeEventListener(Event.ENTER_FRAME, moveAlbums);
    removeEventListener(MouseEvent.MOUSE_OVER, overAlbum);
    removeEventListener(MouseEvent.MOUSE_OUT, outAlbum);
    removeEventListener(Event.ENTER_FRAME, hitAlbum);
    sendButton.removeEventListener(MouseEvent.CLICK, clickSendAgain);
    
    for(var i:Number = 0; i<maxAlbums; i++){
        removeChild(albumArray*);
        removeChild(titles*);
        
    }

    albumArray = [];
    sendButton.addEventListener(MouseEvent.CLICK, clickSend);
}


any help would greatly be appreciated, I need to finish this in 2 days haha.
Thanks in advance