/**
 * Tabs.js - Tab that content!
 * 
 * @author  Webstores <info at webstores dot nl>
 *           Copyright (c) Webstores internet totaalbureau <http://www.webstores.nl/>
 */

var Tabs = function(id, selectedCls) {
	var tabs,
		activeTab,
		selectedCls = selectedCls || 'selected';
	
	return {
		initialize: function() {
			tabs = $(id).getElementsByTagName('li');
			this.initEvents();
		},
		initEvents: function() {
			for(var i = 0; i < tabs.length; i++) {
				var self = this;
				var tab = tabs[i];
				var tabLink = tab.getElementsByTagName('a')[0];
				tab.container = $(tabLink.href.split('#')[1]);
				
				if(hasClass(tab, selectedCls))
					activeTab = tab;
				else
					hide(tab.container);
				
				addEvent(tab, 'click', function(e) {
					stopEvent(e);
					self.showTabContent(this);
				});
			}
		},
		showTabContent: function(el) {
			if(el == activeTab)
				return;
			
			hide(activeTab.container);
			removeClass(activeTab, selectedCls);
			show(el.container);
			addClass(el, selectedCls);
			activeTab = el;
		}
	}
}
