Preloading XML

I created a xml carousel for flash which allows me to load in other swf movies and the likes when i click on each button in the carousel the buttons my movie is only 1 frame long because it is all code that controls everything i want to make a preloader for this incase that someone from a slower connection might be viewing they arent staring at blankscreen until the xml is fully loaded. I’m looking for something very basic like on www.jeremycowart.com. just saying loading xml and a status bar. here is my code for my movie any help would be very appreciated. If you’d like to see the fla file let me know and i’ll give it to you.


import mx.utils.Delegate;
import mx.transitions.Tween;
import mx.transitions.easing.*;

var numOfItems:Number;
var radiusX:Number = 320;
var radiusY:Number = 75;
var centerX:Number = Stage.width/2;
var centerY:Number = (Stage.height/2);
var speed:Number = 0.05;
var perspective:Number = 130;
var home:MovieClip = this;
myLoader._alpha = 0;


var tooltip:MovieClip = this.attachMovie ("tooltip","tooltip",10000)
tooltip._alpha = 0;

var xml:XML = new XML ();
xml.ignoreWhite = true;

xml.onLoad = function ()
{
	var nodes = this.firstChild.childNodes;
	numOfItems = nodes.length;
	trace(numOfItems);
	for (var i=0;i<numOfItems;i++)
   { 
      var t = home.attachMovie ("item", "item"+i, i+1);
      t.angle = i * ((Math.PI*2)/numOfItems);
      t.onEnterFrame = mover;
	t.toolText = nodes*.attributes.tooltip;
	t.movie = nodes*.attributes.movie;
	t.icon.inner.loadMovie (nodes *.attributes.image);
	t.ref.inner.loadMovie (nodes *.attributes.image);
	t.icon.onRollOver = over;
	t.icon.onRollOut = out;
	t.icon.onRelease = released;
	
   }
}

function over ()
{
	home.tooltip.tipText.text = this._parent.toolText;
	home.tooltip._x = this._parent._x;
	home.tooltip._y = this._parent._y - this._parent._height/2;
	home.tooltip.onEnterFrame  = Delegate.create (this,moveTip);
	home.tooltip._alpha = 100;
}

function out ()
{
	delete home.tooltip.onEnterFrame;
	home.tooltip._alpha = 0;
}

function released ()
{
	home.tooltip._alpha = 0;
	for (var i=0;i<numOfItems;i++)
	{
		
		var t:MovieClip = home["item"+i]
		t.xPos = t._x;
		t.yPos = t._y;
		t.theScale = t._xscale;
		
		delete t.icon.onRollOver;
	    delete t.icon.onRollOut;
	    delete t.icon.onRelease;
		delete t.onEnterFrame;
		
		if (t != this._parent)
	{
			var tw:Tween = new Tween (t,"_xscale",Strong.easeOut,t._xscale,0,1,true);
			var tw2:Tween = new Tween (t,"_yscale",Strong.easeOut,t._yscale,0,1,true);
			var tw3:Tween = new Tween (t,"_alpha",Strong.easeOut,100,0,1,true);
		}
		else
		{
			var tw:Tween = new Tween (t,"_xscale",Strong.easeOut,t._xscale,100,1,true);
			var tw2:Tween = new Tween (t,"_yscale",Strong.easeOut,t._yscale,100,1,true);
			var tw3:Tween = new Tween (t,"_x",Strong.easeOut,t._x,200,1,true);
			var tw4:Tween = new Tween (t,"_y",Strong.easeOut,t._y,320,1,true);
			var tw5:Tween = new Tween (myLoader,"_alpha",Strong.easeOut,0,100,1,true);

			myLoader.loadMovie(t.movie);
			
			
			var s:Object = this;
			tw.onMotionStopped = function()
			{
				s.onRelease = unReleased;
			}
			
		}
		
	}
}

function unReleased()
{
	delete this.onRelease;
	var tw:Tween = new Tween (theText,"_alpha",Strong.easeOut,100,0,0.5,true);
	var tw2:Tween = new Tween (scroller,"_alpha",Strong.easeOut,100,0,0.5,true);
	for (var i=0;i<numOfItems;i++)
	{
		var t:MovieClip = home["item"+i]
		
		
		
		myLoader.unloadMovie();
		
		
		
		if (t != this._parent)
		{
			var tw:Tween = new Tween (t,"_xscale",Strong.easeOut,0,t.theScale,1,true);
			var tw2:Tween = new Tween (t,"_yscale",Strong.easeOut,0,t.theScale,1,true);
			var tw3:Tween = new Tween (t,"_alpha",Strong.easeOut,0,100,1,true);
		}
		else
		{
			var tw:Tween = new Tween (t,"_xscale",Strong.easeOut,100,t.theScale,1,true);
			var tw2:Tween = new Tween (t,"_yscale",Strong.easeOut,100,t.theScale,1,true);
			var tw3:Tween = new Tween (t,"_x",Strong.easeOut,t._x,t.xPos,1,true);
			var tw4:Tween = new Tween (t,"_y",Strong.easeOut,t._y,t.yPos,1,true);
			tw.onMotionStopped = function()
			{
				for (var i=0;i<numOfItems;i++)
	                  {
					var t:MovieClip = home["item"+i]
					t.icon.onRollOver = Delegate.create (t.icon,over);
	                  	t.icon.onRollOut= Delegate.create (t.icon,out);
	                  	t.icon.onRelease= Delegate.create (t.icon,released);
		            	t.onEnterFrame = mover;
						
						
			}
			
		}
		
	}
}
}
			 

function moveTip ()
{
	home.tooltip._x = this._parent._x;
	home.tooltip._y = this._parent._y - this._parent._height/2;
}



xml.load ("icons.xml");

for (var i=0;i<numOfItems;i++)
{ 
    var t = this.attachMovie ("item", "item"+i, i+1);
    t.angle = i * ((Math.PI*2)/numOfItems);
    t.onEnterFrame = mover;
}

function mover ()
{
	this._x = Math.cos (this.angle) * radiusX + centerX;
	this._y = Math.sin (this.angle) * radiusY + centerY;
	var s:Number = (this._y-perspective) / (centerY+radiusY-perspective);
	this._xscale = this._yscale = s * 100;
	this.angle += this._parent.speed;
	this.swapDepths (Math.round (this._xscale) + 100);
}

this.onMouseMove = function()
{
	speed = (this._xmouse-centerX)/2500;	
}