function addOption(parent,child) {
	try {parent.options.add(child)}
	catch(e) {parent.appendChild(child)}
}

function setMakes(form,element,includeOther) {
	if(!form) {form = document.forms[0]}
	if(typeof(form)=="string") {form = document[form]}
	
	if(!element) {element = form.make}
	if(typeof(element)=="string") {element = form[element]}
	
	if(element) {
		for(var i=element.options.length-1;i>-1;i--) {
			element.remove(i)
		}
	
		var newElement = document.createElement("option")
		newElement.text = "--- All Makes ---"
		newElement.value = "undefined"
		addOption(element,newElement)
		
		for(var i in make_models) {
			newElement = document.createElement("option")
			newElement.text = i
			newElement.value = i
			addOption(element,newElement)
				
		}
		
		if(includeOther) {
			newElement = document.createElement("option")
			newElement.text = "Other"
			newElement.value = "other"
			addOption(element,newElement)
		}
		
		if(form["h_"+element.name]) {
			if(form["h_"+element.name].value) {
				for(var i=0;i<element.options.length;i++) {
					if(element.options[i].value == form["h_"+element.name].value) {element.selectedIndex=i}
				}
			}
			
			setModel(element)
			
		}
	}
	
}

function setModel(element,modelElement,includeOther) {
	
	var form = element.form
	
	if(!modelElement) {modelElement="model"}
	if(typeof(modelElement)=="string") {modelElement = form[modelElement]}
	
	for(var i=modelElement.options.length-1;i>-1;i--) {
		modelElement.remove(i)
	}
	
	//var make = make_models[element.options[element.selectedIndex].value]
	var make = make_models[element.options[element.selectedIndex].value]
	
	var newElement = document.createElement("option")
	newElement.value = "undefined"
	
	
	if(make) {
		modelElement.disabled = false
		newElement.text = "--- All Models ---"
		
	}
	
	else {
		newElement.text = "--- Select Make Above ---"
		modelElement.disabled = true
	}
	
	addOption(modelElement,newElement)
	
	if(make) {
		for(var i=0;i<make.length;i++) {
			newElement = document.createElement("option")
			newElement.text = make[i]
			newElement.value = make[i]
			addOption(modelElement,newElement)
		}
	}
	
	if(includeOther) {
		newElement = document.createElement("option")
		newElement.text = "Other"
		newElement.value = "other"
		addOption(modelElement,newElement)
	}
	
	if(form["h_"+modelElement.name]) {
		if(form["h_"+modelElement.name].value) {
			for(var i=0;i<modelElement.options.length;i++) {
				
				if(modelElement.options[i].value == form["h_"+modelElement.name].value) {modelElement.selectedIndex=i}
			}
		}
	}
	
	
}
	



function resetFormFromDrop(element,target,formname) {
	var form = formname ? document.forms[formname] : document.forms[0]
	var targetElement = form[target ? target : element.name]
	targetElement.value = element.options[element.selectedIndex].value
	
	form.submit()
}
	