var elem="";

function loadXMLDoc(url) {
    ShowLoader();
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    ab = window.setTimeout("req.abort();", 10000);
     } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
    ab = window.setTimeout("req.abort();", 10000);
         }
    }
}

function loadXMLDocPOST(url,params) {
    ShowLoader();
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
	req.overrideMimeType('text/html');
        req.onreadystatechange = processReqChange;
	req.open('POST', url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.send(params);
	ab = window.setTimeout("req.abort();", 10000);
     } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
		req.onreadystatechange = processReqChange;
		req.open('POST', url, true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", params.length);
		req.setRequestHeader("Connection", "close");
		req.send(params);
		ab = window.setTimeout("req.abort();", 10000);
         }
    }
}

function processReqChange() {
    //document.getElementById('loaderstate').innerHTML=stat(req.readyState);
    if (req.readyState == 4) {
        clearTimeout(ab);
        if (req.status == 200) {
	document.getElementById(elem).innerHTML=req.responseText;
	HideLoader();
        } else {
	HideLoader();
	alert("Не удалось получить данные:\n" + req.statusText);
        }
    }  
}
 
function stat(n)
{
  switch (n) {
    case 0:
      return "не инициализирован";
    break;
 
    case 1: 
      return "загрузка...";
    break;
 
    case 2: 
      return "загружено";
    break;
 
    case 3: 
      return "обработка данных...";
    break;
 
    case 4: 
      return "готово";
    break;
 
    default:
      return "неизвестное состояние";  
  }  
}
 
function requestdata(element,params)
{
	elem=element;
	loadXMLDoc('ajax.php?'+params);
}

function postdata(element,params)
{
	elem=element;
	loadXMLDocPOST('ajax.php',params);
}

function ShowLoader(){
	//document.getElementById('loader').style.visibility='visible';
}

function HideLoader(){
	//document.getElementById('loader').style.visibility='hidden';
}
