function mozInnerHTML(node)
  {
  var str = '';
  for (var i = 0; i < node.childNodes.length; i++)
    {  str += mozOuterHTML(node.childNodes.item(i));  }
  return str;
  }

function mozOuterHTML(node) 
  {
  var str = '';
  switch (node.nodeType) 
    {
    case Node.ELEMENT_NODE: 
      str += '&lt;' + node.nodeName.toLowerCase();
      for (var i = 0; i < node.attributes.length; i++) 
        {
        var attr = node.attributes.item(i);
        str += ' ' + attr.nodeName;
        str += '=' + '\"' + attr.nodeValue + '\"';
        }
      if ( !node.hasChildNodes && !node.hasAttributes ) 
        {  str += '/>';  }
      else 
        {
        str += '>';
        str += mozInnerHTML(node);
        str += '&lt;/' + node.nodeName.toLowerCase() + '>';
        }
      break;
    case Node.TEXT_NODE:
      str += node.nodeValue;
      break;
    default:
      break;
    }
  return str;
  }

var sel = window.getSelection(); 
var node = sel.getRangeAt(0).commonAncestorContainer; 
var html = mozOuterHTML(node);
var uri=document.location;
var title = document.title;
var win=window.open('','','width=500,height=400');
win.document.write('<body><div>&lt;blockquote cite=\"' + title + '\"></div>' + 
  html + ' [&lt;a href=\"' + uri + '\">' +  title + '&lt;/a>]' +
  '<div>&lt;/blockquote></div></body>'  );




