Dynamiczny wybor kategorii w ancestry

Witam!
Czy moze wie ktos w jaki sposob zrobic dynamiczne menu wyboru kategii w ancestry?
Chodzi mi o cos podobnego jak jest tutaj http://remysharp.com/wp-content/uploads/2007/09/select-chain.php
Ewentualnie cos takiego jak tutaj http://railscasts.com/episodes/88-dynamic-select-menus

Mam stworzona kategorie z drzewem ancestry. Chcialbym przy tworzeniu nowego AD miec mozliwosc wyboru kategorii zaczynajac od root i kolejno dochodzac do odpowiedniej podkategorii.

Wystartowalem jak w railscast teraz potrzebuje pomocy w modyfikacji dynamic_category.js.erb

var categories = new Array();
<% for category in @categories %>
	category.push(new Array('<%= category.title %>', <%= category.id %>));
<% end -%>

function categorySelected() {
  category_id = $('ad_category_id').getValue();
  options = $('person_state_id').options;
  options.length = 1;
  states.each(function(state) {
    if (state[0] == country_id) {
      options[options.length] = new Option(state[1], state[2]);
    }
  });
  if (options.length == 1) {
    $('state_field').hide();
  } else {
    $('state_field').show();
  }
}

document.observe('dom:loaded', function() {
  countrySelected();
  $('person_country_id').observe('change', countrySelected);
});

Zatrzymalem sie po category_id = $('ad_category_id').getValue(); w jaki sposob zmienic reszte kodu aby po wyborze category.root pokazal wybor dzieci?
_form.html.erb

...
<div class="field">
	<%= f.label(:category_id, "Select Category") %><br >
  <%= f.select(:category_id, @categories.collect {|s| [s.title, s.id]}, :prompt => "Select something") %>
</div>
<% javascript 'dynamic_category' %>

Pozdrawiam

A może jest jakiś inny sposób aby móc wybrać z drzewa kategorii kolejno podkategorie? Może ktoś zna jakieś rozwiązanie?