IE external interface bug

I’ve seen this bug described in a number of places online but so far no answers, so let me throw it out there again. I’m working on a page with a number of buttons whose color and text are set by an external interface function called setBtn(color,txt) which triggers an AS function jsinit(color,txt) via an addcallback. On page load a function is called which skins the buttons based on values passed into javascript from php (nonthing fancy). Now, all of this works fine in Firefox and PC safari but once you throw it into IE the javascript call myMovieRef.setBtn(mycolor,mytxt) fails, throwing the error “object doesn’t support this property or method”. No such error in other browsers. It’s also worth noting that I have a call function in my AS that calls the javascript function flashsubmit, and this works just fine in all browsers, so I’m only having problems with addcallback. I’m working with IE6, my swfs are not in a form and they are hard coded into the page, which eliminates the two most common problems I’ve found relating to external interface. I tried delaying the javascript function to give the swfs time to load as has been suggested in other posts. No love. I have the object and embed tags labeled properly with id and name respectively and there are only alpha characters used, which is another common bug out there. I’m close to seppuku on this one, PLEASE HELP! Here’s come code for ya. If you solve it and you live in Atlanta I’ll buy you a beer. Otherwise I guess I could mail you one, but that would just be messy…

Javascript/Html snippet:

<script type=“text/javascript”>
var headerSwf;
var btnSwf1;
var btnSwf2;
var btnSwf3;
var btnSwf4;
var btnSwf5;
var signUpSwf;
var arrowSwf;
var leftWall;
var rightWall;
var ULcorner;
var URcorner;
var LLcorner;
var LRcorner;
var topWall;
var bottomWall;

function getObjRefs(){
if(navigator.appName.indexOf(“Microsoft”) != -1){
headerSwf = document.getElementById(“headerSwf”);
btnSwf1 = document.getElementById(“btnSwf1”);
btnSwf2 = document.getElementById(“btnSwf2”);
btnSwf3 = document.getElementById(“btnSwf3”);
btnSwf4 = document.getElementById(“btnSwf4”);
btnSwf5 = document.getElementById(“btnSwf5”);
signUpSwf = document.getElementById(“signUpSwf”);
arrowSwf = document.getElementById(“arrowSwf”);

 }else{
      headerSwf = document.headerSwf;
      btnSwf1 = document.btnSwf1;
      btnSwf2 = document.btnSwf2;
      btnSwf3 = document.btnSwf3;
      btnSwf4 = document.btnSwf4;
      btnSwf5 = document.btnSwf5;
      signUpSwf = document.signUpSwf;
      arrowSwf = document.arrowSwf;
}

}

function setSwfColor(){
var color = “<?php echo $skinColor; ?>”;
var headerTxt = “<?php echo $headerTxt; ?>”;
headerSwf.setBtn(color,headerTxt);
btnSwf1.setBtn(color,“Home”,false,“index.php?page=home”);
btnSwf2.setBtn(color,“Learn More”,false,“index.php?page=learn”);
btnSwf3.setBtn(color,“Why Turn Key?”,false,“index.php?page=why”);
btnSwf4.setBtn(color,“Who Is <?php echo $firstName; ?>?”,false,“index.php?page=about”);
btnSwf5.setBtn(color,“myBiz News”,true,“index.php?page=news”);
signUpSwf.setBtn(color);
arrowSwf.setBtn(color,“Take The Tour”,"<?php echo $mibLink;?>");

}

function setHtmlColor(){
var color = “<?php echo $skinColor; ?>”;
document.body.style.backgroundColor="#<?php echo $skinBgColor; ?>";
document.getElementById(“leftWall”).style.backgroundImage=“url(<?php echo $baseHref; ?>images/”+color+“Left.gif)”;
document.getElementById(“rightWall”).style.backgroundImage=“url(<?php echo $baseHref; ?>images/”+color+“Right.gif)”;
document.getElementById(“ULcorner”).src="<?php echo $baseHref; ?>images/"+color+“ULcorner.gif”;
document.getElementById(“URcorner”).src="<?php echo $baseHref; ?>images/"+color+“URcorner.gif”;
document.getElementById(“LLcorner”).src="<?php echo $baseHref; ?>images/"+color+“LLcorner.gif”;
document.getElementById(“LRcorner”).src="<?php echo $baseHref; ?>images/"+color+“LRcorner.gif”;
document.getElementById(“topWall”).src="<?php echo $baseHref; ?>images/"+color+“Top.gif”;
document.getElementById(“bottomWall”).src="<?php echo $baseHref; ?>images/"+color+“Bottom.gif”;

}

function skinPage(){
setHtmlColor();
getObjRefs();
setSwfColor();
}

function flashSubmit(email){
document.getElementById(“weberName”).value = “Test User”;
document.getElementById(“weberEmail”).value = email;
document.getElementById(“aWeberForm”).submit();

}
</script>
</head>
<body onload=‘skinPage();’>
<div id=“root”>
<div class=“header” id=“headerDiv”>
<OBJECT classid=“clsid:D27CDB6E-AE6D-11cf-96B8-444553540000” codebase=“http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0” WIDTH=“764” HEIGHT=“146” id=“headerSwf”><PARAM NAME=movie VALUE="<?php echo $baseHref; ?>flash/dynoHeader.swf"><param name=’allowScriptAccess’ value=’always’/><PARAM NAME=quality VALUE=high><PARAM NAME=bgcolor VALUE=#FFFFFF><EMBED src="<?php echo $baseHref; ?>flash/dynoHeader.swf" quality=high bgcolor=#FFFFFF WIDTH=“764” HEIGHT=“146” NAME=“headerSwf” ALIGN="" TYPE=“application/x-shockwave-flash”
PLUGINSPAGE=“http://www.macromedia.com/go/getflashplayer”></EMBED></OBJECT>
</div>

Actionscript:

function jsInit(color,txt){
setColor(color);
setText(txt);
}

ExternalInterface.addCallback(“setBtn”,this,jsInit);