setTimeout( fct, [200]);
To:
setTimeout( fct, 200);
(Just remove the brackets around the timeout value. I only use them to define a variable placeholder, but it can cause some confusion.)
Understanding why this may fix some things:
When the browser loads up the DOM, not all objects refresh themselves with the browser before other function begin manipulating them. Much of the time, this is fine, but when you are changing sizes, positions, and loading other iframes, there is a lot going on and the developer has to determine where load process needs a little pause to freshen the DOM.
A number of PowerPac functions include a [notifyObject] parameter to automatically allow the DOM to freshen then immediately let another object know of this so additional processing can occur in an expected way. Functions like pgExtFiles() and XMLHttpRequest() and setWebFonts() are examples of functions that do this. If you start to use XML-based scripts, you can define <config# delay="[milliseconds]"> . . . </config#> which provide lots of flexibility. The idea is to make sure that not just on your development machine, but on slower machines accessing your content on the web, the results to the user will be exactly the same.
I would recommend studying the XML section of this forum to become familiar with how to use XML scripts. I recently took a ToolBook web application with thousands of actions (an which had become somewhat unstable at author level) and stripped it down to about a dozen XML files and only a few lines of action script to load the XML's. The application exports in less then 2 minutes whereas it used to taken 20-30 minutes. Plus you can play with the XML's in the export without having to re-export the application. Once you get used to it, this is a development dream!