var yearElement = false;
var modelElement = false;
var locationElement = false;
var valueElement = false;

function populateValues(colName, val){
	valueElement = false;	
	var obj = '';
	obj = document.getElementById(colName);
	for (i = 0; i < obj.options.length; i++) {
		obj.options[i] = null;
	}
	obj.options[0] = new Option("-Any-","-Any-");
	if(val=='' || val=='-Any-'){
		obj = document.getElementById(colName);

		for (i = 0; i < obj.options.length; i++) {
			obj.options[i] = null;
		}
		obj.options[0] = new Option("-Any-","-Any-");
		return false;
	}
	var Year = '';
	var Make = '';
	var Model = '';
	var Trim = '';
	if(document.getElementById('Year'))
		Year = document.getElementById('Year').value;
	if(document.getElementById('Make'))
		Make = document.getElementById('Make').value;
	if(document.getElementById('Model'))
		Model = document.getElementById('Model').value;
	if(document.getElementById('Trim'))
		Trim = document.getElementById('Trim').value;	
	Year = Year=="-Any-" || Year=="-Year-"?"":Year;
	Make = Make=="-Any-" || Make=="-Make-"?"":Make;
	Model = Model=="-Any-" || Model=="-Model-" ?"":Model;
	Trim = Trim=="-Any-" || Trim=="-Trim-"?"":Trim;

	if(colName=='Year'){
		Year = '';
		Make = '';
		Model = '';
		Trim = '';
	}else if(colName=='Make'){
		Make = '';
		Model = '';
		Trim = '';
	}else if(colName=='Model'){
		Model = '';
		Trim = '';
	}else if(colName=='Trim'){
		Trim = '';
	}
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	if(http_request) {
		var url = "fetchValues.jsp";
		var parms = "newUsed="+newUsed+"&Year="+Year+"&Make="+Make+"&Model="+Model+"&Trim="+Trim;
		parms += "&colName="+colName+"&defaultSelectText=Select "+colName;
		http_request.open ("POST",url, true);	
		http_request.onreadystatechange = function() {
			if(http_request.readyState == 4){
				var response = trim(http_request.responseText);
				if(response.indexOf('~')>0){
					var responseArray = response.split('~');
					var responseCounter = 1;
					obj.options[0] = new Option('-Any-','-Any-');
					while(responseCounter<responseArray.length){
						obj.options[responseCounter] = new Option(responseArray[responseCounter],responseArray[responseCounter]);
						responseCounter+=1;
					}	
				}else{
					for (i = 0; i < obj.options.length; i++) {
						obj.options[i] = null;
					}
					obj.options[0] = new Option("Select "+colName,"-Any-");
				}	
			} 
		} 
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		http_request.send(parms);
	}
	
}

function populateLocation(){
	
	var obj = '';
	var colName = 'Location';
	obj = document.getElementById(colName);
	for (i = 0; i < obj.options.length; i++) {
		obj.options[i] = null;
	}
	obj.options[0] = new Option("-Any-","-Any-");
	
	
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	if(http_request) {
		var url = "fetchValues.jsp";
		var parms = "newUsed="+newUsed;
		parms += "&colName="+colName+"&defaultSelectText=Select "+colName;
		http_request.open ("POST",url, true);	
		http_request.onreadystatechange = function() {
			if(http_request.readyState == 4){
				var response = trim(http_request.responseText);
				populateYear();
				if(response.indexOf('~')>0){
					var responseArray = response.split('~');
					var responseCounter = 1;
					while(responseCounter<responseArray.length){
						obj.options[responseCounter] = new Option(responseArray[responseCounter],responseArray[responseCounter]);
						responseCounter+=1;
					}
					retainValues(document.usedCarSearchFrm.Location, retainLocation);
					if (responseArray.length <= 2) {
						document.getElementById(colName).selectedIndex = 1;
						document.getElementById(colName).disabled = "true";	
					}	
				}else{
					for (i = 0; i < obj.options.length; i++) {
						obj.options[i] = null;
					}
					obj.options[0] = new Option("Select "+colName,"-Any-");
				}
					
			}
		} 
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		http_request.send(parms);
	}
	
}

