var legacyvehicleid;
var enginelegacyid;

var year;
var make;
var model;
var submodel;
var partType;
var brand;
var addOne;
var addTwo;
var partNum;
var partTerminology;

var xmlHttpYear;
var xmlHttpMake;
var xmlHttpModel;
var xmlHttpPartType;
var xmlHttpEngine;
var xmlHttpBrand;
var xmlHttpAddOne;
var xmlHttpAddTwo;
var xmlHttpPartNum;
var xmlHttpLoad;

function setVehicleId(vlegacyvehicleid) {
 legacyvehicleid = vlegacyvehicleid;
}

function setVehicle(vyear, vmake, vmodel, vsubmodel, venginelegacyid) {
 year=vyear;
 make=vmake;
 model=vmodel.replace("&", "%26");
 submodel=vsubmodel;
 enginelegacyid = venginelegacyid;
 pickedYear(year);
}

function setPart(ppartTerminology) {
 partTerminology = ppartTerminology;
}

function updateYear(y) {
 year=y;
 toggleImage("on");
 pickedMake();
}

function updateMake(m) {
 make=m;
 toggleImage("on");
 pickedModel();
}

function updateModel(m) {
 var splitResult = m.split("|");
 model=splitResult[0].replace("&", "%26");
 submodel=splitResult[1];
 toggleImage("on");
 pickedEngine();
}

function updateEngine(e) {
 enginelegacyid=e;
 toggleImage("on");
 pickedPartType();
}

function updatePartType(plegacyvehicleid, p) {
 legacyvehicleid = plegacyvehicleid;
 partTerminology = p;
 partType=p;
 toggleImage("on");
 pickedAddOne();
}

function updateAddOne(pn) {
 partNum = pn;
 toggleImage("on");
 pickedPartNum();
}

function updatePartNum(p) {
 partNum=p;
 toggleImage("on");
}

function pickedYear(year) { 
 xmlHttpYear=GetXmlHttpObject()
 if (xmlHttpYear==null) {
  alert ("Browser does not support HTTP Request");
  return;
 }

 var url="skin1/includes/3.2/getyear.php?year="+year+"&sid="+Math.random();
 xmlHttpYear.onreadystatechange=stateChangedYear; 
 xmlHttpYear.open("GET",url,true);
 xmlHttpYear.send(null);
}

function pickedMake() { 
 xmlHttpMake=GetXmlHttpObject()
 if (xmlHttpMake==null) {
  alert ("Browser does not support HTTP Request");
  return;
 }

  if (year != "") {
  var url="skin1/includes/3.2/getmake.php?year="+year+"&make="+make+"&sid="+Math.random();
  xmlHttpMake.onreadystatechange=stateChangedMake; 
  xmlHttpMake.open("GET",url,true);
  xmlHttpMake.send(null);
 }
}

function pickedModel() { 
 xmlHttpModel=GetXmlHttpObject()
 if (xmlHttpModel==null) {
  alert ("Browser does not support HTTP Request");
  return;
 }

 if (make != "") {
  var url="skin1/includes/3.2/getmodel.php?year="+year+"&make="+make+"&model="+model+"&submodel="+submodel+"&sid="+Math.random();
  xmlHttpModel.onreadystatechange=stateChangedModel; 
  xmlHttpModel.open("GET",url,true);
  xmlHttpModel.send(null);
 }
}

function pickedEngine() { 
 xmlHttpEngine=GetXmlHttpObject()
 if (xmlHttpEngine==null) {
  alert ("Browser does not support HTTP Request");
  return;
 }

 if (model != "") {
  var url="skin1/includes/3.2/getengine.php?year="+year+"&make="+make+"&model="+model+"&submodel="+submodel+"&enginelegacyid="+enginelegacyid+"&sid="+Math.random();
  xmlHttpEngine.onreadystatechange=stateChangedEngine; 
  xmlHttpEngine.open("GET",url,true);
  xmlHttpEngine.send(null);
 }
}

