/*
 * AT_tabs.js - A jQuery Plugin
 * A jQuery plugin for creating carousels.
 *
 * By Andy Tennison (andrew@tennisons.com / http://www.tennisons.com)
 *
 * Version 1.0.1
 * September 16th, 2009
 *
 * Copyright (c) 2009 Andy Tennison
 * Dual licensed under the MIT and GPL licenses.
*/

(function($) {
	$.fn.AT_tabs = function(options) {
		var opts = $.extend({}, $.fn.AT_tabs.defaults, options);
				
		return this.each(function(ii){
			$t = $(this);

			var i = 0;

			$t.find(opts.tab_button).each(function(){
				if($(this).attr('href') != '#'){ 							//prevents an error when # is returned
					var realContent = $t.siblings($(this).attr('href'));	//var of related content ID
					if(realContent.length){									//checks related content exists
						if(i === 0){										//sets state for first real item
							$(this).parent().addClass('on');
							$t.siblings($(this).attr('href')).addClass(opts.tab_content_on);
						}
						i++;
					}else{$(this).parent().addClass('disabled')}			//disables non active buttons
				} else {$(this).parent().addClass('disabled')}				//same
				
				$(this).bind("mouseenter mouseleave", function(e){
					if(!$(this).parent().hasClass('disabled')){
				        $(this).parent('li').toggleClass("hover");					
					}
			    });


				$(this).bind('click focus', function(e){
					e.preventDefault();
					if(!$(this).parent().hasClass('disabled') || !$(this).parent().hasClass('on')){
						var content = $t.siblings($(this).attr('href'));
						
						$t.find('.on').removeClass('on');					//turns OFF current tab
						$t.siblings(opts.tab_content+':visible').css({display:'none'})
						
						$(this).parent().addClass('on');					//turns ON new tab
						$(content).css({display:'block'});					
					};
				});
				

			});
				
		}); // end #tabs
		
	}; // end plugin AT_tabs


// end of closure
})(jQuery);

$.fn.AT_tabs.defaults = {
	test: 'test',
	tab_button:'li a',
	tab_content:'.tab_content',
	tab_content_on:'tab_on'
};
