var mySlideSearch = new Fx.Slide('advanced_search');
mySlideSearch.hide();

$('s_toggle').addEvent('click', function(e){
  e = new Event(e);
  mySlideSearch.toggle();
  e.stop();
  return false;
});


var SearchBlock = new Class({

    Implements: Options,
    
    options: {
        observed_id:  'categoryList',
        output_id:    'subcategoryList',
        ajax_url:     null
    },

    initialize: function(options) {
        this.setOptions(options);
        this.cache = new Array();
    },
    
    onChange: function() {
        this.loadCategoryList();
    },
    
    loadCategoryList: function() {
        var request = new Request.JSON({
            url: this.options.ajax_url,
            async: true,
            secure: false,
            data: {
                action: 'loadSubcategoryList',
                category_id: $(this.options.observed_id).value
            },
            onSuccess: function(result, text) {
                this.categories = result;
                this.showList();                
            }.bind(this)
        }).send();
    },
    

    
    showList: function() {
        var container = $(this.options.output_id);
        container.empty();
        for(var i = 0; i < this.categories.length; i++) {
            var category = this.categories[i];
            var listItem = new Element('option', {
                value: category.key,
                text:  category.title
            });
            listItem.inject(container);
        }
    } 
});

window.addEvent('domready', function() {
    var searchblock = new SearchBlock(searchblock_options);
    $('categoryList').addEvent('change', function() {
        searchblock.onChange();
    });
});
