var baseUrl = '';

if( (window.location.host == 'localhost') || (window.location.host == '192.168.0.122') )
{
    baseUrl = 'http://' + window.location.host + '/powerandplay/';
}
else
{
    baseUrl = 'http://' + window.location.host + '/';
}

function updateVehicleMakeModel()
{
  var xmlHttp;
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  {
    document.getElementById('searchVehicleMakeModel').innerHTML = 'Error!!';
    return;
  }

  if(document.getElementById('vhymm_model').value != '')
  {
    document.getElementById('vhymm_model').disabled = true;
    window.location = baseUrl
    + 'ymm_test_process.php?make=' + document.getElementById('vhymm_make').value
    + '&model=' + document.getElementById('vhymm_model').value
    + '&year=' + document.getElementById('vhymm_year').value;
  }
  else if(document.getElementById('vhymm_make').value != '')
  {
    document.getElementById('vhymm_make').disabled = true;
    document.getElementById('vhmodelProgress').style.visibility = 'visible';
    var http_request = GetXmlHttpObject();
    http_request.onreadystatechange = function() { updateVehicleModelContents(http_request); };
    http_request.open('GET',baseUrl + 'ymm_test_contents.php?year=' + document.getElementById('vhymm_year').value
                      + '&make=' + document.getElementById('vhymm_make').value, true);
    http_request.send(null);
  }
  else if(document.getElementById('vhymm_year').value != '')
  {
    document.getElementById('vhymm_year').disabled = true;
    document.getElementById('vhmakeProgress').style.visibility = 'visible';
    var http_request = GetXmlHttpObject();
    http_request.onreadystatechange = function() { updateVehicleMakeContents(http_request); };
    http_request.open('GET',baseUrl + 'ymm_test_contents.php?year=' + document.getElementById('vhymm_year').value , true);
    http_request.send(null);
  }
}


function updateVendorMakeModel()
{
  var xmlHttp;
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  {
    document.getElementById('searchVendorMakeModel').innerHTML = 'Error!!';
    return;
  }

  if(document.getElementById('vymm_model').value != '')
  {
    document.getElementById('vymm_model').disabled = true;
    window.location = baseUrl
    + 'ymm_test_process.php?vendor=' + document.getElementById('vendor_code').value
    + '&make=' + document.getElementById('vymm_make').value
    + '&model=' + document.getElementById('vymm_model').value
    + '&year=' + document.getElementById('vymm_year').value;
  }
  else if(document.getElementById('vymm_make').value != '')
  {
    document.getElementById('vymm_make').disabled = true;
    document.getElementById('vmodelProgress').style.visibility = 'visible';
    var http_request = GetXmlHttpObject();
    http_request.onreadystatechange = function() { updateModelContents(http_request); };
    http_request.open('GET',baseUrl + 'ymm_contents.php?vendor=' + document.getElementById('vendor_code').value
                      + '&year=' + document.getElementById('vymm_year').value
                      + '&make=' + document.getElementById('vymm_make').value, true);
    http_request.send(null);
  }
  else if(document.getElementById('vymm_year').value != '')
  {
    document.getElementById('vymm_year').disabled = true;
    document.getElementById('vmakeProgress').style.visibility = 'visible';
    var http_request = GetXmlHttpObject();
    http_request.onreadystatechange = function() { updateMakeContents(http_request); };
    http_request.open('GET',baseUrl + 'ymm_contents.php?vendor=' + document.getElementById('vendor_code').value + '&year=' + document.getElementById('vymm_year').value , true);
    http_request.send(null);

  }
  else if(document.getElementById('vendor_code').value != '')
  {
    document.getElementById('vendor_code').disabled = true;
    document.getElementById('vyearProgress').style.visibility = 'visible';
    var http_request = GetXmlHttpObject();
    http_request.onreadystatechange = function() { updateYearContents(http_request); };
    http_request.open('GET',baseUrl + 'ymm_contents.php?vendor=' + document.getElementById('vendor_code').value, true);
    http_request.send(null);
  }
}

function updateMakeContents(http_request)
{
  if (http_request.readyState == 4)
  {
    if (http_request.status == 200)
    {
      var xmldoc = http_request.responseXML;
      var root = xmldoc.getElementsByTagName('makes').item(0);
      j=1;
      for (var iNode = 0; iNode < root.childNodes.length; iNode++) {
        var node = root.childNodes.item(iNode);
        var cnt = 0;
        for (i = 0; i < node.childNodes.length; i++) {
          var sibl = node.childNodes.item(i);
          for (x = 0; x < sibl.childNodes.length; x++) {
            cnt +=1;
            if(cnt == 2)
            {
              var sibl3 = sibl.childNodes.item(x);
              //alert(sibl2.data + ' ' + sibl3.data);
              document.getElementById('vymm_make').options[j] = new Option(sibl3.data,sibl2.data);
              cnt = 0;
              j +=1;
            }
            else
            {
              var sibl2 = sibl.childNodes.item(x);
            }
          }
        }
      }
      document.getElementById('vymm_make').disabled = false;
      document.getElementById('vmakeProgress').style.display = 'none';
    }
    else
    {
      alert('There was a problem with the request.');
    }
  }
}

