var Q_change_wmode = {
    replace_embed: function(embd) {
        if(embd.getAttribute('name')!='ASP_sct0323_p') {
            var rplc;
            if(embd.outerHTML) {
                var html = embd.outerHTML;
                if(html.match(/wmode\s*=\s*('|")[a-zA-Z]+('|")/i))
                     rplc = html.replace(/wmode\s*=\s*('|")window('|")/i,"wmode='opaque'");
                else rplc = html.replace(/<embed\s/i,"<embed wmode='opaque' ");
                embd.insertAdjacentHTML('beforeBegin',rplc);
                embd.parentNode.removeChild(embd);
            } else {
                rplc = embd.cloneNode(true);
                if(!rplc.getAttribute('wmode') || rplc.getAttribute('wmode')=='Window')
                    rplc.setAttribute('wmode','opaque');
                embd.parentNode.replaceChild(rplc,embd);
            }
        }
    }
    ,replace_objct: function(objct) {
        if(objct.getAttribute('name')!='ASP_sct0323_p') {
            var rplc;
            if(objct.outerHTML) {
                var html = objct.outerHTML;
                if(html.match(/<param\s+name\s*=\s*('|")wmode('|")\s+value\s*=\s*('|")[a-zA-Z]+('|")\s*\/?\>/i))
                    rplc = html.replace(/<param\s+name\s*=\s*('|")wmode('|")\s+value\s*=\s*('|")window('|")\s*\/?\>/i,"<param name='wmode' value='opaque' />");
                else rplc = html.replace(/<\/object\>/i,"<param name='wmode' value='opaque' />\n</object>");
                var chldrn = objct.childNodes;
                for(n=0; n<chldrn.length; n++) {
                    if(chldrn[n].getAttribute('name').match(/flashvars/i)) {
                        rplc = html.replace(/<param\s+name\s*=\s*('|")flashvars('|")\s+value\s*=\s*('|")[^'"]*('|")\s*\/?\>/i,"<param name='flashvars' value='"+chldrn[n].getAttribute('value')+"' />");
                    }
                }
                objct.insertAdjacentHTML('beforeBegin',rplc);
                objct.parentNode.removeChild(objct);
            }
        }
    }
    ,add_event: function(objct,type,fnctn) {
        if (objct.addEventListener) {
            objct.addEventListener(type,fnctn,false); return true;
        } else if (objct.attachEvent) {
            var rtrn = objct.attachEvent('on'+type,fnctn); return rtrn;
        } else {
            objct.onclick = fnctn;
        }
    }
    ,start: function() {
        var embds = document.getElementsByTagName('embed');
        for(i=0; i<embds.length; i++)  {
            if(embds[i].getAttribute('Q_wmode_exception')!='true')
                Q_change_wmode.replace_embed(embds[i]);
        }
        var objcts = document.getElementsByTagName('object');
        for(i=0; i<objcts.length; i++) {
            if(objcts[i].getAttribute('Q_wmode_exception')!='true')
                Q_change_wmode.replace_objct(objcts[i]);
        }
    }
    ,attach: function() {
        Q_change_wmode.add_event(window,'load',Q_change_wmode.start);
    }
}
Q_change_wmode.attach();