/**
 * Fashionesta Image Slider
 *
 * JS-Slider for Fashionesta Shop
 */
 
var Tabber = Class.create({
	/**
	 * Constructor / Setup
	 */
	initialize: function(pElement, pTabberContent, pTabs) {
		// set Class Attributes
		this.element = $(pElement);
		
		this.content 				= $(pTabberContent);
		this.contentElements 		= this.content.childElements();
		this.numberContentElements 	= this.contentElements.length;
		
		this.tabs 					= $(pTabs);
		this.tabElements 			= this.tabs.childElements();
		this.tabElementLinks 		= $$('#'+pTabs+' a');
		this.numberTabElements 		= this.tabElements.length;
		
		this.showElement(this.getFirstContentElement(), this.getFirstElementLink());
	},
	
	/**
	 * Hides all tabber elements
	 */
	hideElements: function() {
		for(var i = 0; i < this.numberContentElements; i++) {
			this.contentElements[i].hide();
		}
	},
	
	/**
	 * Resets all tabber element links
	 */
	resetTabs: function() {
		for(var i = 0; i < this.numberTabElements; i++) {
			this.tabElementLinks[i].removeClassName('active');
		}
	},
	
	/**
	 * Shows specific tabber elements
	 */
	showElement: function(pElement, pLink) {
		if($(pElement) != null) {
			this.hideElements();
			this.resetTabs();
			
			$(pElement).show();
			$(pLink).addClassName('active');
		}
	},
	
	/**
	 * Get the first tab element
	 */
	getFirstContentElement: function() {
		return this.contentElements[0];
	},
	
	/**
	 * Get the first tab element link
	 */
	getFirstElementLink: function() {
		return this.tabElementLinks[0];
	}
});
