function getXmlHttp()
{
	var xmlhttp;
	if (window.XMLHttpRequest)
	{
	  // code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
	 
	}
	else if (window.ActiveXObject)
  	{
  		// code for IE6, IE5
  		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  	}
	else
  	{
  		alert("Your browser does not support XMLHTTP!");
  	}
  	return xmlhttp;
}

function getModels(modelVal)
{
	var xmlhttp = getXmlHttp();
	
  	var modelObj = document.cust.model;
  	
	xmlhttp.onreadystatechange=function()
	{
		if(xmlhttp.readyState==4)
  		{
  			enableObj(modelObj,xmlhttp, modelVal);
  		}
	}
	var makeSel = document.cust.make.options[document.cust.make.selectedIndex].value;
	if(makeSel == "Any") {
		disableObj(modelObj,"Any");
	}
	else 
	{
		var urlStr = "/asp/GetModels.asp?cat=6001&make=" + makeSel ;
		xmlhttp.open("GET",urlStr,true);
		xmlhttp.send(null);
	}
}

function enableObj(obj,xmlhttp,modelVal){
	while ( obj.options.length ) obj.options[0] = null;
	var Tokens = xmlhttp.responseText.split("|");
	var idx = 0;
	for(token in Tokens)
	{
		option = new Option(Tokens[token],Tokens[token]);
		obj.options[obj.length] = option;
		if (modelVal != "" && modelVal == Tokens[token])
			idx = obj.length - 1;
	}
	// document.cust.model.selectedIndex = idx;
	obj.selectedIndex = idx;
	obj.disabled=false;
}
function disableObj(obj,optionVal){
	while ( obj.options.length ) obj.options[0] = null;
	option = new Option(optionVal,optionVal);
	obj.options[obj.length] = option;
	obj.disabled=true;
}


function search(pn, soIndex) {

	showSearching();
	// selection
	var makeSel = getSelectedValue(document.cust.make);
	var modelSel = getSelectedValue(document.cust.model);
	var yearSel = getMultiSelectedValue(document.cust.year);
	var transSel = getSelectedValue(document.cust.transmission);
	var titleSel = getSelectedValue(document.cust.vehicletitle);
	var awdSel = getSelectedValue(document.cust.awd);
	var mileageSel = getSelectedValue(document.cust.mileage);
	var forsalebySel = getSelectedValue(document.cust.forsaleby);
	var fueltypeSel = getSelectedValue(document.cust.fueltype);
	var conditionSel = getSelectedValue(document.cust.condition);
	var radiusSel = getSelectedValue(document.cust.radius);
	// text
	var zipcodeSel = document.cust.zipcode.value;

	var xmlhttp = getXmlHttp();
	xmlhttp.onreadystatechange=function()
	{
		if(xmlhttp.readyState==4)
  		{
  			showResult(xmlhttp);
  		}
	}
	var urlStr = "/asp/GetSearch.asp?cat=6001&make=" + escape(makeSel) + "&model=" + escape(modelSel) + "&year=" + escape(yearSel);
	urlStr = urlStr + "&transmission=" + escape(transSel) + "&vehicletitle=" + escape(titleSel) + "&awd=" + escape(awdSel) + "&mileage=" + escape(mileageSel);
	urlStr = urlStr + "&forsaleby=" + escape(forsalebySel) + "&fueltype=" + escape(fueltypeSel) ;
	urlStr = urlStr + "&condition=" + escape(conditionSel) + "&zipcode=" + escape(zipcodeSel) + "&radius=" + escape(radiusSel);
	urlStr = urlStr + "&pn=" + String(pn) + "&sortOrder=" + String(soIndex);
//alert(urlStr);
	xmlhttp.open("GET",urlStr,true);
	xmlhttp.send(null);
}

function getSelectedValue(obj) {
	var val = '';
	if (obj.selectedIndex > -1)
		val =  obj.options[obj.selectedIndex].value;
	return val;
}

function getMultiSelectedValue(obj) {
	var arr = new Array();
	var val = '';
	if (obj.selectedIndex > -1) {
		for (var ii=0; ii<obj.options.length; ii++) {
			if (obj.options[ii].selected)
				arr.push(obj.options[ii].value);
		}
		val = arr.join(',');
	}
	return val;
}

function showResult(xmlhttp) {
	document.getElementById("SEOResult").innerHTML=xmlhttp.responseText;
}

function showSearching() {
	document.getElementById("SEOResult").innerHTML='Searching . . .';
}

// video ajax
function searchVideo(year, make, model) {

	// selection
	var xmlhttp = getXmlHttp();
	xmlhttp.onreadystatechange=function()
	{
		if(xmlhttp.readyState==4)
  		{
  			showVideoResult(xmlhttp);
  		}
	}
	var urlStr = "/asp/GetVideo.asp?make=" + escape(make) + "&model=" + escape(model) + "&year=" + escape(year);
	//alert(urlStr);
	xmlhttp.open("GET",urlStr,true);
	xmlhttp.send(null);
}
function showVideoResult(xmlhttp) {
	document.getElementById("divVideo").innerHTML=xmlhttp.responseText;
}


function getPriceModels(SiteId, modelVal)
{
	var xmlhttp = getXmlHttp();
	
  	var modelObj = document.cust.model;
  	var yearObj = document.cust.theyear;
  	
	xmlhttp.onreadystatechange=function()
	{
		if(xmlhttp.readyState==4)
  		{
  			enableObj(modelObj,xmlhttp, modelVal);
  			// enableObj(yearObj,xmlhttp, 'Any');
  		}
	}
	var makeSel = document.cust.make.options[document.cust.make.selectedIndex].value;
	if(makeSel == "Any") {
		disableObj(modelObj,"Any");
		disableObj(yearObj,"Any");
	}
	else 
	{
		var urlStr = "/asp/GetPriceModels.asp?siteid=" + SiteId + "&t=model&make=" + escape(makeSel) ;
		xmlhttp.open("GET",urlStr,true);
		xmlhttp.send(null);
	}
}

function getPriceYears(t, SiteId, makeVal, modelVal, yearVal)
{
	var xmlhttp = getXmlHttp();
  	var yearObj = document.cust.theyear;
	xmlhttp.onreadystatechange=function()
	{
		if(xmlhttp.readyState==4)
  		{
  			enableObj(yearObj,xmlhttp, yearVal);
  		}
	}

	var makeSel = makeVal;
	var modelSel = modelVal;
	if (t == 0) 
	{
		makeSel = document.cust.make.options[document.cust.make.selectedIndex].value;
		modelSel = document.cust.model.options[document.cust.model.selectedIndex].value;
	}
	
	if(makeSel == "Any") {
		disableObj(yearObj,"Any");
	}
	else 
	{
		var urlStr = "/asp/GetPriceModels.asp?siteid=" + SiteId + "&t=year&make=" + escape(makeSel) + "&model=" + escape(modelSel);
		xmlhttp.open("GET",urlStr,true);
		xmlhttp.send(null);
	}
}
