if (window.opera){//detect affected browsers
  // The W3C way
  var helperStyleElement = document.createElement('style');
  helperStyleElement.setAttribute('type', 'text/css');
  helperStyleElement.setAttribute('id', 'helperelement');
  var helperStyleText = document.createTextNode('object{display:none;}');
  helperStyleElement.appendChild(helperStyleText);
  document.getElementsByTagName('head')[0].appendChild(helperStyleElement);

  function rewriteObjects(){
    var aObj=document.getElementsByTagName('object');
    for (var i=0; i<aObj.length; i++){
      var tempNode=aObj[i].cloneNode(true);
      aObj[0].parentNode.replaceChild(tempNode, aObj[i]); // no more "click to activate"
    };
    
  //show object elements
  document.getElementById('helperelement').parentNode.removeChild(document.getElementById('helperelement'));
  };
  window.addEventListener('DOMContentLoaded', rewriteObjects, false);
  
  
}else if(navigator.userAgent.indexOf('MSIE')!=-1){ //DOM methods above do not work in IE 6
  
  //IE does not support XHTML yet, so we can use document.write()
  document.write('<style type="text/css" id="helperelement">object{display:none;}</style>');
  
  //IE does not support registerEvent(), so we have to append our function to the onload handler
    
  function rewriteObjects(){
    var aObj=document.getElementsByTagName('object');
    for (var i=0; i<aObj.length; i++){
      var dataBak=aObj[i].getAttribute("data") //Workaround for IE bug  
      // outerHTML loses param elements in IE when data attribute is set, so we store and remove it 
      aObj[i].removeAttribute("data"); 
      aObj[i].outerHTML=aObj[i].outerHTML;  // no more "click to activate"
      aObj[i].setAttribute('data', dataBak); // ... and finally restore it.
    };
  
  //show object elements
  document.getElementById('helperelement').parentNode.removeChild(document.getElementById('helperelement'));
  };
  window.attachEvent('onload', rewriteObjects)
}
