function loadXMLDoc(url, queryString) {
    req = null;
    if (window.XMLHttpRequest) {
        try {
            req = new XMLHttpRequest();
        } catch (e){}
    } else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e){
            try {
                req = new ActiveXObject('Microsoft.XMLHTTP');
            } catch (e){}
        }
    }
 
    if (req) {
		req.onreadystatechange = ajax_update;
        req.open("POST/index.html", url, true);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		show_waiting('waiting');		
        req.send(queryString);
    } else {
        alert("Браузер не поддерживает AJAX");
    }
}

function ajax_update()
{
	stat(req.readyState);
    if (req.readyState == 4)
	{
		if (req.status == 200)
		{
			hide_waiting('waiting');
			document.getElementById('holder').innerHTML = req.responseText;
		}
		else
		{
            alert("Не удалось получить данные:\n" +
                req.statusText);
        }
    }
}

function queryString(args)
{
	var requestParams = [];
	for (var i=0; i < args.length; i++)
	{
		requestParams.push(args[i]);
	}

	var queryString = "";
	if (requestParams && requestParams.length > 0) {
		for (var i=0; i<requestParams.length; i++)
		{
			queryString += requestParams[i] + '&';
		}
		queryString = queryString.substring(0, queryString.length-1);
	}
	return queryString;
}

function stat(n)
{
  switch (n) {
    case 0:
		changeComment('wait_comment', "сбор данных...");
    break;
 
    case 1:
		changeComment('wait_comment', "открываем соединение...");
    break;
 
    case 2:
		changeComment('wait_comment', "отправка данных...");
    break;
 
    case 3:
		changeComment('wait_comment', "загрузка данных...");
    break;
 
    case 4:
		changeComment('wait_comment', "готово");
		hide_waiting('waiting');
    break;
 
    default:
      return "неизвестное состояние";  
  }  
}

function changeComment(div_id, text)
{
	document.getElementById(div_id).innerHTML = text;
}

function show_waiting(div_id)
{
	window.scrollTo(0,0);
/*
	var sc_w = window.screen.availWidth;
	var sc_h = window.screen.availHeight;
	var left_pos = (sc_w - 300)/2;
	var top_pos = (sc_h - 400)/2;
	document.getElementById(div_id).style.left = left_pos + 'px';
	document.getElementById(div_id).style.top = top_pos + 'px';
*/
	document.getElementById(div_id).style.display = 'block';
}

function hide_waiting(div_id)
{
	window.scrollTo(0,0);
	document.getElementById(div_id).style.display = 'none';
}

function requestData()
{
	var requestParams = queryString(requestData.arguments);
	loadXMLDoc('xData/index.html', requestParams);
}

function requestDataString(arguments)
{
	var argsArray = arguments.split(",");
	var qs = queryString(argsArray);
	loadXMLDoc('xData/index.html', qs);	
}
