$.mtab = {};
$.mtab.options = {
	classes: {
		toolbar: 'm-tabs',
		show: 'm-tab-show',
		tab: 'm-tab'
	},
	title: 'open tab %s',
	label: 'legend:first',
	tabs : '> fieldset'		
};

/*
	tab on left side, bottom or top
*/
$.fn.mtab = function (o) {
	
	var options = $.extend ({}, $.mtab.options, o);
	
	this.each (function () {
		var $this = $(this);
                
		$this.addClass ('m-tabs-base');
		
		var $tabs = $('<ul/>').addClass (options.classes.toolbar).prependTo (this);
		
		$(options.tabs, this).each (function() {
			var label = $(options.label, this).text();
			$('<li><a href="#tab-' + label + '" title="' + options.title + '">' + label + '</a></li>').appendTo ($tabs);		
		});
		
		$(options.tabs, this).addClass (options.classes.tab);
		$(options.tabs +':first', this).addClass (options.classes.show);
		$('.' + options.classes.toolbar + ' li:first', this).addClass (options.classes.show);

		$('.' + options.classes.toolbar + ' li a').die ('click');
		$('.' + options.classes.toolbar + ' li a').live ('click', function() {
			var $parent = $(this).parents ('.m-tabs-base');
			var index = $(this).parent().prevAll().length;
			var option = $parent[0].mtab;

			$(option.tabs, $parent).removeClass (option.classes.show);
			$(option.tabs + ':eq('+index+')', $parent).addClass (option.classes.show);
			
			$('> .' + option.classes.toolbar + ' li', $parent).removeClass (option.classes.show);
			$(this).parent().addClass (option.classes.show);
						
			//return false;
		});
		
		/*$(this).keydown (function(e) {
			switch (e.keyCode) {
				case 27: // ESC - close select
					$(this).prev().click();
					return false;
				break;
			}	
		});*/				
			
                this.mtab = options;
	});
	
	$.fn.extend ({
		mtabUpdate : function (o) {
			return this.each (function () {
				//var $this = $(this);
			
			});		
		}		
	});
}
