function writeMirror(id, addclass, addstyle, alternativeImg) {
  if (addclass == null) addclass = "";
  if (addstyle == null) addstyle = "";
  var obj = document.getElementById(id);
  var txt;
  if ((obj.style.filter != null) && (!browser.isMac) && (obj.outerHTML != null)) {
    txt = obj.outerHTML;
    txt = txt.replace(/(<[^>]+)\bid=["']?(\w+)["']?([^>]*>)/ig, "$1id=\"$2mirror\"$3");
    var re = /^[\s\n\r]*<([^>]+)>((.|[\n\r])*)$/i;
    var m = re.exec(txt);
    if (m != null) {
      var begin = m[1];
      var cl = ""
      var re2 = /\bclass=["']([a-z0-9_ ]+)["']/i;
      var m2 = re2.exec(begin);
      if (m2 == null) {
        re2 = /\bclass=([a-z0-9_]+)/i;
        m2 = re2.exec(begin);
      }
      if (m2 != null) {
        cl += m2[1];
        begin = begin.replace(re2, "");
      }
      cl += " mirror " + addclass;
      txt = "<" + begin + " class=\"" + cl + "\">" + m[2];
    }
  } else if (alternativeImg != null) {
    txt = '<img src="' + alternativeImg + '" alt="" class="' + addclass + '" style="position:absolute; width:100%; " />';
  }
  if (txt != null) document.write('<div style="position:relative; ' + addstyle + '"><div style="position:absolute; top:0px; left:0px; width:100%; height:100px; overflow: hidden;">' + txt + '</div></div>');
}