function populateYear(){
	var colName1 = 'EarlierYear';
	var colName2 = 'LatestYear';
	var obj = '';
	obj1 = document.getElementById(colName1);
	obj2 = document.getElementById(colName2);
	for (i = 0; i < obj1.options.length; i++) {
		obj1.options[i] = null;
	}
	obj1.options[0] = new Option("Any","-Any-");
	for (i = 0; i < obj2.options.length; i++) {
		obj2.options[i] = null;
	}
	obj2.options[0] = new Option("Any","-Any-");
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	if(http_request) {
		var url = "fetchValues.jsp";
		var parms = "newUsed="+newUsed;
		parms += "&colName=Year&defaultSelectText=Select Year";
		http_request.open ("POST",url, true);	
		http_request.onreadystatechange = function() {
			if(http_request.readyState == 4){
				var response = trim(http_request.responseText);
				if(makeVal=='true')
				populateMake();
				if(modelVal=='true')
				populateModel();
				
				if(response.indexOf('~')>0){
					var responseArray = response.split('~');
					var responseCounter = 1;
					obj1.options[0] = new Option('-From-','-Any-');
					obj2.options[0] = new Option('-To-','-Any-');
					while(responseCounter<responseArray.length){
						obj1.options[responseCounter] = new Option(responseArray[responseCounter],responseArray[responseCounter]);
						obj2.options[responseCounter] = new Option(responseArray[responseCounter],responseArray[responseCounter]);
						responseCounter+=1;
					}
					retainValues(document.usedCarSearchFrm.EarlierYear, retainEarlierYear);
					retainValues(document.usedCarSearchFrm.LatestYear, retainLatestYear);	
				}else{
					for (i = 0; i < obj1.options.length; i++) {
						obj1.options[i] = null;
					}
					obj1.options[0] = new Option("Select "+colName1,"-Any-");
					for (i = 0; i < obj2.options.length; i++) {
						obj2.options[i] = null;
					}
					obj2.options[0] = new Option("Select "+colName2,"-Any-");
				}
					
			} 
			
		} 
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		http_request.send(parms);
	}
}

function populateModel(){
	var colName = 'Model';
	var obj = '';
	obj = document.getElementById(colName);
	for (i = 0; i < obj.options.length; i++) {
		obj.options[i] = null;
	}
	obj.options[0] = new Option("Any","-Any-");
	
	var Year = '';
	var Make = '';
	var Model = '';
	var Trim = '';
	if(document.getElementById('Year'))
		Year = document.getElementById('Year').value;
	if(document.getElementById('Make'))
		Make = document.getElementById('Make').value;
	if(document.getElementById('Model'))
		Model = document.getElementById('Model').value;
	if(document.getElementById('Trim'))
		Trim = document.getElementById('Trim').value;	
	Year = Year=="-Any-" || Year=="-Year-"?"":Year;
	Make = Make=="-Any-" || Make=="-Make-"?"":Make;
	Model = Model=="-Any-" || Model=="-Model-" ?"":Model;
	Trim = Trim=="-Any-" || Trim=="-Trim-"?"":Trim;

	if(colName=='Year'){
		Year = '';
		Make = '';
		Model = '';
		Trim = '';
	}else if(colName=='Make'){
		Make = '';
		Model = '';
		Trim = '';
	}else if(colName=='Model'){
		Model = '';
		Trim = '';
	}else if(colName=='Trim'){
		Trim = '';
	}
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	if(http_request) {
		var url = "fetchValues.jsp";
		var parms = "newUsed="+newUsed+"&Year="+Year+"&Make="+Make+"&Model="+Model+"&Trim="+Trim;
		parms += "&colName="+colName+"&defaultSelectText=Select "+colName;
		http_request.open ("POST",url, true);	
		http_request.onreadystatechange = function() {
			if(http_request.readyState == 4){
				var response = trim(http_request.responseText);
				if(response.indexOf('~')>0){
					var responseArray = response.split('~');
					var responseCounter = 1;
					obj.options[0] = new Option('-Any-','-Any-');
					while(responseCounter<responseArray.length){
						obj.options[responseCounter] = new Option(responseArray[responseCounter],responseArray[responseCounter]);
						responseCounter+=1;
						retainValues(document.usedCarSearchFrm.Model, retainModel);
						if(retainModel!='' && retainModel!='-Any-')
							populateTrim();
						else {
							objD = document.usedCarSearchFrm.Trim;
							for (i = 0; i < objD.options.length; i++) {
								objD.options[i] = null;
							}
							objD.options[0] = new Option("-Any-","-Any-");
						}
					}
				}else{
					for (i = 0; i < obj.options.length; i++) {
						obj.options[i] = null;
					}
					obj.options[0] = new Option("Select "+colName,"-Any-");
				}	
			} 
		} 
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		http_request.send(parms);
	}
	
}

