/**
 * @author Iris Associates Ltd.
 * @version 1.0
 */

var Tabulator = Class.create({
	elems: null,

	initialize: function(elems)
	{
		this.elems = elems;
		if(this.elems.size() > 0)	// safety
		{
			this.build();
		}
	},

	build: function()
	{
		this.elems.invoke('hide');
		this.elems.first().show();

		var ulElem = document.createElement('ul');
		Element.extend(ulElem);
		ulElem.addClassName('tabList').addClassName('scripted');

		var liElem;
		this.elems.each(function(s) {
			liElem = document.createElement('li');
			Element.extend(liElem);
			ulElem.insert(liElem.update(s.addClassName('scriptedTab').
					down('h6').
					remove().innerHTML
				).
				addClassName(s.identify()).	// so that the tabs have individual classes
				observe('click', this.tabClicked.bindAsEventListener(this, s.identify()))
			);
		}, this);

		ulElem.childElements().first().addClassName('on');
		this.elems.first().insert({before: ulElem});
	},

	tabClicked: function(evt, elemId)
	{
		evt.findElement('li').addClassName('on').siblings().invoke('removeClassName', 'on');

		this.elems.invoke('hide');
		$(elemId).show();
	}
});
