var mootabs = new Class({
	
	initialize: function(element, options) {
		this.options = Object.extend({
			width:				300,
			height:				200,
			changeTransition:	Fx.Transitions.Expo.easeOut
		}, options || {});
		
		this.el = $(element);
		this.id = element;
		this.tabPanels = $$('#' + this.id + ' ul.chapters');
		this.tabPanel = this.tabPanels[0];
		
		this.el.setStyle('width', this.options.width + 'px');
		
		$$('#' + this.id + ' div.mootabs_panel').each(function(panel) {
			panel.setStyles({
				height: this.options.height + 'px',
				width: this.options.width + 'px'
			});
		}.bind(this));
		
		this.tabs = $$('#' + this.id + ' ul li a');
		
		
		this.tabs.each(function(tab) {
			tab.addEvent('click', function() {
				this.activate(tab);
			}.bind(this));
		}.bind(this));
		$$('#' + this.id + ' ul.chapters').getFirst().addClass('active');
		$$('#' + this.id + ' div.mootabs_panel').getFirst().addClass('active');
	},
	
	activate: function(tab) {
		//alert(tab);
		var linkName = tab.getProperty('rel').split('#')[1];
		this.tabs.each(function(tab) {
			tab.removeClass('active');
		});
		tab.addClass('active');
		
		
		$$('#' + this.id + ' div.mootabs_panel').each(function(panel) {
			panel.removeClass('active');
		});
		
		var labels = new Array();

		switch (this.options.book) {
			case 'zpatky-domu':
				labels['kapitola0'] = 'Prohlédněte si knihu&hellip;';	
				labels['kapitola1'] = 'Líná snídaně';
				labels['kapitola2'] = 'Prima neděle';
				labels['kapitola3'] = 'Můj tlustý řecký život';
				labels['kapitola4'] = 'Svátky jara, svátky chřestu';
				labels['kapitola5'] = 'Slavná večeře';
				labels['kapitola6'] = 'Jahodový týden';
				labels['kapitola7'] = 'Prázdniny v Čechách';
				labels['kapitola8'] = 'Na bolavou duši';
				labels['kapitola9'] = 'Dovolená u moře';
				labels['kapitola10'] = 'Všechno nejlepší';
				break;

			case 'recepty-z-farmarskeho-trhu':
				labels['kapitola0'] = 'Prohlédněte si knihu&hellip;';	
				labels['kapitola1'] = 'Cibule';
				labels['kapitola2'] = 'Dýně';
				labels['kapitola3'] = 'Hrušky';
				labels['kapitola4'] = 'Kapusta';
				labels['kapitola5'] = 'Kaštany';
				labels['kapitola6'] = 'Luštěniny';
				labels['kapitola7'] = 'Mrkev';
				labels['kapitola8'] = 'Řepa';
				labels['kapitola9'] = 'Švestky';
				break;
		}
		
		$(linkName).addClass('active');
		$('label').setHTML(labels[linkName]);
		//if(linkName != 'kapitola0') $('navigation').setHTML('<a href="/cz/o-knize#kniha" onclick="myTabs.prevTab()" class="prev">Předchozí kapitola</a><a href="cz/o-knize#kniha" class="next" onclick="myTabs.nextTab()">Další kapitola</a>');
		//else $('navigation').setHTML('');
		//if(linkName == 'kapitola10') $('navigation').setHTML('<a href="/cz/o-knize#kniha" onclick="myTabs.prevTab()" class="prev">Předchozí kapitola</a>');
		this.activeTab = linkName;
		/*$(linkName).effect('height', {duration:1000, transition: this.options.changeTransition}).start(0, this.options.height);*/
	},
	
	// public methods
	addTab: function(label, anchorname, content) {
		this.newTab = new Element('li');
		this.newPanel = new Element('div');
		
		this.newTab.setHTML('<a href="#' + anchorname + '">' + label + '</a>');
		this.newTab.addEvent('click', function() {
			this.activate(this.newTab.getFirst());
		}.bind(this));
		
		this.newPanel.id = anchorname;
		this.newPanel.addClass('mootabs_panel');
		this.newPanel.setStyles({
			height: this.options.height + 'px',
			width: this.options.width + 'px'
		});
		this.newPanel.setHTML(content);
		
		this.newTab.injectInside(this.tabPanel);
		this.newPanel.injectInside(this.el);
		this.tabs = $$('#' + this.id + ' ul li a');
	},
	
	removeTab: function(tab) {
		this.tabToRemove = tab;
		
		$$('#' + this.id + ' ul.chapters').getChildren()[0].each(function(tabLi) {
			if(tabLi.getFirst().getProperty('href') == '#' + this.tabToRemove)
			{
				tabLi.remove();
			}
		}.bind(this));
		
		$(this.tabToRemove).remove();
		this.tabs = $$('#' + this.id + ' ul li a');
		this.activate($$('#' + this.id + ' ul.chapters').getChildren()[0][0].getFirst())
	},
	
	setActive: function(tabAnchor) {
		this.tabToActivate = tabAnchor;
		$$('#' + this.id + ' ul.chapters').getChildren()[0].each(function(tabLi) {
			var linkName = tabLi.getFirst().getProperty('rel').split('#')[1];
			if(tabLi.getFirst().getProperty('rel') == '#' + this.tabToActivate || linkName == this.tabToActivate)
			{
				this.activate(tabLi.getFirst());
			}
		}.bind(this));
	},
	
	nextTab: function() {
		var re = new RegExp("([a-z]*)([0-9]*)");
		var m = re.exec(this.activeTab);
		var counter = m[2];
		this.tabToActivate = 'kapitola' + (parseInt(counter) + 1);
		$$('#' + this.id + ' ul.chapters').getChildren()[0].each(function(tabLi) {
			var linkName = tabLi.getFirst().getProperty('rel').split('#')[1];
			if(tabLi.getFirst().getProperty('rel') == '#' + this.tabToActivate || linkName == this.tabToActivate)
			{
				this.activate(tabLi.getFirst());
			}
		}.bind(this));
	},
	prevTab: function() {
		var re = new RegExp("([a-z]*)([0-9]*)");
		var m = re.exec(this.activeTab);
		var counter = m[2];
		this.tabToActivate = 'kapitola' + (parseInt(counter) - 1);
		$$('#' + this.id + ' ul.chapters').getChildren()[0].each(function(tabLi) {
			var linkName = tabLi.getFirst().getProperty('rel').split('#')[1];
			if(tabLi.getFirst().getProperty('rel') == '#' + this.tabToActivate || linkName == this.tabToActivate)
			{
				this.activate(tabLi.getFirst());
			}
		}.bind(this));
	}
});
