(function() {
	var c = function(tabs, options) {
		this.__construct.call(this, tabs, options || {});
	}, p = c.prototype, $ = jQuery;
	
	p.__construct = function(tabs, options) {
		this.tabs = $(tabs);
		this.active = options.active || 'active';
		this.activateTabCallback = options.onActivateTab;
		this.activateEvents();
	};
	
	p.activateEvents = function() {
		var self = this;
		
		//find the initial state
		var hash = document.location.href.split('#')[1]
		
		this.tabs.each(function() {
			if($(this).find('a:first').attr('href') == '#'+hash) {
				self.activateTab(this);
			}
			$(this).bind('click', {scope: self, tab: this}, _eventActivateTab);
		});
		
	};
	
	p.activateTab = function(tab) {
		var self= this;
		this.tabs.each(function() {
			var selector = $(this).removeClass(self.active).find('a:first').attr('href');
			$(selector).hide();
		});
		
		var selector = $(tab).addClass(this.active).find('a:first').attr('href');
		
		trackClick(document.location.href+selector);
		
		$(selector).show();
	};
	
	var _eventActivateTab = function(e) {
		if(typeof e.data.scope.activateTabCallback == 'function' && 
		   e.data.scope.activateTabCallback.call(this, e) === false) {
			return false;
		}
		
		e.preventDefault();
		
		e.data.scope.activateTab.call(e.data.scope, e.data.tab);
		return false;
	};
	
	jQuery.fn.extend(new function() {
		this.tabs = function(options) {
			new c(this, options);
			return this;
		};
	});
})();

jQuery('div.tabs ul.menu li').tabs();
jQuery('#home_banner div.main_content ul li').tabs({onActivateTab: function(e) {
	e.preventDefault();
	
	var self = e.data.scope;
	var tab = e.data.tab;
	
	self.tabs.each(function() {
		if($(this).hasClass('menu_item_1')) {
			$(this).removeClass('menu_item_1_active');
		} else if($(this).hasClass('menu_item_2')) {
			$(this).removeClass('menu_item_2_active');
		} else if($(this).hasClass('menu_item_3')) {
			$(this).removeClass('menu_item_3_active');
		}
		
		var selector = $(this).find('a:first').attr('href');
		$(selector).hide();
	});
	
	if($(this).hasClass('menu_item_1')) {
		$(this).addClass('menu_item_1_active');
	} else if($(this).hasClass('menu_item_2')) {
		$(this).addClass('menu_item_2_active');
	} else if($(this).hasClass('menu_item_3')) {
		$(this).addClass('menu_item_3_active');
	}
	
	var selector = $(tab).find('a:first').attr('href');
	
	trackClick(document.location.href+selector);
	
	$(selector).show();
	
	return false;
}});