Xsn.RssElements = {};

Xsn.RssElements.Dialog = function(){
	this.el = Ext.get(document.body).createChild({tag:'div'});
 	this.addEvents({'rssadd':true});
	this.init();
}

Ext.extend(Xsn.RssElements.Dialog, Ext.util.Observable, {
		feeds : null,
		main : null,
		
		init : function(){
	       	var dlg = new Ext.LayoutDialog(this.el, {
                modal:true,
                width:750,
                title: 'Selecteer de gewenste berichten',
                autoCreate: true,
                height:400,
                closable:false,
                draggable:true,
                collapsible:false,
                animateTarget:null,
                resizable:false,                
                shadow:true,
                minWidth:300,
                minHeight:300,
                west: {
                    split:true,
                    initialSize: 250,
                    minSize: 100,
                    useShim:true,                                
                    maxSize: 350,
                    titlebar: true,
                    collapsible: true,
                    autoScroll: true,
                    animate: true
                },
                center: {
                    titlebar: true,
                    autoScroll:false
                }
	        });
	        dlg.addKeyListener(27, dlg.hide, dlg);

            dlg.addButton('Selecteer', function(){
				var posts = main.root.getSerializedNodeChecks();
				var url;
				if (feeds.getSelectionModel().getSelectedNode()) url = feeds.getSelectionModel().getSelectedNode().attributes.url;
				else url = '';
				this.fireEvent('rssadd', url, posts);
			}, this);
            dlg.addButton('Annuleer', dlg.hide, dlg);                    
            dlg.on('show', dlg.layout.layout, dlg.layout, true);

            var layout = dlg.getLayout();
			var feedsPanel = layout.getEl().createChild({tag:'div'});				

			feeds = new Xsn.RssElements.FeedPanel(feedsPanel);

			var mainPanel = layout.getEl().createChild({tag:'div'});				
			main = new Xsn.RssElements.MainPanel(mainPanel);

		    feeds.on('feedselect', function(feed){
		     	main.loadFeed(feed.url);
		    });

			layout.beginUpdate();
			layout.add('west', new Ext.ContentPanel(feedsPanel, {title: 'Beschikbare rubrieken', tree: feeds, autoScroll:true, fitToFrame: true}));
            layout.add('center', new Ext.ContentPanel(mainPanel, {title: 'Berichten', tree: main, autoScroll:true, fitToFrame: 'true'}));
            layout.endUpdate();					

			this.feeds = feeds;
			this.main = main;
            this.dlg = dlg;
			
		},
	
        show : function(id){
			this.main.reset();
          	this.dlg.show();
        },
        
        hide : function(){
			this.dlg.hide();	
		},

		destroy : function(){
			this.dlg.destroy(true);	
		}
		
});


