/*
(c) 2008, Nikiforov Vladimir aka Volod
This file may be freely copied and used without any limitations.
*/

var req = null;

//кроме 4, правда, тут все равно никто не используется :) нехай буде
var READY_STATE_UNINITIALIZED = 0;
var READY_STATE_LOADING = 1;
var READY_STATE_LOADED = 2;
var READY_STATE_COMPLETE = 4;

function sendRequest(req)
{
	document.req = req;
	if (! req.message)
		req.message = 'loading...';
	
	if (! req.field)
		req.field = 'innerHTML';
	
	if (window.XMLHttpRequest)
		req.xr = new XMLHttpRequest();
	else if (typeof ActiveXObject != 'undefined')
		req.xr = new ActiveXObject("Microsoft.XMLHTTP");
	
	if (req.xr)
	{
		req.xr.onreadystatechange = onReadyState;
		req.xr.open("POST", req.url, true);
		req.xr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.xr.send(req.params);
	}
	else
		alert('Возможно не догрузились новые скрипты.\nНажмите, пожалуйста, Ctrl+F5 в Вашем браузере.');
}

function onReadyState()
{
	var req = document.req;
	if (req.xr.readyState == READY_STATE_COMPLETE)
	{
		if (req.field != '')
			eval('req.result.'+ req.field + '= req.xr.responseText');
		if (req.callback != '')	
			eval(req.callback);
	}
	else
		eval('req.result.'+ req.field + '= "' + req.message +'"');
}
