// for use with "swfobject.createSWF" -- swfobject will do this automatically during a "swfobject.embedSwf" function getFlashVars(flashvarsObj) { if(typeof flashvarsObj != "object") return false; var flashVars = ""; for(var i in flashvarsObj) { if(flashvarsObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries if(flashVars != "") { flashVars += "&" + i + "=" + flashvarsObj[i]; } else { flashVars = i + "=" + flashvarsObj[i]; } } } //doLog("getFlashVars1: "+flashVars); return flashVars; } function doAttachDiv(targetId, newId) { if(targetId == null || newId == null) return; var targetDiv = document.getElementById(targetId); if(targetDiv == null) return; var newDiv = document.createElement('div'); if(newDiv == null) return; newDiv.id = newId; // remove all child nodes. innerHtml == bad for IE6 /* IE 6 error? while (targetDiv.childNodes[0]) { targetDiv.removeChild(targetDiv.childNodes[0]); } */ doRemoveChildNodes(targetDiv); targetDiv.appendChild(newDiv); } function doRemoveChildNodes(obj) { while(obj.hasChildNodes()) { obj.removeChild(obj.firstChild); //obj.removeChild(obj.childNodes[0]); } } function initPageRedraw() { return; if(typeof(swfobject) == 'undefined') return; swfobject.addDomLoadEvent(doPageRedraw); } function doPageRedraw(objId) { return; objId = objId && (typeof objId == "string") ? objId : "SwfObjectPageRefresher"; var oldDiv = document.getElementById(objId); if(oldDiv != null) { oldDiv.style.visibility = "visible"; oldDiv.style.display = "none"; oldDiv.style.display = "block"; doLog("!doPageRedraw: reset: "+objId+" | "+oldDiv.style.visibility+" | "+oldDiv.style.display); return; } doLog("!doPageRedraw: create"); var newDiv = document.createElement("div"); newDiv.id = "SwfObjectPageRefresher"; document.getElementsByTagName("body")[0].appendChild(newDiv); } function doLog() { if(window == null || (typeof window.console == "undefined")) return false; if(typeof window.console.debug != "undefined") { window.console.debug.apply(window.console, arguments); } else if(typeof window.console.log != "undefined") { window.console.log.apply(window.console, arguments); } } function doSwfObjectEmbed(swfObj) { if(!swfObj) return; if(!swfObj.validVersion && !swfObj.express) { doLog("doSwfObjectEmbed: incompatible client version: requires: "+swfObj.version); if(swfObj.redirectUrl) { window.location.href = swfObj.redirectUrl; } // else alt content } else if(swfObj.delayEmbed) { doLog("doSwfObjectEmbed: SwfObject output interrupted - geoLock or haltWrite enabled: "+swfObj.id); } else { doAttachDiv(swfObj.div, swfObj.id); swfobject.embedSWF(swfObj.flashSrc, swfObj.id, swfObj.width, swfObj.height, swfObj.version, swfObj.expressUrl, swfObj.flashvars, swfObj.params, swfObj.attributes); doLog("doSwfObjectEmbed: embed swf: "+swfObj.id); } } function doSwfObjectEmbedDelayed(swfObj) { if(!swfObj || !swfObj.delayEmbed) { doLog("doSwfObjectEmbedDelayed: launchSwf: display alt content"); return; } if(!swfObj.validVersion && swfObj.express) { swfObj.flashvars = { MMredirectURL:window.location, MMdoctitle:document.title }; swfObj.attributes.data = swfObj.expressUrl; } else { swfObj.attributes.data = swfObj.validVersion ? swfObj.flashSrc : swfObj.expressUrl; } swfObj.attributes.height = swfObj.height; swfObj.attributes.width = swfObj.width; swfObj.params.flashvars = getFlashVars(swfObj.flashvars); //swfObj.flashvars = false; if(swfObj.validVersion || swfObj.express) { doAttachDiv(swfObj.div, swfObj.id); swfobject.createSWF(swfObj.attributes, swfObj.params, swfObj.id); doPageRedraw(swfObj.id); doLog("doSwfObjectEmbedDelayed: create swf: "+swfObj.id+" | "+swfObj.attributes.data); } else { doLog("doSwfObjectEmbedDelayed: alt content: "+swfObj.id+" | "+swfObj.attributes.data); } // else alt content }