var clMinimizable = Class.create({

    initialize: function(minimizerd , minimizabled, options) {
        this.minimizer = $(minimizerd);
        this.minimizable = minimizabled;

        this.options    = Object.extend({ 
            messageMore: '',
            messageLess: '',
            simbolMore: null,
            simbolLess: null,
            simbolMoreLess_id: null,
            classlinks: null,
            closed: false
            }, options || {});
        this.addObservers();  
    },
    
	
	addObservers: function() {
        this.minimizer.observe('click', this.minimize.bindAsEventListener(this));
        if (this.options.classlinks != null){
            $$('img.class_links').each(function(element) {
                element.observe('click', this.minimize.bindAsEventListener(this));
            });
        }
    },
    
    minimize: function(event) {
        if (this.options.closed == false){
            $(this.minimizable).hide();
            Event.element(event).firstChild.data = this.options.messageMore;
            this.options.closed = true;
        }else{
            $(this.minimizable).show();
            Event.element(event).firstChild.data = this.options.messageLess;
            this.options.closed = false;
        }
        this.verifySimbol();
    },
    
    verifySimbol: function(){
        if (this.options.simbolMoreLess_id != null){
            if (this.options.closed == true){
                $(this.options.simbolMoreLess_id).src = this.options.simbolMore;
            }else{
                $(this.options.simbolMoreLess_id).src = this.options.simbolLess;
            }
        }
    }
})
