var fmake, fmodel, fderv;
var xmake, xmodel, xderv;
var newDerv = new Array(1);

$(document).ready(function () {
	$('select[name="imake"]').removeAttr("disabled").empty().append('<option value="">Please select...</option>');							
	for (var x = 1; x < arrayMake.length; x++) {
		$('select[name="imake"]').append('<option value="'+x+'">'+arrayMake[x]+'</option>');
	}
	$('select[name="imodel"]').attr("disabled","disabled").empty().append('<option value="">Please select...</option>');	
	$('select[name="fderv"]').attr("disabled","disabled").empty().append('<option value="">Please select...</option>');	
});

function processClick(val,stage) {
	if(stage == 1) {
		if (val == 0) {
			$('select[name="imodel"]').attr("disabled","disabled").empty().append('<option value="">Please select...</option>');	
			$('select[name="fderv"]').attr("disabled","disabled").empty().append('<option value="">Please select...</option>');				
		} else {
			fmake = arrayMake[val];
			xmake = val;
			// if array has only one entry, preselect and move to next stage
			if (arrayModel[xmake].length == 2) {
				$('select[name="imodel"]').removeAttr("disabled").empty().append('<option value="1">'+arrayModel[xmake][1]+'</option>');
				processClick(1,2);
			} else {
				$('select[name="imodel"]').removeAttr("disabled").empty().append('<option value="">Please select...</option>');
				for (var x = 1; x < arrayModel[val].length; x++) {
					$('select[name="imodel"]').append('<option value="'+x+'">'+arrayModel[val][x]+'</option>');
				}			
				$('select[name="fderv"]').attr("disabled","disabled").empty().append('<option value="">Please select...</option>');	
			}
		}
	} else if (stage == 2) {
		if (val == 0) {
			$('select[name="fderv"]').attr("disabled","disabled").empty().append('<option value="">Please select...</option>');				
		} else {
			fmodel = arrayModel[xmake][val];
			xmodel = val;
			generateDerv();
			if (newDerv.length == 1) {
				$('select[name="fderv"]').removeAttr("disabled").empty().append('<option>'+newDerv[0]+'</option>');
				processClick(0,3);
			} else {
				$('select[name="fderv"]').removeAttr("disabled").empty().append('<option value="">Please select...</option>');
				for (var x = 0; x < newDerv.length; x++) {
					$('select[name="fderv"]').append('<option>'+newDerv[x]+'</option>');
				}		
			}	
		}
	} else {
		$('input[name="fmake"]').val(fmake);		
		$('input[name="fmodel"]').val(fmodel);
		$('input[name="pgo"]').removeAttr("disabled");		
	}
}

function generateDerv() {
	newDerv.length = 0;
	var adj = parseInt(xmodel)+2;
	for (x = 3; x < arrayDerv[xmake][adj].length; x++) {
		for (y = 3; y < arrayDerv[xmake][adj][x].length; y++) {
			newDerv.push(arrayDerv[xmake][adj][x][y]);
		}
	}
	newDerv = newDerv.sort();
}
