
  var myAjaxRequest = 0;
  var myAjaxDivId = new Array();
  var myAjaxState = new Array();
  var myAjaxCount = new Array();
  var myAjaxRef = new Array();

  function ajaxSendRequest(divId, myRequestX, url, params, HttpMethod)
  {
  	var myAjaxReq = null;
  	var myAjaxData = null;
    var READY_STATE_UNINITIALIZED = 0;
    var READY_STATE_LOADING = 1;
    var READY_STATE_LOADED = 2;
    var READY_STATE_INTERACTIVE = 3;
    var READY_STATE_COMPLETE = 4;
  	
    myAjaxDivId[myRequestX] = divId;
    myAjaxState[myRequestX] = 0;
    myAjaxCount[myRequestX] = 0;
    myAjaxRef[myRequestX] = "";

  	if (!HttpMethod) {
  		HttpMethod = "GET";
  	}
  	
  	myAjaxReq = ajaxInitXMLHTTPRequest();
  	
  	if (myAjaxReq) {
  		myAjaxReq.onreadystatechange = function () {
  			if (myAjaxReq.readyState == READY_STATE_COMPLETE) {
  		    myAjaxData = myAjaxReq.responseText;
  	    }
  	    ajaxToConsole(myAjaxReq.readyState, myAjaxData, myRequestX);
      }
  		myAjaxReq.open(HttpMethod, url, true); 
  		myAjaxReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  		
  		myAjaxReq.send(params);
  	}
  }
  
  function ajaxInitXMLHTTPRequest()
  {
  	var xRequest = false;
  	try{
		  xRequest = new XMLHttpRequest();
	  } catch (e){
		    try{
			    xRequest = new ActiveXObject("Msxml2.XMLHTTP");
		    } catch (e) {
			      try{
				      xRequest = new ActiveXObject("Microsoft.XMLHTTP");
			      } catch (e){
      	        alert('Your browser does not support AJAX Technology!\nGiving up :( Cannot create an XMLHTTP instance.');
				        return false;
			      }
		    }
	  }
  	return xRequest;
  }
  
  function ajaxGetData(xdivId, xurl, xmethod, xparams)
  {
  	++myAjaxRequest;
  	divId = document.getElementById(xdivId);
  	ajaxSendRequest(divId, myAjaxRequest, xurl, xparams, xmethod);
  }

  function ajaxToConsole(ready, data, myRequestX)
  {
  	if (ready <= '1' && myAjaxRef[myRequestX] == "") {
  		myAjaxDivId[myRequestX].innerHTML = myLangPleasewait;
  		myAjaxRef[myRequestX] = setInterval("ajaxToConsoleSet("+myRequestX+")", 200);
  	}
  	else if (ready == '2' || ready == '3') {
  		clearInterval(myAjaxRef[myRequestX]);
  		myAjaxDivId[myRequestX].innerHTML = myLangCompleted+"...[100%]";
  	}
  	else if (ready > '3') {
  		clearInterval(myAjaxRef[myRequestX]);
  		myAjaxDivId[myRequestX].innerHTML = data;
  	} //else { myAjaxDivId[myRequestX].innerHTML = myLangPleasewait; }
  }
  
  function ajaxToConsoleSet(myRequestX)
  { 
  	++myAjaxCount[myRequestX];
    myAjaxDivId[myRequestX].innerHTML = myLangProgress+"...["+myAjaxCount[myRequestX]+"%]";
    if (myAjaxCount[myRequestX] == '100') { myAjaxCount[myRequestX] = '0'; }
  }
