leafm.plugins.ajax_panels = new Class({
	Implements: [Events, Options],
	
	el: '',
	curr_panel: '',
	
	options: {
	},
	
	initialize: function(el, options) {
		this.setOptions(options);
		
		if($(el) && el.hasClass('ajax_panels') && el.getElement('div.nav') && el.getElement('div.viewer')) {
			this.el = $(el);
		} else {
			console.log('[ajax_panels.initialize] Invalid el.');
		}
		
		this.update();
	},
	
	load_panel: function(panel) {
		var obj = this;
		
		obj.el.getElements('div.nav a[class^="ctrl_load_panel_"].selected').removeClass('selected');
		obj.el.getElement('div.nav a[class^="ctrl_load_panel_' + panel + '"]').addClass('selected');
		
		obj.el.getElements('div.viewer div[class^="panel_"].selected').removeClass('selected');
		obj.el.getElement('div.viewer div.panel_' + panel).addClass('selected');
		
		obj.curr_panel = panel;
	},
	
	update: function(name) {
		var obj = this;
		
		switch(name) {
			case undefined:
				obj.el.getElements('div.nav a[class^="ctrl_load_panel_"]').each(function(ctrl) {
					ctrl.addEvent('click', function() {
						var panel = ctrl.get('class').match(/ctrl_load_panel_([a-z0-9_]+)/)[1];
						obj.load_panel(panel);
					});
				});
				break;
		}
	}
});