﻿/*
* Creates an XML HTTP Request
*/
function getXmlHttp()
{
  var xmlhttp;
  try
  {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch(exception1)
  {
    try
    {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(exception2)
    {
      xmlhttp = false;
    }
  }
  if(!xmlhttp && typeof XMLHttpRequest != 'undefined')
  {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}


function getXmlNodeText(node)
{
  var obj = node;
  return obj.text || obj.textContent;
}

function clearError()
{
  document.getElementById("SearchVin_ErrorMessage").innerHTML = "";
}

function handleError(response)
{
  var error = response.getElementsByTagName("ErrorMessage")[0];
  if(error)
  {
    var errorMessage = getXmlNodeText(error);
    if(errorMessage)
    {
      document.getElementById("SearchVin_ErrorMessage").innerHTML = errorMessage;
      return true;
    }
  }
  return false;
}

function handleResponse(response)
{
  document.getElementById("SearchVin_Make").value = "";
  var make = response.getElementsByTagName("Make")[0];
  if(make)
  {
    document.getElementById("SearchVin_Make").value = getXmlNodeText(make);
  }

  document.getElementById("SearchVin_Model").value = "";
  var model = response.getElementsByTagName("Model")[0];
  if(model)
  {
    document.getElementById("SearchVin_Model").value = getXmlNodeText(model);
  }

  document.getElementById("SearchVin_Year").value = "";
  var year = response.getElementsByTagName("Year")[0];
  if(year)
  {
    document.getElementById("SearchVin_Year").value = getXmlNodeText(year);
  }

  document.getElementById("SearchVin_Fuel").value = "";
  var fuel = response.getElementsByTagName("Fuel")[0];
  if(fuel)
  {
    document.getElementById("SearchVin_Fuel").value = getXmlNodeText(fuel);
  }

  document.getElementById("SearchVin_Capacity").value = "";
  var capacity = response.getElementsByTagName("Capacity")[0];
  if(capacity)
  {
    document.getElementById("SearchVin_Capacity").value = getXmlNodeText(capacity);
  }

  document.getElementById("SearchVin_Drive").value = "";
  var drive = response.getElementsByTagName("Drive")[0];
  if(drive)
  {
    document.getElementById("SearchVin_Drive").value = getXmlNodeText(drive);
  }

  document.getElementById("SearchVin_Gear").value = "";
  var gear = response.getElementsByTagName("Gear")[0];
  if(gear)
  {
    document.getElementById("SearchVin_Gear").value = getXmlNodeText(gear);
  }
}

function showLoader(flag)
{
  document.getElementById("Loader").style.display = flag ? "block" : "none";
}


function SearchVin()
{
  var textbox = document.getElementById("SearchVin_VIN");
  if(!textbox)
  {
    return false;
  }

  var vin = textbox.value;
  var request = getXmlHttp();
  var url = "/vin/?VIN=" + vin;
  request.open("GET", url);
  request.onreadystatechange = function ()
  {
    if(request.readyState == 4 && request.status == 200)
    {
      //showLoader(false);

      var response = request.responseXML.documentElement;

      if(handleError(response))
      {
        return;
      }

      handleResponse(response);
    }
  };

  //showLoader(true);
  clearError();
  request.send(null);
  return false;
}



