var jTabsSelected = new Array();

jQuery.fn.jTabs = function(settings)
{
	$.fn.jTabs.defaults = {
		selected: 1,
		opacity: 0.5,
		effect: 'fade' // { 'fade', 'block' }
	}
	
	var opts = $.extend({}, $.fn.jTabs.defaults, settings);
	
	var id = $(this).attr("id");
	
	var index = 1;
	
	jTabsSelected[id] = opts.selected;
	
	$.fn.jTabs.create = function() {
		
		$("#"+id).attr("class", "jTabs");
		
		var tabs_id = id + "-tab-";
		
		var fields_id = id + "-field-";
		
		$("#"+id+" div.tab").each(function() {
			
			$(this).css('float', 'left');
			$(this).css('cursor', 'pointer');
			
			$(this).attr("id", tabs_id + index);
			
			if (index == jTabsSelected[id]) {
				$(this).addClass("active");
			}
			
			$(this).click(function(){					
				$.fn.jTabs.activate($(this).attr("id"), id);
			});

			index++;
		});
		
		index = 1;
		
		$("#"+id+" div.field").each(function(){
			
			$(this).attr("id", fields_id + index);
			
			if (index == jTabsSelected[id]) {
				$(this).css('display', 'block');
			}
			else {
				$(this).css('display', 'none');
			}
			
			index++;		
		});
	}
	
	$.fn.jTabs.activate = function(tab, id) {
		
		tab = tab.replace(id+"-tab-", '');
		
		var tabs_id = id + "-tab-";
		
		var fields_id = id + "-field-";		
		
		if (tab != jTabsSelected[id]) {
			
			$("#" + tabs_id + jTabsSelected[id]).removeClass("active");
			
			$("#" + fields_id + jTabsSelected[id]).css('display', 'none');
			
			$("#" + tabs_id + tab).addClass("active");
			
			if (opts.effect == 'fade') $("#" + fields_id + tab).fadeIn(200);
			
			else $("#" + fields_id + tab).css('display', 'block');
			
			jTabsSelected[id] = tab;
		}
	}

	$.fn.jTabs.create();
}
