var num=0;
var interval = null;
var mkIndex=0;

function doLists(make,model,engine)  {
model = model.toUpperCase();
make = make.toUpperCase();

if (model == null || model == "")  {
	model = "ANY";
}
	
//alert('doLists - Make=' + make + ', Model=' + model + ', engine=' + engine);
num++;
	if (num < 100)  {
		if (typeof get_makes == 'function' && typeof get_range =='function' && typeof _model=='object' && typeof make_v=='object' && typeof make_d=='object')  {
			get_makes(make);
			if (document.qSearch && document.qSearch.make && typeof document.qSearch.make.selectedIndex == 'number')  {
				mkIndex = document.qSearch.make.selectedIndex;
			}
			get_range(_model[mkIndex],model);
			//get_engines(model, engine);
			clearInterval(interval);
		}
	}
	else {
		clearInterval(interval);
	}
}

function get_makes(req_make)	{
	var dropDown;
	selectedIndex = 0;

	if (document.qSearch && document.qSearch.make)  {
		dropDown = document.qSearch.make;
	}
	else if(document.search && document.search.make)  {
		dropDown=document.search.make;
	}
	else if (document.forms[0] && document.forms[0].make)  {
		dropDown = document.forms[0].make;
	}

	if (dropDown)  {
			dropDown.length = 0;

			for(index=0; index<make_d.length; index++)	{

				dropDown[index] = new Option(make_d[index],make_v[index]);
				//dropDown[index] = new Option(modelArray[0],modelArray[1]);

				if (make_d[index]=="Make" || make_d[index]=="MAKE")  {
					dropDown[index] = new Option(make_d[index],"");
				  }

				if (make_d[index]=="ANY MAKE")  {
					dropDown[index] = new Option(make_d[index],"ANY");
				  }

				if(make_v[index].toUpperCase() == req_make){
					selectedIndex = index;

				}
			  }
			dropDown.options[selectedIndex].selected = true;
		}
		select_make(req_make);
}

function get_range(ranges,req_model,newMake)	{

	selectedIndex = 0;
	var req_model = req_model.toUpperCase();
	var dropDown;
	//alert('ranges=' + ranges + ', Model=' + req_model);

	if (document.qSearch && document.qSearch.model)  {
		dropDown = document.qSearch.model;
	}

	if (dropDown)  {

		if (newMake != 1) {
			//document.qSearch.NewMake.value = 'add new make...';
			//document.qSearch.NewModel.value = 'add new model...';
			//document.qSearch.NewModel.disabled = true;
			//document.qSearch.NewEngine.value = 'add new engine...';
			//document.qSearch.NewEngine.disabled = true;
			}
		
		dropDown.length = 0;

		for(index=0; index<ranges.length; index++)	{

			var modelArray = ranges[index].split("|");

			dropDown[index] = new Option(modelArray[0],modelArray[1]);

			if (ranges[index]=="Model" || ranges[index]=="MODEL")  {
				dropDown[index] = new Option(modelArray[0],"");
			  }

			if (ranges[index]=="ANY MODEL|")  {
				dropDown[index] = new Option(ranges[index],"");
			  }
			
			if(modelArray[1].toUpperCase() == req_model){
				selectedIndex = index;
			}
			else if (ranges[index].toUpperCase() == "ANY MODEL" && req_model == "ANY")  {
				selectedIndex = index;
			}
		}
		
		dropDown.options[selectedIndex].selected = true;
		//alert('get_range - ranges=' + ranges + ', Model=' + req_model + ', selectedIndex=' + selectedIndex);
		if (selectedIndex == 0) {		
		//if (req_model == "ANY") {
			//dropDown.disabled = true;
			//document.qSearch.engine.disabled = true;
			//document.qSearch.NewModel.disabled = false;
			//get_engines('ANY','');
		}
		//else if (req_model == "") {
		//	if (modelArray[1] == "Any") {
		//		dropDown.disabled = true;
		//		}
		//	else {
		//		dropDown.disabled = false;
		//		}
		//	document.qSearch.engine.disabled = true;
		//}
		else {
			dropDown.disabled = false;	
			//document.qSearch.engine.disabled = false;
			//document.qSearch.NewModel.disabled = false;
		}
	}
}

function get_engines(range,req_model) {

	selectedIndex = 0;
	var dropDown;

	ranges1 = eval(range);

	if (document.qSearch && document.qSearch.engine)  {
		dropDown = document.qSearch.engine;
	}
	else if(document.search && document.search.engine)  {
		dropDown = document.search.engine;
	}
	else if (document.forms[0] && document.forms[0].engine)  {
		dropDown = document.forms[0].engine;
	}

	if (dropDown)  {

		dropDown.length = 0;

		for(index=0; index<ranges1.length; index++)	{

			var engineArray = ranges1[index].split("|");

			//dropDown[index] = new Option(ranges[index],ranges[index]);
			dropDown[index] = new Option(engineArray[0],engineArray[1]);

			if (ranges1[index]=="Engine" || ranges1[index]=="ENGINE")  {
				dropDown[index] = new Option(engineArray[0],"");
			  }

			  if (ranges1[index]=="ANY ENGINE|")  {
				dropDown[index] = new Option(ranges1[index],"");
			  }

			if(engineArray[1] == req_model){
				selectedIndex = index;
			}
			else if (ranges1[index].toUpperCase() == "ANY ENGINE" && req_model == "ANY")  {
				selectedIndex = index;
			}
		}
		//alert('get_engines - ranges=' + range + ', Engine=' + req_model + ', selectedIndex=' + selectedIndex);
		if (selectedIndex == 0) {
			//dropDown.disabled = true;
		}
		else {
			dropDown.disabled = false;
			dropDown.options[selectedIndex].selected = true;
			//document.qSearch.NewEngine.disabled = false;	
		}
	}
}

function select_make(req_make)  {
	var dropDown;
	//alert('select_make - req_make=' + req_make);
	if (req_make == null)  {
		req_make="";
	}

	if (document.qSearch && document.qSearch.make)  {
		dropDown = document.qSearch.make;
	}

	if (dropDown)  {
		for (x=0; x<dropDown.length; x++)  {
			mk=dropDown.options[x].value;
			//alert(mk);
			if (mk.toUpperCase()==req_make)  {
				if (dropDown.options[x].selected==false)   {
					dropDown.options[x].selected=true;
				}
			}
		}
	}
}

function select_engine(req_engine)  {
	var dropDown;
	//alert(req_engine);
	if (req_engine == null)  {
		req_engine="";
	}

	if (document.qSearch && document.qSearch.engine)  {
		dropDown = document.qSearch.engine;
	}
	else if(document.search && document.search.engine)  {
		dropDown=document.search.engine;
	}
	else if (document.forms[0] && document.forms[0].engine)  {
		dropDown = document.forms[0].engine;
	}

	if (dropDown)  {
		for (x=0; x<dropDown.length; x++)  {
			eng=dropDown.options[x].value;
			//alert(eng);
			if (eng==req_engine)  {
				if (dropDown.options[x].selected==false)   {
					dropDown.options[x].selected=true;
				}
			}
		}
	}
}