var yearElement = false;
var modelElement = false;
var locationElement = false;
var valueElement = false;

function trim(temp) {
		var obj = /^(\s*)([\W\w]*)(\b\s*$)/;
	   if (obj.test(temp)) { temp = temp.replace(obj, '$2');}
	   var obj = /  /g;
	   while (temp.match(obj)) { temp = temp.replace(obj, "");}
	   return temp;
}

	function resetCols(){
		obj = document.getElementById('Model');
		for (i = 0; i < obj.options.length; i++) {
			obj.options[i] = null;
		}
		obj.options[0] = new Option("-Any-","");
		
	}

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 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;
					}
				}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;
						
					}
				}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;
					}
					
				}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 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();
}

