if(typeof vakdrogist=='undefined') {
    var vakdrogist = {};
}
vakdrogist.FilterNav = Class.create({
    config: {
        MAX_FILTER_NAV_POINTS: 20
    },

    initialize: function(el) {
        this._element = el;

        this._box = $(el.parentNode);
  
        this._to_hide = [];
        this._visible = true;
        el.select('li')
          .each(function(x,i) {
                    var threshold= this.config.MAX_FILTER_NAV_POINTS ;
   
                    if (i >= threshold) {
                        this._to_hide.push(x);
                    }
                }, this);
        if (this._to_hide.length > 0) {
            // add a more button
            this._button = new Element('li', {'class': 'more'}).addClassName('last').update(
                new Element('a').update("More").observe('click', this.onClick.bindAsEventListener(this))
            );

            el.insert({bottom: this._button});
            this.showHide(false);
        }
    },

    // button clicked
    onClick: function(e) {
        this.showHide(!this._visible);
    },

    // show-hide toggle
    showHide: function(status) {
        this._to_hide.invoke(status ? 'show' : 'hide');
        this._button.firstChild.update( status ? 'Less' : 'More');
        
        if(status) {
           this._button.firstChild.removeClassName('more');
           this._button.firstChild.addClassName('less');
        }
        else {
           this._button.firstChild.removeClassName('less');
           this._button.firstChild.addClassName('more');
        }
        this._visible = status ? true : false;
    }
});

document.observe("dom:loaded", function() {  
    $$('.block-layered-nav ol').each(function(x) {
        new vakdrogist.FilterNav(x);
    });
});
