/**
 * jQuery.geeTabs - Adds tab functionality to a page
 * Date: 2010/01/08
 *
 * @author Brian Xerri
 * @version 1.1.0
 * @jQuery Version: jquery-1.3.2.js
 *
 ***************************
 * - Added GoToTab function so can change tab from external source
 *
 * Copyright: GeeMultimedia
 **/

(function($) {
	$.fn.geeTabs = function(options) {
		var settings = $.extend({}, $.fn.geeTabs.defaults, options);

		var o = $.meta ? $.extend({}, settings, $this.data()) : settings;

		var tabContent = $(o.tabbedContentSelector);
		var menuTabs = this.each(function(index) {
			var $this = tabContent.eq(index);

			if(index == 0) {
				var outer_height = $this.outerHeight();
				$this.data('geeTabs', {
						originalHeight: outer_height
					}).css({
							position: 'absolute',
							top: 0
						}).parent().css({
								position: 'relative',
								height: outer_height + 'px'
							});
			}
			else {
				$this.data('geeTabs', {
						originalHeight: $this.outerHeight()
					}).css({
							position: 'absolute',
							top: 0,
							display: 'none'
						});
			}

			$(this).click(function() {
				$.fn.geeTabs.goToTab(index);
				return false;
			});

		});

		$.fn.geeTabs.goToTab = function(tabIndex) {

			if (menuTabs.eq(tabIndex).hasClass('selected') == false)
			{
				var o = $.meta ? $.extend({}, settings, $this.data()) : settings;

				menuTabs.filter('li.selected').removeClass('selected');
				menuTabs.eq(tabIndex).addClass('selected');

				$(o.tabbedContentSelector + '.current').removeClass('current').hide();

				var next = $(o.tabbedContentSelector + ':eq(' + tabIndex + ')');
				next.parent().css({
						height: next.data('geeTabs').originalHeight
					});
				next.stop(true, true).fadeIn(400).addClass('current');
			
			}
			//Cufon.refresh('.tabMenu span');
			return false;
		};
	}

	$.fn.geeTabs.defaults = {
		tabbedContentSelector: '.tabContent li'
	};	

})(jQuery);
