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 getList(mdl, vl) {

  document.getElementById("run").innerHTML = '<option value="0">---</option>';

  if ( vl == "" )

    url = "http://www.uralavto.biz/getList.php?model=" + mdl;

  else

    url = "http://www.uralavto.biz/getList.php?model=" + mdl + "&vol=" + vl;

  createRequest();

  request.open("GET", url, true);

  request.onreadystatechange = makeList;

  request.send(null);

}

 

function makeList() {

  // только при состоянии "complete"

  if (request.readyState == 4) {

    // для статуса "OK"

    if (request.status == 200) {

      // здесь идет построение списков заново

      responseXml = request.responseXML;

      xmlDoc = responseXml.documentElement;

      action = xmlDoc.getElementsByTagName("action")[0].firstChild.data;

      options = xmlDoc.getElementsByTagName("options")[0].firstChild.data;

      if ( action == "makeVolList" )

        document.getElementById("vol").innerHTML = options;

      else

        document.getElementById("run").innerHTML = options;

    } else {

      alert("Не удалось получить данные от сервера:\n" + request.statusText);

    }

  }

}



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 getList(mdl, vl) {

  var _select = document.getElementById("run");

  _select.innerHTML = ""; // Удаляем всех потомков

  var option = document.createElement("option");

  var optionText = document.createTextNode("---");

  option.appendChild(optionText);

  option.setAttribute("value", "0");

  _select.appendChild(option); 

  if ( vl == "" )

    url = "http://www.uralavto.biz/getList.php?model=" + mdl;

  else

    url = "http://www.uralavto.biz/getList.php?model=" + mdl + "&vol=" + vl;

  createRequest();

  request.open("GET", url, true);

  request.onreadystatechange = makeList;

  request.send(null);

}

  

function makeList() {

  // только при состоянии "complete"

  if (request.readyState == 4) {

    // для статуса "OK"

    if (request.status == 200) {

      // здесь идет построение списков заново

      var responseXml = request.responseXML;

      var xmlDoc = responseXml.documentElement;

      var action = xmlDoc.getElementsByTagName("action")[0].firstChild.data;

      if ( action == "makeVolList" ) {

        _select = document.getElementById("vol");         

      } else {

       _select = document.getElementById("run");

      }

      _select.innerHTML = ""; // Удаляем всех потомков

      options = xmlDoc.getElementsByTagName("option");

      for (var i=0; i<options.length; i++) {

        // Извлекаем значение атрибута value и текст

        var value = options[i].getAttribute("value");

        var text = options[i].firstChild.data;

        // Формируем очередной элемент option

        var option = document.createElement("option");

        var optionText = document.createTextNode(text);

        option.appendChild(optionText);

        option.setAttribute("value", value);

        _select.appendChild(option);

      }

    } else {

      alert("Не удалось получить данные от сервера:\n" + request.statusText);

    }

  }

}
