  var request = null;
  function createRequest() {
    try {
      request = new XMLHttpRequest();
    } catch (trymicrosoft) {
      try {
        request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (othermicrosoft) {
        try {
          request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (failed) {
          request = null;
        }
      }
    }
    if (request == null) alert("Ошибка при создании объекта XMLHttpRequest!");
  }

  function addRemoveCompare(ctgID, prdID, add) {
    createRequest();
	if ( add ) 
	  action = "add";
	else
	  action = "rmv";
    var url = "addRemoveCompare.php?action=" + action + "&ctgID=" + ctgID + "&prdID=" + prdID;
    request.open("GET", url, true);
    request.onreadystatechange = updatePage;
    request.send(null);
  }
  
  function updatePage() {
    // только при состоянии "complete"
    if (request.readyState == 4) {
      // для статуса "OK"
      if (request.status == 200) {
        // здесь идут всякие штуки с полученным ответом
		// document.getElementById("result").innerHTML = request.responseText;
      } else {
        alert("Не удалось получить данные от сервера:\n" + request.statusText);
      }
    }  
  }
