BTHomePage = (function($) {
	var my = {};
	
	var TabManager = function(tab_content_id) {
		this.tab_content = $("#"+tab_content_id);
		this.links = this.tab_content.find(".tab-nav-wrapper a");
		this.tab_panels = this.tab_content.find(".tab-panels .tab-panel");
		$(this.tab_panels).hide();
		$(this.tab_panels[0]).show();
		
		this.setup();
	}
	TabManager.prototype = {
		setup: function() {
			var me = this;
			
			this.links.each(function(i) {
				var link = this;
				$(this).bind("click", function() {
					// fumble around with an extra class, so that there is always at least
					// one active element and IE6 doesn't hide the uncached bg image
					$(link).parent("li").addClass("nextActive");
					$(link).parent("li").addClass("active");
					me.tab_content.find(".tab-nav-wrapper li:not(.nextActive)").removeClass("active");
					$(link).parent("li").removeClass("nextActive");
					me.tab_panels.hide();
					$(me.tab_panels[i]).show();
				});
				
				$(this).bind("mouseup", function() {
					$(link).blur();
				});
			});
		}
	};
	
	var SliderManager = function(parent_node_id) {
		this.sliders = $("#"+parent_node_id).find(".slider");
		this.setup();
	}
	SliderManager.prototype = {
		setup: function() {
			var me = this;
			this.sliders.each(function(i) {
				var head_link = $(this).find("a.head");
				
				var ul = $(this).find("ul");
				me.create_slider(head_link, ul);
			});
		},
		
		create_slider: function(head_link, ul) {
			ul.hide();
			head_link.bind("click", function() {
				ul.slideToggle();
				head_link.blur();
				head_link.toggleClass("active");
			});
		}
	};
	
	// export classes
	my.TabManager = TabManager;
	my.SliderManager = SliderManager;
	
	return my;
})(jQuery);

