function GetValidHttpRequestType(){
	/*
	Return valid client XMLHttpRequest type based on:
		Invalid = -1	MSXML2.XMLHTTP.5.0 = 0	MSXML2.XMLHTTP.4.0 = 1	MSXML2.XMLHTTP.3.0 = 2	MSXML2.XMLHTTP = 3	Microsoft.XMLHTTP = 4	XMLHttpRequest = 5
	*/		if(window.XMLHttpRequest)
		return 5;
	else if(window.ActiveXObject)
	{		var msxmls = new Array('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP');
        for (var ctr = 0; ctr < msxmls.length; ++ctr)        {			try			{				var obj = new ActiveXObject(msxmls[ctr]);				return ctr;
            } catch(e) {}
		}	}
	
	return -1;
}
function GetHttpRequestType(ReqType)
{
	switch(ReqType)
	{	case 0:
		return new ActiveXObject('Msxml2.XMLHTTP.5.0');
	case 1:		return new ActiveXObject('Msxml2.XMLHTTP.4.0');
	case 2:		return new ActiveXObject('Msxml2.XMLHTTP.3.0');	
	case 3:		return new ActiveXObject('Msxml2.XMLHTTP');	
	case 4:		return new ActiveXObject('Microsoft.XMLHTTP');		case 5:
		return new XMLHttpRequest();	}}