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;
}
var xmlHttp = getXmlHttp()

// make asynchronous HTTP request using the XMLHttpRequest object 
function rating(id, action, ip)
{
  // proceed only if the xmlHttp object isn't busy
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
    // retrieve the name typed by the user on the form
    document.getElementById("plus").innerHTML = '';
	document.getElementById("minus").innerHTML = '';
    document.getElementById("rate").innerHTML = '';
	document.getElementById("rate").innerHTML = '<span class="min">Загрузка...</span>';

    // execute the quickstart.php page from the server
   
    xmlHttp.open("GET", "/xml/rating.php?id=" + id + "&action=" + action + "&ip=" + ip, true);  
	
    // define the method to handle server responses
    xmlHttp.onreadystatechange = handleServerResponse;
    // make the server request
    xmlHttp.send(null);
  }
}
function handleServerResponse() 
{
  // move forward only if the transaction has completed
  if (xmlHttp.readyState == 4) 
  {
    // status of 200 indicates the transaction completed successfully
    if (xmlHttp.status == 200) 
    {
      // extract the XML retrieved from the server
      xmlResponse = xmlHttp.responseXML;
      // obtain the document element (the root element) of the XML structure
      xmlDocumentElement = xmlResponse.documentElement;
      // get the text message, which is in the first child of
      // the the document element
      value = xmlDocumentElement.firstChild.data;
      // update the client display using the data received from the server
	  document.getElementById("minus").innerHTML = '';
      document.getElementById("rate").innerHTML = value;
      // restart sequence
    } 
    // a HTTP status different than 200 signals an error
    else 
    {
      alert("There was a problem accessing the server: " + xmlHttp.statusText);
    }
  }
}


