$(function() {
    var $form = $('form.car-selector');

    var $make = $('select[name=make]', $form);
    var $model = $('select[name=model]', $form);
    var $type = $('select[name=type]', $form);

    $make.change(function() {
        var make = $make.val();
        if (make) {
            $model.empty();
            $model.append($('<option />'));
            for (var key in carDB[make]) {
                $model.append($('<option />').text(key).val(carDB[make][key]));
            }
            $('div.model', $form).show();
            $('div.type', $form).hide();
            $model.val('').focus();
        } else {
            $('div.model, div.type', $form).hide();
        }
    });

    $model.change(function() {
        var model = $model.val();
        if (model) {
            $('div.type', $form).show();
            $type.val('').focus();
        } else {
            $('div.type', $form).hide();
        }
    });

    $type.change(function() {
        var path = '/racks/' + $model.val() + '_' + $type.val() + '.html';
        location = path;
    });

    for (var key in carDB) {
        $make.append($('<option />').text(key));
    }
})