senza entrare nei dettagli del tuo codice, io faccio una cosa del genere
seguendo la regola che IE vuole l' embed, tutti gli altri l' object
codice:
var path='percorso/file.swf';
if(!document.all || window.opera){
var obj=createElement('object')
obj.setAttribute('data',path);
var par1=createElement('param');
par1.setAttribute('name','movie');
par1.setAttribute('value',path);
obj.appendChild(par1);
} else {
var obj=createElement('embed');
obj.setAttribute('src',path);
}
// comuni ad entrambi
obj.setAttribute('type','application/x-shockwave-flash')
obj.setAttribute('width','640');
obj.setAttribute('height','480');
// appendo dove serve
riferimentoContenitore.appendChild(obj);
ciao