(function($) {
    $.widget('ui.simpletabs', {
        _init: function() {
            var self = this, $ui = $(self.element[0]), o = this.options;
			
			$ui.addClass('ui-simpletabs');

			var $list = $('.ui-simpletabs-list', $ui);
			if(!$list.length) {
				$list = $('ul:first', $ui).addClass('ui-simpletabs-list');
			}
			$list.addClass('ui-helper-reset ui-helper-clearfix');
			
			$('li', $list).addClass('ui-state-default ui-corner-top').hover(function() {
				$(this).addClass('ui-state-hover');
			}, function() {
				$(this).removeClass('ui-state-hover');
			});
			
			var tabs = [];
			$('li > a', $list).each(function(i) {
				var id = $(this).attr('href');
				if(id) {
					var $div = $(id, $ui);
					if($div.length) {
						$div.addClass('ui-widget-content').addClass('ui-simpletabs-content');
						tabs.push({
							index: i,
							id: id,
							div: $div
						});
					}
				}
			}).click(function() {
				self.select($(this).attr('href'));
			});
			self._setData('tabs', tabs);
			
			self.select(o.selected || 0);
		},
		
		select: function(id) {
            var self = this, $ui = $(self.element[0]), o = this.options;
			
			if (id !== undefined) {
			    var $list = $('.ui-simpletabs-list', $ui);
    			
			    var tabs = self._getData('tabs');
			    $.each(tabs, function(i, tab) {
				    var $li = $('li:eq(' + tab.index + ')', $list);
				    if(id === i || id === tab.id) {
					    $li.addClass('ui-state-active').addClass('ui-simpletabs-selected');
					    tab.div.addClass('ui-simpletabs-content-selected');
				    } else {
					    $li.removeClass('ui-simpletabs-selected').removeClass('ui-state-active');
					    tab.div.removeClass('ui-simpletabs-content-selected');
				    }
			    });
			}
			else {
			    var $selected = $('.ui-simpletabs-selected a', $ui);
			    if ($selected.length) {
			        return $selected.attr('href');
			    }
			    return '';
			}
		}
    });
})(jQuery);

$.extend($.ui.simpletabs, {
	version: '1.0',
	getter: 'select',
	defaults: {
	}
});