var Editor = {
  Version:         "1.0.0_pre4",
  current:         false,
  listeners:       $A(),
  hasGetSelection: !!window.getSelection,

  blurAll: function(event) {
    this.listeners.each(function(editor) {
      editor.onBlur();
    });
  },

  DocumentExtensions: {
    importNode: function(element) {
      if (element.ownerDocument == this) { return element; }

      if (element.nodeType == 1) {
        var imported_element = this.createElement(element.nodeName);
        for (var i = 0; i < element.attributes.length; i++) {
          var attribute = element.attributes[i];
          if (attribute.nodeValue != null && attribute.nodeValue != "") {
            imported_element.setAttribute(attribute.name, attribute.nodeValue);
          }
        }
        imported_element.className = element.className;
        if (typeof(element.style) != "undefined") {
          imported_element.style.cssText = element.style.cssText;
        }
      } else if (element.nodeType == 3) {
        var imported_element = this.createTextNode(element.nodeValue);
      }

      if (element.hasChildNodes()) {
        for (var i = 0; i < element.childNodes.length; i++) {
          imported_element.appendChild(this.importNode(element.childNodes[i]));
        }
      }
      return imported_element;
    }
  }
}

//Event.onReady(function() {
//  Event.observe(document, "mousedown", Editor.blurAll.bindAsEventListener(Editor));
//});
