// XmlDocument factory

function XmlDocument() {}

XmlDocument.create = function () {
   try {
      // DOM2
      if (document.implementation && document.implementation.createDocument) {
         var doc = document.implementation.createDocument("", "", null);

         // some versions of Moz do not support the readyState property
         // and the onreadystate event so we patch it!
         if (doc.readyState == null) {
            doc.readyState = 1;
            doc.addEventListener("load", function () {
               doc.readyState = 4;
               if (typeof doc.onreadystatechange == "function")
                  doc.onreadystatechange();
            }, false);
         }

         return doc;
      }
      if (window.ActiveXObject)
         //return new ActiveXObject(getControlPrefix() + ".XmlDom");
		 //return new ActiveXObject("MsXml2.XmlDom");
		 var doc = new ActiveXObject("MSXML2.DOMDocument");
		 return doc;
   }
   catch (ex) {}
   throw new Error("Your browser does not support XmlDocument objects");
};