function populateMake(){
	var colName = 'Make';
	var obj = '';
	obj = document.getElementById(colName);
	for (i = 0; i < obj.options.length; i++) {
		obj.options[i] = null;
	}
	obj.options[0] = new Option("Any","-Any-");
	
	var Year = '';
	var Make = '';
	var Model = '';
	var Trim = '';
	if(document.getElementById('Year'))
		Year = document.getElementById('Year').value;
	if(document.getElementById('Make'))
		Make = document.getElementById('Make').value;
	if(document.getElementById('Model'))
		Model = document.getElementById('Model').value;
	if(document.getElementById('Trim'))
		Trim = document.getElementById('Trim').value;	
	Year = Year=="-Any-" || Year=="-Year-"?"":Year;
	Make = Make=="-Any-" || Make=="-Make-"?"":Make;
	Model = Model=="-Any-" || Model=="-Model-" ?"":Model;
	Trim = Trim=="-Any-" || Trim=="-Trim-"?"":Trim;

	if(colName=='Year'){
		Year = '';
		Make = '';
		Model = '';
		Trim = '';
	}else if(colName=='Make'){
		Make = '';
		Model = '';
		Trim = '';
	}else if(colName=='Model'){
		Model = '';
		Trim = '';
	}else if(colName=='Trim'){
		Trim = '';
	}
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	if(http_request) {
		var url = "fetchValues.jsp";
		var parms = "newUsed="+newUsed+"&Year="+Year+"&Make="+Make+"&Model="+Model+"&Trim="+Trim;
		parms += "&colName="+colName+"&defaultSelectText=Select "+colName;
		http_request.open ("POST",url, true);	
		http_request.onreadystatechange = function() {
			if(http_request.readyState == 4){
				var response = trim(http_request.responseText);
				if(response.indexOf('~')>0){
					var responseArray = response.split('~');
					var responseCounter = 1;
					obj.options[0] = new Option('-Any-','-Any-');
					while(responseCounter<responseArray.length){
						obj.options[responseCounter] = new Option(responseArray[responseCounter],responseArray[responseCounter]);
						responseCounter+=1;
					}
					retainValues(document.usedCarSearchFrm.Make, retainMake);
					if(retainMake!='' && retainMake!='-Any-')
						populateModel();
					else {
						var objModel = document.usedCarSearchFrm.Model;
						for (i = 0; i < objModel.options.length; i++)
							objModel.options[i] = null;
						objModel.options[0] = new Option('-Any-','-Any-');
					}
				}else{
					for (i = 0; i < obj.options.length; i++) {
						obj.options[i] = null;
					}
					obj.options[0] = new Option("Select "+colName,"-Any-");
				}	
			} 
		} 
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		http_request.send(parms);
	}
	
}

function populateTrim(){
	colName = 'Trim';
	valueElement = false;	
	var obj = '';
	obj = document.getElementById(colName);
	for (i = 0; i < obj.options.length; i++) {
		obj.options[i] = null;
	}
	obj.options[0] = new Option("Any","-Any-");
	
	var Year = '';
	var Make = '';
	var Model = '';
	var Trim = '';
	if(document.getElementById('Year'))
		Year = document.getElementById('Year').value;
	if(document.getElementById('Make'))
		Make = document.getElementById('Make').value;
	if(document.getElementById('Model'))
		Model = document.getElementById('Model').value;
	if(document.getElementById('Trim'))
		Trim = document.getElementById('Trim').value;	
	Year = Year=="-Any-" || Year=="-Year-"?"":Year;
	Make = Make=="-Any-" || Make=="-Make-"?"":Make;
	Model = Model=="-Any-" || Model=="-Model-" ?"":Model;
	Trim = Trim=="-Any-" || Trim=="-Trim-"?"":Trim;

	if(colName=='Year'){
		Year = '';
		Make = '';
		Model = '';
		Trim = '';
	}else if(colName=='Make'){
		Make = '';
		Model = '';
		Trim = '';
	}else if(colName=='Model'){
		Model = '';
		Trim = '';
	}else if(colName=='Trim'){
		Trim = '';
	}
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	if(http_request) {
		var url = "fetchValues.jsp";
		var parms = "newUsed="+newUsed+"&Year="+Year+"&Make="+Make+"&Model="+Model+"&Trim="+Trim;
		parms += "&colName="+colName+"&defaultSelectText=Select "+colName;
		http_request.open ("POST",url, true);	
		http_request.onreadystatechange = function() {
			if(http_request.readyState == 4){
				var response = trim(http_request.responseText);
				if(response.indexOf('~')>0){
					var responseArray = response.split('~');
					var responseCounter = 1;
					obj.options[0] = new Option('-Any-','-Any-');
					while(responseCounter<responseArray.length){
						obj.options[responseCounter] = new Option(responseArray[responseCounter],responseArray[responseCounter]);
						responseCounter+=1;
					}	
					retainValues(document.usedCarSearchFrm.Trim, retainTrim);
				}else{
					for (i = 0; i < obj.options.length; i++) {
						obj.options[i] = null;
					}
					obj.options[0] = new Option("Select "+colName,"-Any-");
				}	
			} 
		} 
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		http_request.send(parms);
	}
	
}

