Load then Grow Frame Function Error!

The following scripts are for a Load then Grow Frame Function I am using in Flash MX for jpg images (for a photography site). However I noticed that it doesn’t work well in Netscape (pc and mac) and Ie (mac). It only works well on IE (pc).
The problem is with the photo frames. They reset to the corner of the site with no picture when a thumbnail is clicked.

This is my site where I am having the problem:

http://www.iofnewt.com

I am using a PC, Windows 98, IE 5 and 6, the script works fine. Some versions of Netscape and all Macs seem to dislike this code. Any help?

[AS]

These are the scripts the movie uses.
The onload fix:

//FlashGuru’s onLoad workaround, from
// <a href=“http://www.actionscript.org/forums/showthread
//.php3?s=&threadid=13830” target="_blank"><a href=“http://www.actionscript.org/forums/…;threadid=13830” target="_blank">http://www.actionscript.org/forums/…;threadid=13830</a></a>
Movieclip.prototype.oldLoadMovie = Movieclip.prototype.loadMovie;
Movieclip.prototype.loadMovie = function(url, vars) {
if (this.onData != undefined && this.onData != null) {
this._parent.createEmptyMovieClip("__fixEvents", 7777);
this._parent.__fixEvents.theTarget = this;
this._parent.__fixEvents.onData = this.onData;
if (this.onLoad != undefined && this.onLoad != null) {
this._parent.__fixEvents.onLoad = this.onLoad;
}
this._parent.__fixEvents.onEnterFrame = function() {
this.oldv = this.v;
this.v = this.theTarget.getBytesLoaded();
if (this.v != this.oldv) {
this.onData.call(this.theTarget);
}
if (this.v == this.theTarget.getBytesTotal()) {
this.theTarget.onData = this.onData;
if (this.onLoad != undefined) {
this.theTarget.onLoad = this.onLoad;
}
this.onLoad.call(this.theTarget);
this.removeMovieClip();
}
};
}
this.oldLoadMovie(url, vars);
};

The grow to code:

// MovieClip growTo Proto v1 by Jesse Stratford
// [email protected]
// You may use this script as you wish provded these comments remain
// Arguments:
// w - target width
// h - target height
// growRate - higher = slower
// callback - funtion to call when growing is complete
MovieClip.prototype.growTo = function(w, h, growRate, callback) {
// If the grow rate is undefined or invalid, set it
if ((growRate == undefined) or (growRate<=0)) {
growRate = 10;
}
// Only grow if currently not growing
if (!this.growing) {
this.growing = true;
// Call doGrowTo at regular intervals (change the ‘60’ below if you wish)
this.growInterval = setInterval(this, “doGrowTo”, 60, w, h, growRate, callback);
} else {
// already growing, don’t start again.
// might want to indicate some sort of error here
}
};
MovieClip.prototype.doGrowTo = function(w, h, growRate, callback) {
// Get the current width and heigh of the clip
wDiff = w-this._width;
hDiff = h-this._height;
// Inertia resize workaround. If we’re within 2 pixels, snap to size.
if (Math.abs(wDiff)<2 && Math.abs(hDiff)<2) {
this._width = w;
this._height = h;
// Stop the grow interval (save CPU)
clearInterval(this.growInterval);
// Reset growing variable
this.growing = false;
// Call function if one was passed
if (callback) {
callback();
}
} else {
// Keep growing if we haven’t reached our target size.
this._width += wDiff/growRate;
this._height += hDiff/growRate;
}
};


And the actions:

// Actions for buttons
btn1_btn.onRelease = function() {
loadThenGrow(“image1.jpg”);
};
btn2_btn.onRelease = function() {
loadThenGrow(“image2.jpg”);
};
// LoadTheGrow function takes a target image name.
// Targets are hard-coded for the moment because I’m lazy
function loadThenGrow(img) {
bg_square_mc._parent.holder_mc.removeMovieClip();
bg_square_mc._parent.createEmptyMovieClip(“holder_mc”, 1);
bg_square_mc._parent.holder_mc._visible = false;
bg_square_mc._parent.holder_mc.onData = function() {
if (this.getBytesLoaded() == this.getBytesTotal()) {
this._visible = false;
// Image fully loaded, grab dimensions and resize
// background clip
w = this._width;
h = this._height;
bg_square_mc.growTo(w+10, h+10, 10, _root.showHolder);
}
};
bg_square_mc._parent.holder_mc.loadMovie(img);
}
function showHolder() {
w = bg_square_mc._parent.holder_mc._width;
h = bg_square_mc._parent.holder_mc._height;
bg_square_mc._parent.holder_mc._x = bg_square_mc._x-w/2;
bg_square_mc._parent.holder_mc._y = bg_square_mc._y-h/2;
bg_square_mc._parent.holder_mc._visible = true;
}

[/AS]

I tried to get an answer to this from Actionscript.org where the code originated by Jesse Stratford. No one seems to have a response.
Thanks in advance.