/** \class TeXMLHTTPFactory
  * \brief A factory for XML HTTP request instances.
  *
  *
  * This class makes instance of XML HTTP request.<BR>
  *  It is based on factory pattern.
  *
  * \sa TeWMS
  *
  */
function TeXMLHTTPFactory()
{
}

/** \fn createXMLHTTP()
    \brief Returns an instance of a XML Http Request.
  */
TeXMLHTTPFactory.createXMLHTTP = function()
{
	/*
	if (window.XMLHttpRequest){
          // If IE7, Mozilla, Safari, etc: Use native object
          return new XMLHttpRequest();
          
	}else if (window.ActiveXObject) {
        // ...otherwise, use the ActiveX control for IE5.x and IE6
		return new ActiveXObject("Microsoft.XMLHTTP");
	}else {
		var message  = "We are sorry, but your Web browser doesn't support AJAX (Asynchronous Javascript and XML applications).\n";
		    message += "Please, try to use Mozilla FireFox 1.5.0.8 (or above) or Internet Explorer 6 (or above).";
		
		alert(message);
	}
	*/
    if (typeof XMLHttpRequest != "undefined") {
        return new XMLHttpRequest();
    }else if (window.ActiveXObject) {
      var aVersions = [ "MSXML2.XMLHttp.5.0",
        "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
        "MSXML2.XMLHttp","Microsoft.XMLHttp" ];

      for (var i = 0; i < aVersions.length; i++) {
        try {
            var oXmlHttp = new ActiveXObject(aVersions[i]);
            return oXmlHttp;
        } catch (oError) {
            //Do nothing
        }
      }
    }
    throw new Error("XMLHttp object could be created.");
/*
	if(typeof XMLHttpRequest != "undefined")
	{
		//alert("XMLHttpRequest");
		return new XMLHttpRequest();
	}
	else if(typeof window.ActiveXObject != "undefined")
	{
		//alert("ActiveXObject");
		return new ActiveXObject("MSXML2.XMLHttp");
	}
	else
	{
		var message  = "We are sorry, but your Web browser doesn't support AJAX (Asynchronous Javascript and XML applications).\n";
		    message += "Please, try to use Mozilla FireFox 1.5.0.8 (or above) or Internet Explorer 6 (or above).";
		
		alert(message);
	}
	*/
}