function retainValues(obj, value){
	if (obj) {
		if (obj.options) {
			for (i = 0; i < obj.options.length; i++) {
				if (obj.options[i].value == value) 
					obj.options[i].selected = 'true';
			}
		}
		else {
			obj.value = value;
		}
	}
}

function retainAll(){
		retainValues(document.usedCarSearchFrm.EarliestPrice, retainEarliestPrice);
		retainValues(document.usedCarSearchFrm.LatestPrice, retainLatestPrice);
		retainValues(document.usedCarSearchFrm.EarliestMileage, retainEarliestMileage);
		retainValues(document.usedCarSearchFrm.LatestMileage, retainLatestMileage);
		retainValues(document.usedCarSearchFrm.SearchKeyword, retainKeyword);
}

function removeSearch(id){
	if(id=='Make'){
		if(document.frm_inventory.Make.selectedIndex)
			document.frm_inventory.Make.selectedIndex = 0;
		else document.frm_inventory.Make.value = '';
		if(document.frm_inventory.Model.selectedIndex)
			document.frm_inventory.Model.selectedIndex = 0;
		else document.frm_inventory.Model.value = '';
		if(document.frm_inventory.Trim.selectedIndex)
			document.frm_inventory.Trim.selectedIndex = 0;
		else document.frm_inventory.Trim.value = '';
	}else if(id=='Model'){
		if(document.frm_inventory.Model.selectedIndex)
			document.frm_inventory.Model.selectedIndex = 0;
		else document.frm_inventory.Model.value = '';
		if(document.frm_inventory.Trim.selectedIndex)
			document.frm_inventory.Trim.selectedIndex = 0;
		else document.frm_inventory.Trim.value = '';
	}else if(id=='miles'){
		if(document.frm_inventory.EarliestMileage.selectedIndex)
			document.frm_inventory.EarliestMileage.selectedIndex = 0;
		else document.frm_inventory.EarliestMileage.value = '';
		if(document.frm_inventory.LatestMileage.selectedIndex)
			document.frm_inventory.LatestMileage.selectedIndex = 0;
		else document.frm_inventory.LatestMileage.value = '';
	}else if(id=='years'){
		if(document.frm_inventory.EarlierYear.selectedIndex)
			document.frm_inventory.EarlierYear.selectedIndex = 0;
		else document.frm_inventory.EarlierYear.value = '';
		if(document.frm_inventory.LatestYear.selectedIndex)
			document.frm_inventory.LatestYear.selectedIndex = 0;
		else document.frm_inventory.LatestYear.value = '';
	}else if(id=='prices'){
		if(document.frm_inventory.EarliestPrice.selectedIndex)
			document.frm_inventory.EarliestPrice.selectedIndex = 0;
		else document.frm_inventory.EarliestPrice.value = '';
		if(document.frm_inventory.LatestPrice.selectedIndex)
			document.frm_inventory.LatestPrice.selectedIndex = 0;
		else document.frm_inventory.LatestPrice.value = '';
	}else if(id=='Trim'){
		if(document.frm_inventory.Trim.selectedIndex)
			document.frm_inventory.Trim.selectedIndex = 0;
		else document.frm_inventory.Trim.value = '';
	}else if(id=='Location'){
		if(document.frm_inventory.Location.selectedIndex)
			document.frm_inventory.Location.selectedIndex = 0;
		else document.frm_inventory.Location.value = '';
	}else if(id=='SearchKeyword'){
		document.frm_inventory.SearchKeyword.value = '';
	}else if(id=='StandardFeatures'){
		document.frm_inventory.StandardFeatures.value = '';
	}else if(id=='Color'){
		document.frm_inventory.Color.value = '';
	}else if(id=='Engine'){
		document.frm_inventory.Engine.value = '';
	}else if(id=='bodytype'){
		document.frm_inventory.bodytype.value = '';
	}else if(id=='CityMPG'){
		document.frm_inventory.CityMPG.value = '';
	}else if(id=='HighwayMPG'){
		document.frm_inventory.HighwayMPG.value = '';
	}else if(id=='Transmission'){
		document.frm_inventory.Transmission.value = '';
	}
	/*alert(id);
	alert(document.frm_inventory.StandardFeatures.value);
	alert(document.frm_inventory.Color.value);
	alert(document.frm_inventory.Engine.value);
	alert(document.frm_inventory.bodytype.value);
	alert(document.frm_inventory.CityMPG.value);
	alert(document.frm_inventory.HighwayMPG.value);
	alert(document.frm_inventory.Transmission.value);*/
	
	document.frm_inventory.submit();
}

