var xmlHttp;
var requestType = "";
var mode = 1;
var xZip;
var modelyearid;
var acode;
var radius;
 
function createXMLHttpRequest(){
	if(window.ActiveXObject){
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if (window.XMLHttpRequest){
		xmlHttp = new XMLHttpRequest();
		mode=2;
	}
}

function createQueryString(){
//alert("I am in the createQuery Function");
//alert(modelyearid);
	var ModelYearID = modelyearid;
	//alert(ModelYearID);
	var queryString = "ModelYearID="+ModelYearID;
	return queryString;
}

function startRequest(requestedList, xmyid, xacode, xradius){
//alert("I have entered startRequest function");
	modelyearid = xmyid;
	acode = xacode;
	radius = xradius;
	requestType = requestedList;
	createXMLHttpRequest();
	var queryString = "/go/criteriaSearch/admstocarsmapping.jsp?";
	//alert("I am creating a query");
	queryString = queryString + createQueryString() + "&timeStamp=" + new Date().getTime();
	//alert("I in the startQuery:"+queryString);
	xmlHttp.onreadystatechange = handleStateChange;
	xmlHttp.open("GET", queryString, true);
	xmlHttp.send(null);
}

function handleStateChange(){
	if(xmlHttp.readyState == 4){
	//alert('This is the readyState:' + xmlHttp.readyState);
	//alert('This is the status:' + xmlHttp.status);
		if(xmlHttp.status != 404){
		//alert('This is the status:' + xmlHttp.status);
			parseResults();
		}
	}
}

function parseResults(){

if (requestType == "used" || requestType == "configurator"){
//if (requestType == "used"){
var theZip = checkZip();
}

if (mode == 1){
//alert('I have set the xmlDoc variable');
//alert(xmlHttp.responseText);
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.loadXML(xmlHttp.responseText);
}else{
var objDOMParser = new DOMParser();
//alert('I created Parser object');
textDoc = xmlHttp.responseText;
var xmlDoc = objDOMParser.parseFromString(textDoc, "text/xml");
}
//alert('Iam the xml Doc:' + xmlDoc);
var Year= xmlDoc.getElementsByTagName("YEAR")[0].firstChild.nodeValue;
//alert(Year);
var Doorcount = xmlDoc.getElementsByTagName("DOOR_COUNT")[0].firstChild.nodeValue;
var DefDataSourceCode = xmlDoc.getElementsByTagName("DEF_DATA_SOURCE_CODE")[0].firstChild.nodeValue;
var BodyStyleDesc = xmlDoc.getElementsByTagName("BODYSTYLE_DESC")[0].firstChild.nodeValue;
var MakeName = xmlDoc.getElementsByTagName("MAKE_NAME")[0].firstChild.nodeValue;
var BodyStyleId = xmlDoc.getElementsByTagName("BODYSTYLE_ID")[0].firstChild.nodeValue;
var TrimId = xmlDoc.getElementsByTagName("TRIM_ID")[0].firstChild.nodeValue;
var TrimName = xmlDoc.getElementsByTagName("TRIM_NAME")[0].firstChild.nodeValue;
var MakeId = xmlDoc.getElementsByTagName("MAKE_ID")[0].firstChild.nodeValue;
var ModelName = xmlDoc.getElementsByTagName("MODEL_NAME")[0].firstChild.nodeValue;
var ModelId = xmlDoc.getElementsByTagName("MODEL_ID")[0].firstChild.nodeValue;
var Myid = xmlDoc.getElementsByTagName("MYID")[0].firstChild.nodeValue;

if (requestType == "used"){
location.href = "http://www.cars.com/go/search/provideZip.jsp?mknm=" + MakeName + "&mdnm=" + ModelName + "&zc=" + theZip + "&rd=" + radius;
}

if (requestType == "configurator"){
location.href = "http://www.cars.com/go/dealersearch/checkConfiguratorZip.jsp?mdnm=" + ModelName + "&mkid=" + MakeId + "&mdid=" + ModelId + "&zc="+ theZip + "&year=" + Year + "&yr=" + Year + "&mknm=" + MakeName + "&ddrd=" + radius + "&rd=" + radius;
} 

if (requestType == "research"){
location.href = "http://research.cars.com/go/crp/research.jsp?section=features&crpPage=features.jsp&makeid=" + MakeId + "&modelid=" + ModelId + "&year=" + Year + "&acode=" + acode+ "&myid=" + Myid;
}
}