function pickedPartType() { 
 xmlHttpPartType=GetXmlHttpObject()
 if (xmlHttpPartType==null) {
  alert ("Browser does not support HTTP Request");
  return;
 }

 if (enginelegacyid != "") {
  var url="https://www.partshighway.com/pages.php?pageid=17&year="+year+"&make="+make+"&model="+model+"&submodel="+submodel+"&enginelegacyid="+enginelegacyid+"&partTerminology="+partTerminology+"&sid="+Math.random();
  window.location = url;
/*
  xmlHttpPartType.onreadystatechange=stateChangedPartType; 
  xmlHttpPartType.open("GET",url,true);
  xmlHttpPartType.send(null); */
 }
}

function pickedAddOne() { 
 xmlHttpAddOne=GetXmlHttpObject()
 if (xmlHttpAddOne==null) {
  alert ("Browser does not support HTTP Request");
  return;
 }

 if (partTerminology != "") {
  var url="skin1/includes/3.2/getaddone.php?legacyvehicleid="+legacyvehicleid+"&partTerminology="+partTerminology+"&year="+year+"&make="+make+"&model="+model+"&sid="+Math.random();

  xmlHttpAddOne.onreadystatechange=stateChangedAddOne; 
  xmlHttpAddOne.open("GET",url,true);
  xmlHttpAddOne.send(null);
 }
}

function pickedPartNum() { 
 xmlHttpPartNum=GetXmlHttpObject()
 if (xmlHttpPartNum==null) {
  alert ("Browser does not support HTTP Request");
  return;
 }
 if (partNum != "" && partNum != undefined) {
  var url="skin1/includes/3.2/getpartnum.php?legacyvehicleid="+legacyvehicleid+"&partTerminology="+partTerminology+"&partNum="+partNum+"&sid="+Math.random();
  xmlHttpPartNum.onreadystatechange=stateChangedPartNum; 
  xmlHttpPartNum.open("GET",url,true);
  xmlHttpPartNum.send(null);
 }
}

function toggleImage(display) { 
 xmlHttpLoad=GetXmlHttpObject()
 if (xmlHttpLoad==null) {
  alert ("Browser does not support HTTP Request");
  return;
 }

  var url="skin1/includes/3.2/getimage.php?display="+display;
  xmlHttpLoad.onreadystatechange=stateChangedLoad; 
  xmlHttpLoad.open("GET",url,true);
  xmlHttpLoad.send(null);
}

function stateChangedYear() { 
if (xmlHttpYear.readyState==4 || xmlHttpYear.readyState=="complete") { 
  document.getElementById("year_list").innerHTML=xmlHttpYear.responseText;
  pickedMake();
 } 
}

function stateChangedMake() { 
 if (xmlHttpMake.readyState==4 || xmlHttpMake.readyState=="complete") { 
  document.getElementById("make_list").innerHTML=xmlHttpMake.responseText;
  pickedModel(); 
  toggleImage("off");
 } 
}

function stateChangedModel() { 
 if (xmlHttpModel.readyState==4 || xmlHttpModel.readyState=="complete") { 
  document.getElementById("model_list").innerHTML=xmlHttpModel.responseText; 
  pickedEngine(); 
  toggleImage("off");
 } 
}

function stateChangedEngine() { 
 if (xmlHttpEngine.readyState==4 || xmlHttpEngine.readyState=="complete") { 
  document.getElementById("engine_list").innerHTML=xmlHttpEngine.responseText; 
  pickedPartType();
  toggleImage("off");
 } 
}

function stateChangedPartType() { 
 if (xmlHttpPartType.readyState==4 || xmlHttpPartType.readyState=="complete") { 
  document.getElementById("part_type_list").innerHTML=xmlHttpPartType.responseText; 
  pickedAddOne();
  toggleImage("off");
 } 
}

function stateChangedAddOne() { 
 if (xmlHttpAddOne.readyState==4 || xmlHttpAddOne.readyState=="complete") { 
  document.getElementById("add_one_list").innerHTML=xmlHttpAddOne.responseText; 
  pickedPartNum();  
  toggleImage("off");
 } 
}

function stateChangedPartNum() { 
 if (xmlHttpPartNum.readyState==4 || xmlHttpPartNum.readyState=="complete") { 
  document.getElementById("add_part_num").innerHTML=xmlHttpPartNum.responseText; 
  toggleImage("off");
 } 
}

function stateChangedLoad() { 
 if (xmlHttpLoad.readyState==4 || xmlHttpLoad.readyState=="complete") { 
  document.getElementById("load").innerHTML=xmlHttpLoad.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;
}