function updateModelContents(http_request)
{
  if (http_request.readyState == 4)
  {
    if (http_request.status == 200)
    {
      var xmldoc = http_request.responseXML;
      var root = xmldoc.getElementsByTagName('models').item(0);
      j=1;
      for (var iNode = 0; iNode < root.childNodes.length; iNode++) {
        var node = root.childNodes.item(iNode);
        var cnt = 0;
        for (i = 0; i < node.childNodes.length; i++) {
          var sibl = node.childNodes.item(i);
          for (x = 0; x < sibl.childNodes.length; x++) {
            cnt +=1;
            if(cnt == 2)
            {
              var sibl3 = sibl.childNodes.item(x);
              document.getElementById('vymm_model').options[j] = new Option(sibl3.data,sibl2.data);
              cnt = 0;
              j +=1;
            }
            else
            {
              var sibl2 = sibl.childNodes.item(x);
            }
          }
        }
      }
      document.getElementById('vymm_model').disabled = false;
      document.getElementById('vmodelProgress').style.display = 'none';
    }
    else
    {
      alert('There was a problem with the request.');
    }
  }
}

function updateYearContents(http_request)
{
  if (http_request.readyState == 4)
  {
    if (http_request.status == 200)
    {
      var xmldoc = http_request.responseXML;
      var root = xmldoc.getElementsByTagName('years').item(0);
      j=1;
      for (var iNode = 0; iNode < root.childNodes.length; iNode++) {
        var node = root.childNodes.item(iNode);
        var cnt = 0;
        for (i = 0; i < node.childNodes.length; i++) {
          var sibl = node.childNodes.item(i);
          for (x = 0; x < sibl.childNodes.length; x++) {
            cnt +=1;
            if(cnt == 2)
            {
              var sibl3 = sibl.childNodes.item(x);
              document.getElementById('vymm_year').options[j] = new Option(sibl3.data,sibl2.data);
              cnt = 0;
              j +=1;
            }
            else
            {
              var sibl2 = sibl.childNodes.item(x);
            }
          }
        }
      }
      document.getElementById('vymm_year').disabled = false;
      document.getElementById('vyearProgress').style.display = 'none';
    }
    else
    {
      alert('There was a problem with the request.');
    }
  }
}

function stateChanged()
{
  if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
  {
    document.getElementById("vymm_make").innerHTML=xmlHttp.responseText
  }
}

