/*
 * controls make/model select boxes
 * aMake [required] - id (OR object) of make element
 * aModel [required] - id of model element
 * aSelected - selected category by default (ID)
 * aFile - XML file with categories data
 */
function sbrMakeModel(aMake, aModel, aSelected, aFile)
{
	var data = '';
	aFile = !aFile ? 'tmp/autos.xml' : aFile;
	aSelected = !aSelected ? 0 : aSelected;
	
	aMake = 'object' == typeof aMake ? aMake : $('#' + aMake);
	aModel = 'object' == typeof aModel ? aModel : $('#' + aModel);

	aModel.attr('disabled', 'disabled');
	
	aMake.bind('change', function(){
		var opt = '';

		var make_data = $('make[id="' + aMake.val() + '"]', data);
		$('model', make_data).each(function() {
			opt += '<option value="' + $(this).attr('id') + '">' + $(this).text() + '</option>';
		});
		aModel.html( opt );
		opt ? aModel.removeAttr('disabled') : aModel.attr('disabled', 'disabled');
	});

	// fetch available models
	$.ajax({
		type: "GET",
		url: aFile,
		dataType: "xml",
		success: function(res) {
			data = res;
			if (data)
			{
				build_makes();
				sel_default( aSelected );
			}
		}
	});

	// fill Makes select box with options
	function build_makes()
	{
		var opt = '';
		$('make', data).each(function() {
			opt += '<option value="' + $(this).attr('id') + '">' + $(this).find('name').text() + '</option>';
		});
		aMake.append( opt );
	}

	// select model
	function sel_default(aModelID)
	{
		var make_id = $('model[id="' + aModelID + '"]', data).parents('make').attr('id');
		if (make_id)
		{
			aMake.val( make_id ).change();
			aModel.val( aModelID );
		}
	}
}

