/*
    Document   : lbgm.maplets.layerspanel
    Created on : 04-Sep-2009, 12:51:45
    Author     : Andreas Hadjigeorgiou
    Description:
        Purpose of the stylesheet follows.
*/

Ext.namespace('lbgm.maplets');


lbgm.maplets.layerspanel = Ext.extend(Ext.Panel, {
    map: null,
    
    initComponent: function() {
        
        lbgm.maplets.layerspanel.superclass.initComponent.call(this);

        // AJAX to load layout
        var conn = new Ext.data.Connection();
        conn.request({
            url: 'src/php/conn/layers.conn.php',
            method: 'POST',
            params: { "request": "loadLayers", "appid": lbgm.layout.appid },
            success: function(responseObject) {
               obj = Ext.util.JSON.decode(responseObject.responseText);
               var tmodel = eval(obj.results);

               // Add items
               var layertree = new lbgm.maplets.layerstree({
                  map: this.map,
                  model: tmodel,
                  showWmsLegend: true,
                  enableDD: true,
                  plugins: [
                    lbgm.maplets.layerstree.createContextualMenuPlugin([
                      'opacitySlide'/*,
                      'remove'*/
                    ])
                  ]
                });

                var helppanel = new Ext.Panel({
                   id: "layertreehelp",
                   title: "Layer Description",
                   height: 200,
                   bodyStyle: "padding: 10px",
                   html: "<p><i>click on a layer above to view the description</i></p>"
                });

                this.add(layertree);
                this.add(helppanel);
            },
            failure: function() {
               Ext.Msg.alert(lbgm.options.appname, 'Unable to load layers.');
            },
            scope: this
        });
    }
});
