Positioning loader, XML, swfs, gallery

Hi,

This is driving me crazy. When I preview in Flash, everything looks fine. When I preview in HTML. Not so much. I’ve created a gallery using xml and have the code centering (and otherwise positioning) each new loaded item by referencing each ones information.

It seems to have trouble doing this with the first swf and positioning it at 0,0 after I click through the forward/back buttons that swf moves to a different location on the stage. My guess is that the loader height and width get calculated as 0,0 before the image gets loaded, and then screws everything up from there.

Any help would be immensely appreciated!!!
Please!

import fl.transitions.;
import fl.transitions.Tween;
import fl.transitions.easing.
;
import flash.display.LoaderInfo;

var dataURL:URLRequest = new URLRequest(“portfolio_content.xml”);
var dataLoader:URLLoader = new URLLoader(dataURL);
//var portDate:TextField = new TextField();
dataLoader.addEventListener(Event.COMPLETE, dataReady);
//addChild(portDate);

var photoLoader:Loader = new Loader();
photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);

addChild(photoLoader);

var dropShadow:DropShadowFilter = new DropShadowFilter();
dropShadow.color = 0x000000;
dropShadow.blurX = 10;
dropShadow.blurY = 20;
dropShadow.angle = 45;
dropShadow.alpha = 1;
dropShadow.distance = 10;

photoLoader.filters = [dropShadow];

var loaderHeight:Number;
var loaderWidth:Number;
var portXML:XML = new XML();
var stageHeight:Number;
var stageWidth:Number;
//var portLength:Number = portXML.piece.length();
stageHeight = stage.stageHeight;
stageWidth = stage.stageWidth;

var index:int = 0;

trace("Stage Height = "+stageHeight);
trace("Stage Width = "+stageWidth);

rightArrow_btn.addEventListener(MouseEvent.CLICK, goNext);
leftArrow_btn.addEventListener(MouseEvent.CLICK, goPrev);
rightArrow_btn.addEventListener(MouseEvent.MOUSE_OVER, rollOn);
leftArrow_btn.addEventListener(MouseEvent.MOUSE_OVER, rollOn);
rightArrow_btn.addEventListener(MouseEvent.MOUSE_OUT, rollOff);
leftArrow_btn.addEventListener(MouseEvent.MOUSE_OUT, rollOff);

function rollOn(evt:Event):void {
var fadeIn:Tween = new Tween(evt.target, “alpha”, Strong.easeOut, .5, 1, 1, true);
}
function rollOff(evt:Event):void {
var fadeOut:Tween = new Tween(evt.target, “alpha”, Strong.easeOut, 1, .5, 1, true);
}
function dataReady(evt:Event):void {
portXML = XML(dataLoader.data);
//trace(portXML.piece[index].photo);
//portDate.text = portXML.piece[index].date;
//porDesc.text = portXML.piece[index].desc;
var photoURL:URLRequest = new URLRequest(“Portfolio_content/”+portXML.piece[0].photo);
photoLoader.load(photoURL);
// trace(dataLoader.data);
////photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);
}
function imgLoaded(event:Event):void {
loaderHeight = (photoLoader.content.height);
loaderWidth = (photoLoader.content.width);
trace("Loader Height = "+loaderHeight);
trace("Loader Width = "+loaderWidth);
trace("Current Item = "+(index+1));
trace("Total Number of Items = “+portXML.piece.length());
countTXT.text = (index + 1)+” / "+portXML.piece.length();

if (loaderHeight<400) {
	photoLoader.y = 200;
} else {
	photoLoader.y = ( stageHeight - loaderHeight - 140 );
}
photoLoader.x = ( stageWidth / 2 ) - ( loaderWidth / 2 );

}
function goNext(evt:Event):void {
index++;
if (index == portXML.piece.length()) {
//BIG NOTE LENGTH for ARRAY .lench is a Method so you have to add two parenthesis!!!)
index =0;
}
//portDate.text = portXML.piece[index].date;
//porDesc.text = portXML.piece[index].desc;
var photoURL:URLRequest = new URLRequest(“Portfolio_content/”+portXML.piece[index].photo);
photoLoader.load(photoURL);
}
function goPrev(evt:Event):void {
index–;
if (index <0) {
index =portXML.piece.length()-1;
}//!!!for xml objects the length is a method and not a property becuase it will mess up if there is a piece of data within the xml file
//this loads the specific photo from the XML document
//portDate.text = portXML.piece[index].date;
//porDesc.text = portXML.piece[index].desc;
var photoURL:URLRequest = new URLRequest(“Portfolio_content/”+portXML.piece[index].photo);
photoLoader.load(photoURL);
}