

(function() {

    var Y = Nb.Lib;

    Nb.Wr.LayerOpener = function() 
    {
        Nb.Wr.LayerOpener.superclass.constructor.apply(this, arguments);
        
        Y.all('.layer-opener').each(function(layerOpener) {
            var layerId = layerOpener.get('rel');
            
            var layer = this.initLayer(layerId);

            layerOpener.on('click', this._onLayerOpenerClick, this, layer);
        }, this);
        
        this.set('loaded', true);
    }
    
    Y.extend(Nb.Wr.LayerOpener, Nb.Core.Component, {
        initLayer : function(layerId)
        {
            var layer = new Nb.Wr.UI.Layer();
            
            var header = Y.one('#' + layerId + '-header').get('innerHTML');
            layer.set('header', header);
            
            var content = Y.one('#' + layerId + '-content').get('innerHTML');
            layer.set('content', content);
            
            if (Y.one('#' + layerId + '-color-schema'))
            {
                var colorSchema = Y.one('#' + layerId + '-color-schema').get('innerHTML');
                layer.set('colorSchema', colorSchema);
            }

            if (Y.one('#' + layerId + '-width'))
            {
                var width = Y.one('#' + layerId + '-width').get('innerHTML');
                layer.set('width', width);
            }
            
            return layer;
        },
        _onLayerOpenerClick : function(event, layer)
        {
            event.preventDefault();
            
            layer.show();

        }
    });
    
})();