function GetXmlHttpObject()
{
  var xmlHttp=null;
  try
  {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }
  catch (e)
  {
    // Internet Explorer
    try
    {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}

function updateVehicleMakeContents(http_request)
{
  if (http_request.readyState == 4)
  {
    if (http_request.status == 200)
    {
      var xmldoc = http_request.responseXML;
      var root = xmldoc.getElementsByTagName('makes').item(0);
      j=1;
      for (var iNode = 0; iNode < root.childNodes.length; iNode++) {
        var node = root.childNodes.item(iNode);
        var cnt = 0;
        for (i = 0; i < node.childNodes.length; i++) {
          var sibl = node.childNodes.item(i);
          for (x = 0; x < sibl.childNodes.length; x++) {
            cnt +=1;
            if(cnt == 2)
            {
              var sibl3 = sibl.childNodes.item(x);
              document.getElementById('vhymm_make').options[j] = new Option(sibl3.data,sibl2.data);
              cnt = 0;
              j +=1;
            }
            else
            {
              var sibl2 = sibl.childNodes.item(x);
            }
          }
        }
      }
      document.getElementById('vhymm_make').disabled = false;
      document.getElementById('vhmakeProgress').style.display = 'none';
    }
    else
    {
      alert('There was a problem with the request.');
    }
  }
}

function updateVehicleModelContents(http_request)
{
  if (http_request.readyState == 4)
  {
    if (http_request.status == 200)
    {
      var xmldoc = http_request.responseXML;
      var root = xmldoc.getElementsByTagName('models').item(0);
      j=1;
      for (var iNode = 0; iNode < root.childNodes.length; iNode++) {
        var node = root.childNodes.item(iNode);
        var cnt = 0;
        for (i = 0; i < node.childNodes.length; i++) {
          var sibl = node.childNodes.item(i);
          for (x = 0; x < sibl.childNodes.length; x++) {
            cnt +=1;
            if(cnt == 2)
            {
              var sibl3 = sibl.childNodes.item(x);
              document.getElementById('vhymm_model').options[j] = new Option(sibl3.data,sibl2.data);
              cnt = 0;
              j +=1;
            }
            else
            {
              var sibl2 = sibl.childNodes.item(x);
            }
          }
        }
      }
      document.getElementById('vhymm_model').disabled = false;
      document.getElementById('vhmodelProgress').style.display = 'none';
    }
    else
    {
      alert('There was a problem with the request.');
    }
  }
}

function updateVehicleYearContents(http_request)
{
  if (http_request.readyState == 4)
  {
    if (http_request.status == 200)
    {
      var xmldoc = http_request.responseXML;
      var root = xmldoc.getElementsByTagName('years').item(0);
      j=1;
      for (var iNode = 0; iNode < root.childNodes.length; iNode++) {
        var node = root.childNodes.item(iNode);
        var cnt = 0;
        for (i = 0; i < node.childNodes.length; i++) {
          var sibl = node.childNodes.item(i);
          for (x = 0; x < sibl.childNodes.length; x++) {
            cnt +=1;
            if(cnt == 2)
            {
              var sibl3 = sibl.childNodes.item(x);
              document.getElementById('vhymm_year').options[j] = new Option(sibl3.data,sibl2.data);
              cnt = 0;
              j +=1;
            }
            else
            {
              var sibl2 = sibl.childNodes.item(x);
            }
          }
        }
      }
      document.getElementById('vhymm_year').disabled = false;
      document.getElementById('vhyearProgress').style.display = 'none';
    }
    else
    {
      alert('There was a problem with the request.');
    }
  }
}

function clearBox()
{
    var select = document.getElementById('cats');
    var options = select.getElementsByTagName('option');
    var i;

    var clength = options.length;

    for (i=0; i<clength+2; i++)
    {
        select.options[0]=null;
    }
}

function getParts()
{
    if( document.getElementById('thecat').value == '' )
    {
        alert('Please Select a Category!');
    }
    else
    {
        window.location = baseUrl
            + 'ymm_test_drilldown.php?vendor='+document.getElementById('thevend').value
            + '&category=' + document.getElementById('thecat').value
            + '&make=' + document.getElementById('vc_make').value
            + '&model=' + document.getElementById('vc_model').value
            + '&year=' + document.getElementById('vc_year').value
            + '&catstring=' + document.getElementById('thecatstring').value
            + '&vendstring=' + document.getElementById('thevendstring').value;
    }
}

function getVehicleParts()
{
    var parts_url = baseUrl + 'ymm_test_getparts.php?vendor='+document.getElementById('vendor').value
        + '&vendor_name='+document.getElementById('vendor_name').value
        + '&category='+document.getElementById('category').value
        + '&category_name='+document.getElementById('category_name').value
        + '&elkp_year='+document.getElementById('elkp_year').value
        + '&elkp_make='+document.getElementById('elkp_make').value
        + '&elkp_model='+document.getElementById('elkp_model').value;
    
    if( document.getElementById('elkp_submodel').value != '' )
        parts_url += '&elkp_submodel='+document.getElementById('elkp_submodel').value;

    if( document.getElementById('elkp_engine').value != '' )
        parts_url += '&elkp_engine='+document.getElementById('elkp_engine').value;

    if( document.getElementById('elkp_liter').value != '' )
        parts_url += '&elkp_liter='+document.getElementById('elkp_liter').value;

    if( document.getElementById('elkp_fuel').value != '' )
        parts_url += '&elkp_fuel='+document.getElementById('elkp_fuel').value;

    if( document.getElementById('elkp_aspiration').value != '' )
        parts_url += '&elkp_aspiration='+document.getElementById('elkp_aspiration').value;

    if( document.getElementById('elkp_evin').value != '' )
        parts_url += '&elkp_evin='+document.getElementById('elkp_evin').value;

    if( document.getElementById('elkp_vq').value != '' )
        parts_url += '&elkp_vq='+document.getElementById('elkp_vq').value;

    if( document.getElementById('elkp_apq').value != '' )
        parts_url += '&elkp_apq='+document.getElementById('elkp_apq').value;

    if( document.getElementById('elkp_vqstring').value != '' )
        parts_url += '&elkp_vqstring='+document.getElementById('elkp_vqstring').value;

    if( document.getElementById('elkp_apqstring').value != '' )
    {
        //alert(document.getElementById('elkp_apqstring').value.replace(" ",""));
        //alert(document.getElementById('elkp_apqstring').value.length );
        parts_url += '&elkp_apqstring='+document.getElementById('elkp_apqstring').value;
    }

    if( document.getElementById('lookup_code').value != '' )
        parts_url += '&lookup_code='+document.getElementById('lookup_code').value;

    window.location = parts_url;
}

function setVehicleForm($id)
{
    if( document.getElementById('submodel'+$id) )
        document.getElementById('elkp_submodel').value = document.getElementById('submodel'+$id).innerHTML;

    if( document.getElementById('engine'+$id) )
        document.getElementById('elkp_engine').value = document.getElementById('engine'+$id).innerHTML;

    if( document.getElementById('liter'+$id) )
        document.getElementById('elkp_liter').value = document.getElementById('liter'+$id).innerHTML;

    if( document.getElementById('fuel'+$id) )
        document.getElementById('elkp_fuel').value = document.getElementById('fuel'+$id).innerHTML;

    if( document.getElementById('asp'+$id) )
    {
        if( document.getElementById('asp'+$id).innerHTML == 'Natural' )
            document.getElementById('elkp_aspiration').value = 'N';
        
        if( document.getElementById('asp'+$id).innerHTML == 'Turbo' )
            document.getElementById('elkp_aspiration').value = 'T';
    }

    if( document.getElementById('vin'+$id) )
        document.getElementById('elkp_evin').value = document.getElementById('vin'+$id).innerHTML;

    if( document.getElementById('vq'+$id) )
        document.getElementById('elkp_vq').value = document.getElementById('vq'+$id).value;

    if( document.getElementById('apq'+$id) )
        document.getElementById('elkp_apq').value = document.getElementById('apq'+$id).value;

    if( document.getElementById('vqstring'+$id) )
        document.getElementById('elkp_vqstring').value =document.getElementById('vqstring'+$id).innerHTML;

    if( document.getElementById('apqstring'+$id) )
        document.getElementById('elkp_apqstring').value = document.getElementById('apqstring'+$id).innerHTML;
}

function setVehicleVendorForm(vendor)
{
    document.getElementById('thevend').value = vendor;
    document.getElementById('thevendstring').value = document.getElementById('vendor_'+vendor).innerHTML.replace("&amp;"," and ");

    window.location = baseUrl + 'ymm_test_drilldown.php?vendor='+vendor
             + '&category='+document.getElementById('thecat').value
             + '&year='+document.getElementById('vc_year').value
             + '&make='+document.getElementById('vc_make').value
             + '&model='+document.getElementById('vc_model').value
             + '&catstring='+document.getElementById('thecatstring').value
             + '&vendstring='+document.getElementById('thevendstring').value;
}

function setVehicleVendor($vendor)
{
    var $vend_string = new String(document.getElementById('vends_'+$vendor).innerHTML);
    document.getElementById('thevend').value = document.getElementById('vends').value;
    document.getElementById('thevendstring').value = $vend_string.replace("&amp;"," and ");
}

function setVehicleCategory($category)
{
    document.getElementById('thecat').value = $category;
    document.getElementById('thecatstring').value = document.getElementById('cats_'+$category).innerHTML;
}

function updateCategories()
{
    clearBox();
    document.getElementById('cats').style.visibility = 'hidden';
    document.getElementById('loadingCats').style.visibility = 'visible';
    document.getElementById('thecat').value = '';
    //document.getElementById('thevend').value = document.getElementById('vends').value;

    var xmlHttp;
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        document.getElementById('selectVendsAndCategories').innerHTML = 'Error!!';
        return;
    }

    if( document.getElementById('thevend').value != '' )
    {
        var http_request = GetXmlHttpObject();
        http_request.onreadystatechange = function() { updateCategoryList(http_request); };
        http_request.open('GET',baseUrl + 'ymm_get_categories.php?vendor=' + document.getElementById('thevend').value
                + '&year='+document.getElementById('vc_year').value + '&make='+document.getElementById('vc_make').value
                + '&model='+document.getElementById('vc_model').value, true);
        http_request.send(null);
    }
}

function updateCategoryList(http_request)
{
  if (http_request.readyState == 4)
  {
    if (http_request.status == 200)
    {
      var xmldoc = http_request.responseXML;
      var root = xmldoc.getElementsByTagName('cats').item(0);
      j=0;
      for (var iNode = 0; iNode < root.childNodes.length; iNode++)
      {
        var node = root.childNodes.item(iNode);
        var cnt = 0;
        for (i = 0; i < node.childNodes.length; i++)
        {
          var sibl = node.childNodes.item(i);
          for (x = 0; x < sibl.childNodes.length; x++)
          {
            cnt +=1;
            if(cnt == 2)
            {
              var sibl3 = sibl.childNodes.item(x);
              document.getElementById('cats').options[j] = new Option(sibl3.data,sibl2.data);
              document.getElementById('cats').options[j].id = 'cats_'+document.getElementById('cats').options[j].value;
              cnt = 0;
              j +=1;
            }
            else
            {
              var sibl2 = sibl.childNodes.item(x);
            }
          }
        }
      }
      document.getElementById('loadingCats').style.visibility = 'hidden';
      document.getElementById('cats').style.visibility='visible';
    }
    else
    {
      alert('There was a problem with the request.');
    }
  }
}

