if(!$chk(window['wb'])) {
	var wb = {};
}

wb.tab_buttons           = [];
wb.tab_content           = [];
wb.current_tab_index     = 0;
wb.container_ani         = null;
wb.tab_ani_in            = null;
wb.tab_ani_out           = null;

wb.initialize_tabnavigation = function() {
	
	// Get the tab elements
	wb.tab_buttons = $$('.contentTabs a');
	wb.tab_content = $$('.contentSection');
	
	// Initialize styles first tab
	var content_section_0 = wb.tab_content[0];
	
	content_section_0.removeClass('hidden');
	content_section_0.setStyles({'display': 'block', 'visibility':'visible'});
	
	//Initialize styles rest tabs (should be one)
	for(var i=1; i<wb.tab_content.length; i++) {
		var content_section = wb.tab_content[i];
		
		content_section.addClass('hidden');
		content_section.setStyles({'display': 'none', 'visibility':'hidden', 'overflow': 'hidden'});
	}
	
	// Setup button behaviour
	for(var i=0; i<wb.tab_buttons.length; i++) {
		wb.tab_buttons[i].addEvent('click', wb.select_tab.bindWithEvent('click', i));
	}
	
	
};

wb.select_tab = function(e, index) {
	
	// Ignore if index is current
	if(index == wb.current_tab_index) {
		return false;
	}
	
	// Set height etc.
	var old_tab_content = wb.tab_content[wb.current_tab_index];	
	var current_height  = old_tab_content.getScrollSize().y;

	// Show/Hide content
	for(var i=0; i<wb.tab_content.length; i++) {
		if(i!=index) {
			wb.tab_content[i].addClass('hidden');
			wb.tab_content[i].setStyles({'display':'none', 'visibility': 'hidden'});
		} else {
			wb.current_tab_index = i;
			wb.tab_content[i].removeClass('hidden');
			wb.tab_content[i].setStyles({'display':'block', 'visibility': 'visible'});
		}
	}
	
	// // Start animations
	// if(wb.tab_ani_in != null) {
	// 	wb.tab_ani_in.cancel();
	// }
	// 
	// if(wb.tab_ani_out != null) {
	// 	wb.tab_ani_out.cancel();
	// }
	// 
	// wb.tab_ani_in    = new Fx.Morph(wb.tab_content[index], 		{duration: 'short', transition: Fx.Transitions.Sine.easeOut, onComplete: wb.swapaniCompleteHandler.bind(window, [wb.tab_content[index], true])});
	// wb.tab_ani_out   = new Fx.Morph(old_tab_content, 			{duration: 'short', transition: Fx.Transitions.Sine.easeOut, onComplete: wb.swapaniCompleteHandler.bind(window, [old_tab_content, false])});
	// 
	// wb.tab_ani_in.start({
	// 							'height': [0, wb.tab_content[index].getScrollSize().y],
	// 							'opacity': [0, 1]
	// 					});
	// 
	// wb.tab_ani_out.start({
	// 							'height': [current_height, 0],
	// 							'opacity': [1, 0]
	// 					});
	
	// Set selected state of buttons
	for(var i=0; i<wb.tab_buttons.length; i++) {
		if(i!=index) {
			wb.tab_buttons[i].removeClass('current');
		} else {
			wb.tab_buttons[i].addClass('current');
		}
	};
	return false;
};
wb.swapaniCompleteHandler = function(elm, isCurrent) {
	if(isCurrent === true) {
		
	} else if(isCurrent === false) {
		elm.setStyles({'display': 'none', 'visibility':'hidden'});
	}
	animation = null;
	
}

window.addEvent('domready', wb.initialize_tabnavigation);
