var httpRequest;
var timer;


/*
 * Возвращает новый XMLHttpRequest объект или false, если браузер его не поддерживает
 */
function newXMLHttpRequest() {

  var xmlreq = false;

  if (window.XMLHttpRequest) {

    // Создадим XMLHttpRequest объект для не-Microsoft браузеров
    xmlreq = new XMLHttpRequest();

  } else if (window.ActiveXObject) {

    // Создадим XMLHttpRequest с помощью MS ActiveX
    try {
      // Попробуем создать XMLHttpRequest для поздних версий
      // Internet Explorer

      xmlreq = new ActiveXObject("Msxml2.XMLHTTP");

    } catch (e1) {

      // Не удалось создать требуемый ActiveXObject

      try {
        // Пробуем вариант, который поддержат более старые версии
        //  Internet Explorer

        xmlreq = new ActiveXObject("Microsoft.XMLHTTP");

      } catch (e2) {

        // Не в состоянии создать XMLHttpRequest с помощью ActiveX
      }
    }
  }

  return xmlreq;
}




/*
Отправка запроса на сервер
 */
function SendRequest(action_name,page) {  // Возвращает содержимое  XMLHttpRequest
  httpRequest = newXMLHttpRequest();

  // Открываем HTTP-соединение с помощью GET-метода к сервлету
  // Третий параметр определяет, что запрос  асинхронный.
  if (action_name=="models")
  {
    var modelsList = document.getElementById("model_select");
    modelsList.disabled=false;
    modelsList.options[0] = null;
    modelsList.options[0] = new Option("", "", false, false);
	var clarList = document.getElementById("clar_select");
	clarList.disabled=false;
    clarList.options[0] = null;
    clarList.options[0] = new Option("", "", false, false);
	var yearList = document.getElementById("year_select");
	yearList.disabled=false;
    yearList.options[0] = null;
    yearList.options[0] = new Option("", "", false, false);

	document.getElementById("clar_select").disabled=true;
	document.getElementById("year_select").disabled=true;
    var make_id = document.getElementById("make_select").value;
    var request="ajax_controls.php?get_models=1&make_id="+make_id;
  }
  if (action_name=="clar")
  {
	var clarList = document.getElementById("clar_select");
    clarList.options[0] = null;
	clarList.disabled=true;
    clarList.options[0] = new Option("", "", false, false);
	var yearList = document.getElementById("year_select");
    yearList.options[0] = null;
	yearList.disabled=true;
    yearList.options[0] = new Option("", "", false, false);

	document.getElementById("year_select").disabled=true;
    var make_id = document.getElementById("make_select").value;
    var model_name = document.getElementById("model_select").value;
    var request="ajax_controls.php?get_clar=1&make_id="+make_id+"&model_name="+model_name;
  }
  if (action_name=="year")
  {
	var yearList = document.getElementById("year_select");
    yearList.options[0] = null;
	yearList.disabled=true;
    yearList.options[0] = new Option("", "", false, false);

	document.getElementById("year_select").disabled=true;
    var make_id = document.getElementById("make_select").value;
    var model_name = document.getElementById("model_select").value;
    var clar_name = document.getElementById("clar_select").value;
    var request="ajax_controls.php?get_year=1&make_id="+make_id+"&model_name="+model_name+"&clar="+clar_name;
  }
  if (action_name=="wheels")
  {
	var contentDiv = document.getElementById("content_div");
	contentDiv.innerHTML="<div class='white_header' style='width:670px; height:800px'><span align='center' valign='middle'>Загружаются диски...</span></div>";

    var make_id = document.getElementById("make_select").value;
    var model_name = document.getElementById("model_select").value;
    var clar_name = document.getElementById("clar_select").value;
    var year = document.getElementById("year_select").value;
    var request="ajax_controls.php?get_wheels=1&make_id="+make_id+"&model_name="+model_name+"&clar="+clar_name+"&year="+year+"&page="+page;
  }
  if (action_name=="producers")
  {
	var contentDiv = document.getElementById("content_div");
	contentDiv.innerHTML="<div class='white_header' style='width:670px; height:800px'><span align='center' valign='middle'>Загружаются диски...</span></div>";

    var producer_id = document.getElementById("producer_select").value;
    var request="ajax_controls.php?get_wheels_by_producer=1&producer_id="+producer_id+"&page="+page;
  }
  httpRequest.open("get", request, true);
  // Оператор для получения сообщения обратного вызова
  // из объекта запроса
  httpRequest.onreadystatechange = updatePage;
  httpRequest.send(null);
}


function updatePage()
{  
  if (httpRequest.readyState==4 && httpRequest.status==200)
  {
  	var response = httpRequest.responseText;
  	var response_=response.split("|");
  	if (response_[0]=="models")
  	{      if (response_[1]>"")
      {
        var modelsList = document.getElementById("model_select");
        modelsList.disabled=false;
	    // Такое очищение, походу, работает во всех браузерах нормально.
	    while (modelsList.length > 0) modelsList.options[0] = null;
      	var options_list=response_[1].split(";");
        modelsList.options[0] = new Option("", "", false, false);
        for (var i=0; i<(options_list.length/2); i++)
        {        	if (response_[3]==options_list[2*i])	          modelsList.options[1+i] = new Option(options_list[2*i+1], options_list[2*i], false, true);
	       else
	          modelsList.options[1+i] = new Option(options_list[2*i+1], options_list[2*i], false, false);
        }
      }
  	}
  	if (response_[0]=="clar")
  	{
      if (response_[1]>"")
      {
        var clarList = document.getElementById("clar_select");
        clarList.disabled=false;
	    // Такое очищение, походу, работает во всех браузерах нормально.
	    while (clarList.length > 0) clarList.options[0] = null;
      	var options_list=response_[1].split(";");
        clarList.options[0] = new Option("", "", false, false);
        for (var i=0; i<(options_list.length/2); i++)
        {
        	if (response_[3]==options_list[2*i])
	          clarList.options[1+i] = new Option(options_list[2*i+1], options_list[2*i], false, true);
	       else
	          clarList.options[1+i] = new Option(options_list[2*i+1], options_list[2*i], false, false);
        }
      }
  	}
  	if (response_[0]=="year")
  	{
      if (response_[1]>"")
      {
        var yearList = document.getElementById("year_select");
        yearList.disabled=false;
	    // Такое очищение, походу, работает во всех браузерах нормально.
	    while (yearList.length > 0) yearList.options[0] = null;
      	var options_list=response_[1].split(";");
        yearList.options[0] = new Option("", "", false, false);
        for (var i=0; i<(options_list.length/2); i++)
        {
        	if (response_[3]==options_list[2*i])
	          yearList.options[1+i] = new Option(options_list[2*i+1], options_list[2*i], false, true);
	       else
	          yearList.options[1+i] = new Option(options_list[2*i+1], options_list[2*i], false, false);
        }
      }
  	}
  	if (response_[0]=="wheels")
  	{      if (response_[1]>"")
      {        var content = document.getElementById("content_div");
        content.innerHTML=response_[1];
      }
  	}
  }
}



