// jq_tabs.js

//------------------------------------------------------------------------
$.fn.tabs = function(o)
	{
	for (var i=0; i<o.tabs.length; ++i)
		{
		var t = o.tabs[i];
		$(_div).addClass("tab")
		.attr("tabid",t.id)
		.append($(_a)
					.addClass("tabLabel")
					.html(t.label)
					.css({marginLeft:60})
					.hover(function(){$(this).addClass("tabLabelOver");},
							function(){$(this).removeClass("tabLabelOver");})
					.bind("click",function(){
						var lbl = $(this);
						var cont = lbl.parent().next("div.tabContent");
						var but1 = lbl.next("a.tabLabel");
						var but2 = but1.next("a.tabLabel");
						
						if (cont.attr("hid")) {
							cont.show().removeAttr("hid");
							but1.show();
							but2.show();
						}
						else {
							cont.hide().attr("hid", true);
							but1.hide();
							but2.hide();
						}
					})
				)
		.append($(_a)
					.addClass("tabctl tabLabel arrow")
					.html("-")
					.css({marginLeft:2, paddingLeft:5, paddingRight:5})
					.hover(function(){$(this).addClass("tabLabelOver");},
							function(){$(this).removeClass("tabLabelOver");})
					.bind("click",function(){
						var cont = $(this).parent().next("div.tabContent");
						cont.children().trigger("decsize");
						var fs = parseInt(cont.css("fontSize"));
						if (fs>7) cont.css("fontSize",fs-1);
					})
				)
		.append($(_a)
					.addClass("tabctl tabLabel arrow")
					.html("+")
					.css({marginLeft:2, paddingLeft:3, paddingRight:3})
					.hover(function(){$(this).addClass("tabLabelOver");},
							function(){$(this).removeClass("tabLabelOver");})
					.bind("click",function(){
						var cont = $(this).parent().next("div.tabContent");
						cont.children().trigger("incsize");
						var fs = parseInt(cont.css("fontSize"));
						if (fs<36) cont.css("fontSize",fs+1);
					})
				)
		.appendTo($(this));
		$(_div).addClass("tabContent")
		.attr("tabid",t.id).appendTo($(this));
		}
	return $(this);
	}
//------------------------------------------------------------------------
$.fn.tabsContent = function(id)
	{
	return $(this).find(".tabContent:[tabid="+id+"]");
	}
//------------------------------------------------------------------------
$.fn.tabsTab = function(id)
	{
	return $(this).find(".tab:[tabid="+id+"]");
	}

//------------------------------------------------------------------------
$.fn.tabsExpand = function()
	{
	$(this).find(".tabContent").show().removeAttr("hid");
	$(this).find(".arrow").show();
	}
//------------------------------------------------------------------------
$.fn.tabsCollapse = function()
	{
	$(this).find(".tabContent").hide().attr("hid",true);
	$(this).find(".arrow").hide();
	}
	
//------------------------------------------------------------------------
$.fn.tabsShow = function(tabID)
	{
	var div = $(this);
	div.tabsTab(tabID).children(".tabctl").show();
	div.tabsContent(tabID).removeAttr("hid").show();
	}
//------------------------------------------------------------------------
$.fn.tabsHide = function(tabID)
	{
	var div = $(this);
	div.tabsTab(tabID).children(".tabctl").hide();
	div.tabsContent(tabID).attr("hid",true).hide();
	}
//------------------------------------------------------------------------
$.fn.addCtl = function(tabID, txt, func)
	{
	$(this).tabsTab(tabID)
	.append($(_a).addClass("tabctl tabLabel")
	.css({marginLeft:12, paddingLeft:5, paddingRight:5})
	.html(txt).hover(function(){$(this).addClass("tabLabelOver");}, 
	function(){$(this).removeClass("tabLabelOver");	})
	.bind("click", func));
	}