var xmlHttp = createXmlHttp();

function createXmlHttp()
{
  var xmlHttp;

  try
  {
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
                                    "MSXML2.XMLHTTP.5.0",
                                    "MSXML2.XMLHTTP.4.0",
                                    "MSXML2.XMLHTTP.3.0",
                                    "MSXML2.XMLHTTP",
                                    "Microsoft.XMLHTTP");
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
    {
      try
      {
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      }
      catch (e) {}
    }
  }
  if (!xmlHttp)
    alert("Ошибка создания XMLHttpRequest.");
  else
    return xmlHttp;
}


function getPrice()
{
  var metro = document.getElementById('metro');
  var air   = document.getElementById('air');

  var metro_value = metro.options[metro.selectedIndex].value;
  var air_value   = air.options[air.selectedIndex].value;

  if( !metro || !metro_value || !air || !air_value ) {
    metro_value = 0;
    air_value   = 0;
  }

  if (xmlHttp && (xmlHttp.readyState == 4 || xmlHttp.readyState == 0))
  {
    var query = '/getprice?metro='+metro_value+'&air='+air_value;
    document.getElementById('price_tariff').innerHTML = 'Идет загрузка...';
    xmlHttp.open("GET", query, true);
    xmlHttp.onreadystatechange = handlegetPrice;
    xmlHttp.send(null);
  }
}

function handlegetPrice()
{
  if(xmlHttp.readyState == 4)
  {
    if(xmlHttp.status == 200)
    {
      response = xmlHttp.responseText;
      if (response.indexOf("ERRNO") >= 0
          || response.indexOf("error") >= 0
          || response.length == 0)
        alert(response.length == 0 ? "Ошибка сервера." : response);
      else
      response = xmlHttp.responseXML.documentElement;
      if( response.firstChild.firstChild && response.firstChild.firstChild.data > 0 ) {
        var price = response.firstChild.firstChild.data;
        price = setType(price);
        if( response.firstChild.nextSibling.firstChild && response.firstChild.nextSibling.firstChild.data >0 && price ) {
          var price1 = response.firstChild.nextSibling.firstChild.data;
          price1 = setType(price1);
          document.getElementById('price_tariff').innerHTML = 'днем:' + price+'&nbsp;руб.'+'<br>'+'ночью:'+price1+'&nbsp;руб.';
        } else if( price) {
          document.getElementById('price_tariff').innerHTML = price+'&nbsp;руб.';
        } else {
          document.getElementById('out_text').style.display = 'none';
          document.getElementById('in_text').style.display = 'none';
          document.getElementById('price_tariff').innerHTML = '&nbsp;';
        }
      } else {
        document.getElementById('price_tariff').innerHTML = '&nbsp;';
      }
    }
    else
    {
      alert("Ошибка. Попробуйте еще раз.");
    }
  }
}

function setType(price) {
  var type = document.getElementById('type');
  var type_text = document.getElementById('in_text');
  var type_value = type.options[type.selectedIndex].value;
  if( type_value != 0 ) {
    if( type_value == 'in' ) {
      type_text.style.display = '';
      document.getElementById('out_text').style.display = 'none';
    } else if( type_value == 'out' ) {
      price = price*(1) + 250;
      type_text.style.display = 'none';
      document.getElementById('out_text').style.display = '';
    }
    return price;
  }
  return false; 
}

function getOblPrice()
{
  var metro = document.getElementById('city');
  var air   = document.getElementById('air2');
  var type   = document.getElementById('type2');

  var type_value = type.options[type.selectedIndex].value;
  var metro_value = metro.options[metro.selectedIndex].value;
  var air_value   = air.options[air.selectedIndex].value;

  if( !metro || !metro_value || !air || !air_value ) {
    metro_value = 0;
    air_value   = 0;
  }

  if (xmlHttp && (xmlHttp.readyState == 4 || xmlHttp.readyState == 0))
  {
    var query = 'getoblprice?city='+metro_value+'&air='+air_value+'&type='+type_value;
    document.getElementById('price_obltariff').innerHTML = 'Идет загрузка...';
    xmlHttp.open("GET", query, true);
    xmlHttp.onreadystatechange = handlegetOblPrice;
    xmlHttp.send(null);
  }
}

function handlegetOblPrice()
{
  if(xmlHttp.readyState == 4)
  {
    if(xmlHttp.status == 200)
    {
      response = xmlHttp.responseText;
      if (response.indexOf("ERRNO") >= 0
          || response.indexOf("error") >= 0
          || response.length == 0)
        alert(response.length == 0 ? "Ошибка сервера." : response);
      else
      response = xmlHttp.responseXML.documentElement;
      if( response.firstChild && response.firstChild.firstChild && response.firstChild.firstChild.data > 0 ) {
        var price = response.firstChild.firstChild.data;
        if( response.firstChild.nextSibling.firstChild && response.firstChild.nextSibling.firstChild.data >0 ) {
          var price1 = response.firstChild.nextSibling.firstChild.data;
          document.getElementById('price_obltariff').innerHTML = 'днем:' + price+'&nbsp;руб.'+'<br>'+'ночью:'+price1+'&nbsp;руб.';
        } else {
          document.getElementById('price_obltariff').innerHTML = price+'&nbsp;руб.';
        }
      } else {
        document.getElementById('price_obltariff').innerHTML = '&nbsp;';
      }
    }
    else
    {
      alert("Ошибка. Попробуйте еще раз.");
    }
  }
}

function cityotherloc(sel) {
  var id = sel.options[sel.selectedIndex].value;
  window.location = '/uslugi_partnerov/obltransfer/'+id;
}
