var tab_object = Class.create({
	initialize: function(container) {
		this.container = container;
		this.triggers = this.container.select('.tab_triggers li');
		this.content = this.container.select('.tab_item');
		this.onLoad();
		this.startup();
	},
	onLoad: function() {
		var i = 0;
		this.triggers.each(function(elem){
			elem.writeAttribute('tab',i);
			elem.observe('click',this.handleToggle.bind(this));
			i++;
		}.bind(this));
	},
	startup: function() {
		this.closeTabs();
		this.triggers[0].addClassName('active_tab');
		this.content[0].show();		
	},
	closeTabs: function(){
		this.content.each(function(elem){
			elem.hide();
		});
		this.resetTriggers();
	},
	openTab: function(num) {
		this.closeTabs();
		this.triggers[num].addClassName('active_tab');
		this.content[num].show();		
	},
	resetTriggers: function(){
		this.triggers.each(function(elem){
			elem.removeClassName('active_tab');
		});
	},
	handleToggle: function(e){
		var tab = Event.element(e);
		if(!tab.hasClassName('noAction')){
			this.closeTabs();
			tab.addClassName('active_tab');
			var tmp = parseInt(tab.readAttribute('tab'));
			this.content[tmp].show();
		}
		
	}
});
var tab_manager = Class.create({
	initialize: function(item) {
		this.container = $$('.'+item);
		this.container.each(function(elem){new tab_object(elem);});
	}
});