function DirectRequest() {

var Object = null;
var Interval = 0;
var IntervalCount = 0;
var IntervalStep = 100;
var IntervalTimeOut = 60000;
var callBackFunctionCur = null

this.Send = function (url, data, callBackFunction) {
	callBackFunctionCur = callBackFunction
	Object = getXmlHttp()
	if (Object===false) {Response(true,"Данная технология не поддерживается") ; return};
	Object.open("POST", url, true); 
	Object.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
	Object.send(data)
	IntervalCount = 0
	var v = CheckState
	Interval = setInterval(v,IntervalStep)
}

function CheckState() {
    IntervalCount++
	if (IntervalCount > (IntervalTimeOut/IntervalStep) ) {
		Response(true,"В течении " + IntervalTimeOut/1000 + " сек нет ответа от сервера!")
		return
	}
    if (Object.readyState != 4) return
	Response((Object.status!=200),Object.responseText)
}
function Response (isError,msg) {
	clearInterval(Interval)
	if (callBackFunctionCur!=null) callBackFunctionCur(isError,msg)
}


function getXmlHttp(){
	var xmlhttp;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
    		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

} 

