// JavaScript Document
var oXmlHttp
var vehType
var browser


function showModels(str,varType,brwType)
{
var url="/includes/getModels.cfm?makeId=" + str + "&makeType=" + varType
browser = brwType
vehType = varType
oXmlHttp=GetHttpObject(makeChanged)
oXmlHttp.open("GET", url , true)
oXmlHttp.send(null)

}

function showYears(str,varType,brwType)
{
var url="/includes/getYears.cfm?modelId=" + str + "&makeType=" + varType
browser = brwType
vehType = varType
oXmlHttp=GetHttpObject(modelChanged)
oXmlHttp.open("GET", url , true)
oXmlHttp.send(null)

}

function showMakes(varType,brwType)
{
var url="/includes/getMakes.cfm?makeType=" + varType
browser = brwType
vehType = varType
oXmlHttp=GetHttpObject(typeChanged)

oXmlHttp.open("GET", url , true)
oXmlHttp.send(null)

}


function makeChanged()
{
	if (oXmlHttp.readyState==4 || oXmlHttp.readyState=="complete")
	{		
		document.getElementById("div_Model").innerHTML=oXmlHttp.responseText
		
		//query years for default model when make is changed
		showYears(document.getElementById("sel_model").value,vehType,browser)
	}
		
}

function modelChanged()
{
	if (oXmlHttp.readyState==4 || oXmlHttp.readyState=="complete")
	{		
		document.getElementById("td_Year").innerHTML=oXmlHttp.responseText
	}
}

function typeChanged()
{
	if (oXmlHttp.readyState==4 || oXmlHttp.readyState=="complete")
	{		
		document.getElementById("div_Make").innerHTML=oXmlHttp.responseText
		showModels(document.getElementById("sel_make").value,vehType,browser)
	}
}


function GetHttpObject(handler)
{
  	var oRequester
	var oRoute
	
	
	if (browser == 'ie8')
	{
		oRoute = 1
	}
	else if (browser == 'ie7')
	{
		oRoute = 1
	}
	else if (browser == 'ie6')
	{
		oRoute = 1
	}
	else if (browser == 'ie5')
	{
		oRoute = 1
	}		
	else
	{
		oRoute = 3
	}
	
	switch(oRoute)
	{
	case 1:	  
	  oRequester = new ActiveXObject("Microsoft.XMLHTTP")
	  oRequester.onreadystatechange=handler
	  return oRequester
	  break;    
	case 2:	  
	  oRequester = new ActiveXObject("Msxml2.XMLHTTP")
	  oRequester.onreadystatechange=handler
	  return oRequester
	  break
	case 3:
	  oRequester = new XMLHttpRequest()
	  oRequester.onload=handler
	  oRequester.onerror=handler
	  return oRequester
	  break	  
	default:
	  oRequester = new XMLHttpRequest()
	  oRequester.onload=handler
	  oRequester.onerror=handler
	  return oRequester	  
	} // end switch
			
		
}