function showAllVehicles(){
	if(document.usedCarSearchFrm.SearchKeyword)
		document.usedCarSearchFrm.SearchKeyword.value="";
	if (document.usedCarSearchFrm.Make) {
		if(document.usedCarSearchFrm.Make.selectedIndex)
			document.usedCarSearchFrm.Make.selectedIndex = 0;
		else document.usedCarSearchFrm.Make.value = '';
	}
	if (document.usedCarSearchFrm.Model) {
		if(document.usedCarSearchFrm.Model.selectedIndex)
			document.usedCarSearchFrm.Model.selectedIndex = 0;
		else document.usedCarSearchFrm.Model.value = '';
	}
	if (document.usedCarSearchFrm.Trim) {
		if(document.usedCarSearchFrm.Trim.selectedIndex)
			document.usedCarSearchFrm.Trim.selectedIndex = 0;
		else document.usedCarSearchFrm.Trim.value = '';
	}
	if (document.usedCarSearchFrm.EarliestPrice) {
		if(document.usedCarSearchFrm.EarliestPrice.selectedIndex)
			document.usedCarSearchFrm.EarliestPrice.selectedIndex = 0;
		else document.usedCarSearchFrm.EarliestPrice.value = '';
	}
	if (document.usedCarSearchFrm.LatestPrice) {
		if(document.usedCarSearchFrm.LatestPrice.selectedIndex)
			document.usedCarSearchFrm.LatestPrice.selectedIndex = 0;
		else document.usedCarSearchFrm.LatestPrice.value = '';
	}
	if (document.usedCarSearchFrm.EarliestMileage) {
		if(document.usedCarSearchFrm.EarliestMileage.selectedIndex)
			document.usedCarSearchFrm.EarliestMileage.selectedIndex = 0;
		else document.usedCarSearchFrm.EarliestMileage.value = '';
	}
	if (document.usedCarSearchFrm.LatestMileage) {
		if(document.usedCarSearchFrm.LatestMileage.selectedIndex)
			document.usedCarSearchFrm.LatestMileage.selectedIndex = 0;
		else document.usedCarSearchFrm.LatestMileage.value = '';
	}
	if (document.usedCarSearchFrm.EarlierYear) {
		if(document.usedCarSearchFrm.EarlierYear.selectedIndex)
			document.usedCarSearchFrm.EarlierYear.selectedIndex = 0;
		else document.usedCarSearchFrm.EarlierYear.value = '';
	}
	if (document.usedCarSearchFrm.LatestYear) {
		if(document.usedCarSearchFrm.LatestYear.selectedIndex)
			document.usedCarSearchFrm.LatestYear.selectedIndex = 0;
		else document.usedCarSearchFrm.LatestYear.value = '';
	}
	if (document.usedCarSearchFrm.Location) {
		if(document.usedCarSearchFrm.Location.selectedIndex)
			document.usedCarSearchFrm.Location.selectedIndex = 0;
		else document.usedCarSearchFrm.Location.value = '';
	}
	document.usedCarSearchFrm.submit();
}

function showAllList(){
	document.getElementById('listingperpage').value = '100000';
	document.frm_inventory.submit();
}

function validateValues(obj1, obj2){
	var val1 = obj1.value!='NaN'?parseInt(obj1.value):0;
	var val2 = obj2.value!='NaN'?parseInt(obj2.value):0;
	if(val1>val2){
		obj1.value = val2;
		obj2.value = val1;
	}
}

function checkValues(){
	if (document.usedCarSearchFrm.EarliestPrice) {
		if (document.usedCarSearchFrm.LatestPrice) {
			validateValues(document.usedCarSearchFrm.EarliestPrice, document.usedCarSearchFrm.LatestPrice);
		}
	}
	if (document.usedCarSearchFrm.EarliestMileage) {
		if (document.usedCarSearchFrm.LatestMileage) {
			validateValues(document.usedCarSearchFrm.EarliestMileage, document.usedCarSearchFrm.LatestMileage);
		}
	}
	if (document.usedCarSearchFrm.EarlierYear) {
		if (document.usedCarSearchFrm.LatestYear) {
			validateValues(document.usedCarSearchFrm.EarlierYear, document.usedCarSearchFrm.LatestYear);
		}
	}
	document.usedCarSearchFrm.submit();
}

