Event.observe(window, 'load', function(){
	var start = new Tab2Maker('tab2');
	start.create();
});

var Tab2Maker = Class.create()
Tab2Maker.prototype = {
	initialize: function(tab2) {
		this.tab2Lnegth = gcn(tab2).length;
		this.tab2Name = tab2;
	},
	create: function() {
		var menu = new Tab2Index(this.tab2Name);
		for (var i = 0; i < this.tab2Lnegth; i++) {
			menu.appendTab2(new Tab2('Tab2' + i, (i==0)));
		}
		menu.setTab2();
	}
}

var Tab2 = Class.create();
Tab2.prototype = {
	initialize: function(name, open) {
		this.name = name;
		this.page = name + 'Box';
		this.open = open;
	},
	styleTab2: function() {
		if (this.open)
			this.setStyle('visible', '', 'open');
		else
			this.setStyle('hidden', 'absolute', 'close');
		this.open = false;
	},
	setStyle: function(visibility, position, className){
		var page = $(this.page).style;
		var name = $(this.name);
		page.visibility = visibility;
		page.position = position;
		name.className = className;
	}
}

var Tab2Index = Class.create();
Tab2Index.prototype = {
	initialize : function(tab2) {
		this.last = 0;
		this.tab2s = new Array();
		this.tab2Name = tab2;
	},
	getTab2At : function(index) {
		return this.tab2s[index];
	},
	appendTab2 : function(tab2) {
		this.tab2s[this.last] = tab2;
		gcn(this.tab2Name)[this.last].id = tab2.name;
		gcn(this.tab2Name+'Box')[this.last].id = tab2.page;
		this.last++;
		var link = document.createElement('a');
		link.innerHTML = $(tab2.name).innerHTML;
		link.href = 'javascript:void(0);'
		$(tab2.name).innerHTML = '';
		$(tab2.name).appendChild(link);
		$(tab2.name).onclick = function(){
			tab2.open = true;
			this.setTab2();
		}.bind(this);
	},
	getLength : function() {
		return this.last;
	},
	each : function(func) {
		for (var i = 0; i < this.getLength(); i++) {
			func(this.getTab2At(i));
		}
	},
	setTab2: function() {
		this.each(function(tab2) {
				tab2.styleTab2();
		});
	}
};
function gcn(id){
	return document.getElementsByClassName(id);
}
