var Mask = function(datas) {
    Mask.superclass.constructor.call(this);
    
    this.addEvents(['show', 'hide'], (datas) ? datas.listeners : null);
    
    this.initialize(datas);
};
BOX.extend(Mask, BOX.Observable, {
    initialize: function(datas) {
        datas.target = datas.target || 'body';
        this.dom = $(datas.html).appendTo(datas.target);
    },
    
    show: function(id, styles) {
        styles = (typeof styles == 'object') ? styles : {};
        styles.display = 'block';
        id = id || this.dom[0].id;
        this.dom.attr('id', id).css(styles);
    },
    
    hide: function() {
        this.dom.css('display', 'none');
    }
});

BOX.Mask = Mask;