/* CONFIGURATION AREA */
/*
	browsers:
		IE - Microsoft Internet Explorer
		FF - FireFox
		Safari - Safari browser
		Opera - Opera browser
		all - includes IE, FF, Opera and Safari
		
	parentId:
		any existing Id attribute 
	tagName:
		any valid tag name
	tagPosition:
		all - all inner elements 
		children - first level children only
	className:
		any valid class name
*/
var defaultItem = 0;
var tabsCount = 4;
var currentTab = 1;

var browsers = 'IE';
var config = {
	hovers: new Array(
		{
			parentId:'tabs',
			tagName:'li',
			tagPosition:'children',
			className:'hover'
		}
	)
};

/* CODE AREA */

/* hovers */

function initPage(){
	
	initAccordion();
	initHovers();
	
	if($('tabs')!=null)
	{
	$('tabs').getElements('a').forEach( function(item, ind){
		if(item.href.test('#tab')) {
			// tab click event
			item.addEvent('click', function(e){
				var tabNum = parseInt( this.getProperty('rel') );
				setActiveTab( tabNum );
				(new Event(e)).stop();
			});
		}
	});
	}
	
	jQuery('.votes .next span p, .votes .last span p').each(function(){
	    jQuery(this).before(jQuery(this).html()); //insert contents before element
        jQuery(this).remove();
	});
}



var initHovers = function()
{
	for (var index in config.hovers){
		var conf = config.hovers[index];
		var topLevelElement = document.getElementById(conf.parentId);
		if (topLevelElement){
			var subElements = topLevelElement.getElementsByTagName(conf.tagName);
			for (var i = 0; i < subElements.length; i++){
				if (conf.tagPosition == 'all' || (conf.tagPosition == 'children' && subElements[i].parentNode.id == conf.parentId))
				{
					subElements[i].configIndex = index;
					subElements[i].onmouseover = function(){
						this.className += ' ' + config.hovers[this.configIndex].className;
					};
					subElements[i].onmouseout = function(){
						this.className = this.className.replace(config.hovers[this.configIndex].className,'');
					};
				}
			}
		}
	}
}

var initAccordion = function()
{
	var headers = $$('.sidebar-header');
	var contents = $$('.sidebar-content');
	var myEffect = new Fx.Accordion(headers, contents, {
		onActive:function(el){
			el.getParent().addClass('active');
		},
		onBackground:function(el){
			el.getParent().removeClass('active');
		},
		display:defaultItem - 1
	});
}

function setActiveTab( tabNum ) {
	if( tabNum == currentTab ) return;
	if( tabNum > tabsCount ) tabNum = 1;
	if( tabNum < 1 ) tabNum = tabsCount;

	$('tabs').getElements('a').forEach( function(item, ind){
	
		index = item.getProperty('rel');
		
		if(item.getProperty('rel') && index == tabNum) {
			item.getParent().getParent().addClass('active');
			$('tab'+index).addClass('active');
		}
		else {
			item.getParent().getParent().removeClass('active');
			$('tab'+index).removeClass('active');
		}
	});

	currentTab = tabNum;
}


window.addEvent('domready',initPage);