var slideinfo = {};

slideinfo.box = $("#pagina .colonna_main .slideinfo");
slideinfo.main = $("#pagina .colonna_main .slideinfo .main");
slideinfo.list = $("#pagina .colonna_main .slideinfo .list");
slideinfo.barra = $("#pagina .colonna_main .slideinfo .scroll");
slideinfo.barra_min = -100;
slideinfo.barra_max = 0;
slideinfo.active = -1;

slideinfo.init = function()
{
	slideinfo.barra.slider({orientation: 'vertical', animate: true, change: slideinfo.handleChange, slide: slideinfo.handleSlide, min: slideinfo.barra_min, max: slideinfo.barra_max});
	slideinfo.bindEvent();
	slideinfo.fixIE();
	slideinfo.view(0);
};

slideinfo.setMax = function(nNum)
{
	slideinfo.barra.slider('option', 'max', nNum);
};

slideinfo.handleChange = function(e, ui)
{
	slideinfo.moveList(ui.value);
};

slideinfo.handleSlide = function(e, ui)
{
	slideinfo.moveList(ui.value);
};

slideinfo.moveList = function(barra_value)
{
	var maxScroll = slideinfo.list.attr('scrollHeight') - slideinfo.list.height();
	slideinfo.list.animate({scrollTop: -barra_value*(maxScroll/100)}, 1);
};

slideinfo.bindEvent = function()
{
	slideinfo.list.bind('wheel', slideinfo.scrollListEvent);
	slideinfo.barra.bind('wheel', slideinfo.scrollListEvent);
};

slideinfo.scrollListEvent = function(ev, delta)
{
	var nValue = slideinfo.barra.slider('value');
	
	if (delta>0)
		slideinfo.barra.slider('option', 'value', nValue+5); // UP
	else
		slideinfo.barra.slider('option', 'value', nValue-5); // DOWN
	
	nValue = slideinfo.barra.slider('value');
	
	slideinfo.moveList(nValue);
		
	if (nValue > slideinfo.barra_min && nValue < slideinfo.barra_max)
		return false;
	else
		return true;
};

slideinfo.view = function(i)
{
	var old_li = slideinfo.main.find('li').filter("[title=active]");
	
	if (old_li.length > 0)
	{
		if (slideinfo.active == i)
			location.href=old_li.find('div').filter("[class=infotext]").find("a").eq(0).attr('href');
		
		old_li.attr('title','');
		old_li.find('div').filter("[class=cover]").eq(0).animate({opacity:0}, "slow");
		old_li.find('div').filter("[class=infobox]").eq(0).animate({bottom: '-500px'}, "slow");
		old_li.find('div').filter("[class=infotext]").eq(0).animate({bottom: '-500px'}, "slow");
	}

	var new_li = slideinfo.main.find('li').eq(i);
	
	new_li.attr('title', 'active');
	new_li.find('div').filter("[class=cover]").eq(0).animate({opacity:1}, "slow");
	new_li.find('div').filter("[class=infobox]").eq(0).animate({bottom: '0px'}, "slow");
	new_li.find('div').filter("[class=infotext]").eq(0).animate({bottom: '0px'}, "slow");
	
	slideinfo.active = i;
};

slideinfo.fixIE = function()
{
	var li_count = slideinfo.main.find('li').length;
	
	for (var i=0; i<li_count; i++)
	{
		var li = slideinfo.main.find('li').eq(i);
		li.attr('title', '');
		li.find('div').filter("[class=cover]").eq(0).animate({opacity:0}, "slow");
		li.find('div').filter("[class=infobox]").eq(0).animate({bottom: '-500px'}, "slow");
		li.find('div').filter("[class=infotext]").eq(0).animate({bottom: '-500px'}, "slow");
	}
};

$(document).ready(function() { slideinfo.init(); });
