XMLHTTPSupport = false;
var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")},
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++)
	{
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}

function getServerHtml( url, targetObject, furtherAction)
{
 var req = createXMLHTTPObject();
 if (!req) return( false);
 XMLHTTPSupport = true;

 req.open("GET",url,true);
//	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
 req.onreadystatechange = function () {

	 if (req.readyState != 4) return;

	 if (req.status != 200 && req.status != 304) {
  
   if ( req.status == 499) {
    // Customized TEXT error
    alert("ERROR: " + req.responseText);
   }
   else {
    if ( req.status == 498) {
     // Customized JAVASCRIPT error
     eval(req.responseText);
    }
    else {
     if ( req.status == 299) {
      // Customized TEXT message
      alert(req.responseText);
     }
     else {
		   alert('HTTP error : '+req.status+' requesting URL ['+url+']');
     }
    }
   }
		return;
	 }
  if ( req.responseText.indexOf('498 Custom Javascript') >= 0) {
   eval(req.responseText);
   targetObject = null;
  }
  if ( targetObject) {
   HTML = req.responseText;
//   alert(HTML);
   targetObject.innerHTML = HTML;
  }
  if (furtherAction) {
   furtherAction();
  }
 }
 req.send(null);
}

function trim( str)
{
 return str.replace(/^\s*|\s*$/g,"");
}

