/**
 * @author Fedos
 * FlexiTabs 1.0 beta, для работы требуется Prototype JS + Scriptaculous
 */
var FlexiTabs = Class.create({
	initialize: function() {
		//селекторы
		this.containerSelector = '.flexitabs'; //CSS-селектор для контейнера, содержащего один экземпляр класса
		this.linkSelector = '.ft_link'; //CSS-селектор для ссылок табов
		this.contentSelector = '.ft_content'; //CSS-селектор для контентов табов
		//классы
		this.activeLinkClass = 'active'; //класс для активных ссылок и контентов табов
		this.inactiveLinkClass = 'inactive'; //класс для неактивных ссылок и контентов табов

		var containersInDOM = $$(this.containerSelector);
		containersInDOM.each(function(container) {
			Element.extend(container);
			
			container.ft_active = -1;
			container.ft = this;
			container.ft_links = container.select(this.linkSelector);
			container.ft_contents = container.select(this.contentSelector);

			if(container.ft_links.length <= container.ft_contents.length) {
				var active = 0;
				for(var i = 0; i < container.ft_links.length; i++) {
					container.ft_links[i].ft = container.ft_contents[i].ft = this;
					container.ft_links[i].ft_container = container.ft_contents[i].ft_container = container;
					container.ft_links[i].ft_index = container.ft_contents[i].ft_index = i;

					Event.observe(container.ft_links[i], 'click', function(){
						this.ft.activate(this);
					});
					if(container.ft_links[i].hasClassName(this.activeLinkClass))
						active = i;
				}
				this.activate(container.ft_links[active]);//начальная активация таба
			}
		}, this);	
	},
	activate: function(link) {
		var container = link.ft_container;
		container.ft_links;
		container.ft_contents;
		for(var i = 0; i < container.ft_links.length; i++) {
			container.ft_links[i].removeClassName(this.activeLinkClass);
			container.ft_contents[i].removeClassName(this.activeLinkClass);
			container.ft_links[i].addClassName(this.inactiveLinkClass);
			container.ft_contents[i].addClassName(this.inactiveLinkClass);
		}
		container.ft_links[link.ft_index].removeClassName(this.inactiveLinkClass);
		container.ft_contents[link.ft_index].removeClassName(this.inactiveLinkClass);
		container.ft_links[link.ft_index].addClassName(this.activeLinkClass);
		container.ft_contents[link.ft_index].addClassName(this.activeLinkClass);
		container.ft_active = link.ft_index;
	}
});
document.observe('dom:loaded', function () { new FlexiTabs(); });