var larghezza_bannerini = 267;
var fettine = 20; //20 fettine in 50 millisecondi = 1 secondo di animazione
var interval = 50;
var attrito = 8;
var passo_finale = 0.4;
var destinazione;
var origine;
var step;
var timer;
var attuale = 1;
var moving = 0;

function numero_bannerini()
{
	 return (document.getElementById("contenitore_bannerini").getElementsByTagName("div").length);
}

//quale tasto ho premuto? 0 per il primo
function sposta(tasto_premuto)
{
	var numero_bannerini = document.getElementById("contenitore_bannerini").getElementsByTagName("div").length;
	var contenitore_bannerini = document.getElementById("contenitore_bannerini");
	var origine = parseInt(contenitore_bannerini.style.marginLeft);
	alert(origine);
	//cosi' funziona, chissa' se si riesce a fare senza test
	
	var destinazione = tasto_premuto * larghezza_bannerini*3;
	var compensazione = (numero_bannerini - ((tasto_premuto+1)*3))*larghezza_bannerini;
	if(compensazione < 0) destinazione += compensazione;
	
	contenitore_bannerini.style.marginLeft = -destinazione + "px";
	
}

function sposta_animato(tasto_premuto)
{
	var numero_bannerini = document.getElementById("contenitore_bannerini").getElementsByTagName("div").length;
	var contenitore_bannerini = document.getElementById("contenitore_bannerini");
	
	origine = parseInt(contenitore_bannerini.style.marginLeft);
	
	destinazione = tasto_premuto * larghezza_bannerini*3;
	var compensazione = (numero_bannerini - ((tasto_premuto+1)*3))*larghezza_bannerini;
	if(compensazione < 0) destinazione += compensazione;
	step = (-origine - destinazione) / fettine;
	//alert(origine + " to "+ -destinazione + " by "+ step);
	timer = setInterval("tick()",interval)
}

function tick()
{
	if(Math.abs(step) > Math.abs(-origine-destinazione))
	{
		document.getElementById("contenitore_bannerini").style.marginLeft = -destinazione + "px";
		clearInterval(timer);
	}
	else
	{
		origine = origine + step;
		document.getElementById("contenitore_bannerini").style.marginLeft = origine + "px";
	}
}

function sposta_animato_quadratico(tasto_premuto)
{
	var numero_bannerini = document.getElementById("contenitore_bannerini").getElementsByTagName("div").length;
	var contenitore_bannerini = document.getElementById("contenitore_bannerini");
	
	origine = parseInt(contenitore_bannerini.style.marginLeft);
	
	destinazione = tasto_premuto * larghezza_bannerini*3;
	var compensazione = (numero_bannerini - ((tasto_premuto+1)*3))*larghezza_bannerini;
	if(compensazione < 0) destinazione += compensazione;
	step = (-origine - destinazione) / 2;
	//alert(origine + " to "+ -destinazione + " by "+ step);
	timer = setInterval("tick_quadratico()",interval)
}

function tick_quadratico()
{
	if(Math.abs(step) < passo_finale)
	{
		document.getElementById("contenitore_bannerini").style.marginLeft = -destinazione + "px";
		clearInterval(timer);
		//alert("finito");
	}
	else
	{
		origine = origine + step;
		step = step/2;
		document.getElementById("contenitore_bannerini").style.marginLeft = origine + "px";
	}
}


function sposta_animato_convergente(tasto_premuto,quale)
{
	var numero_bannerini = document.getElementById("contenitore_bannerini").getElementsByTagName("div").length;
	var numero_tastini = Math.ceil(numero_bannerini/3);
	if(quale.className=="tasto_bannerino_on") return;
	
	for(var i = 0; i < numero_tastini;i++)
	{
		stringa_id = "tastino_"+i.toString();
		document.getElementById(stringa_id).className = "tasto_bannerino_off";
	}
	quale.className = "tasto_bannerino_on";
	
	
	var contenitore_bannerini = document.getElementById("contenitore_bannerini");
	
	origine = parseInt(contenitore_bannerini.style.marginLeft);
	
	destinazione = tasto_premuto * larghezza_bannerini*3;
	var compensazione = (numero_bannerini - ((tasto_premuto+1)*3))*larghezza_bannerini;
	if(compensazione < 0) destinazione += compensazione;
	
	step = (-origine - destinazione) / attrito;
	//alert(origine + " to "+ -destinazione + " by "+ step);
	timer = setInterval("tick_convergente()",interval);
}


function sposta_laterale(direzione,quale)
{
	var numero_bannerini = document.getElementById("contenitore_bannerini").getElementsByTagName("div").length/2;
	
	if ((direzione == 1) && (attuale == numero_bannerini)) return;
	if ((direzione == -1) && (attuale == 1)) return;
	if(moving != 0) return;
	moving = 1;
	var numero_tastini = numero_bannerini;
	for(var i = 1; i <= numero_tastini;i++)
	{
		stringa_id = "t_"+i.toString();
		document.getElementById(stringa_id).src = "img/nov_off.gif";
	}
	attuale = attuale + direzione;
	stringa_id = "t_"+attuale.toString();
	document.getElementById(stringa_id).src = "img/nov_on.gif";
	
	var contenitore_bannerini = document.getElementById("contenitore_bannerini");
	origine = parseInt(contenitore_bannerini.style.marginLeft);
	destinazione = origine + (larghezza_bannerini*(-direzione));
	contenitore_bannerini.style.marginLeft = destinazione + "px";
	
	step = (destinazione - origine) / attrito;
	timer = setInterval("tick_convergente()",interval);
	
}



function tick_convergente()
{
	if(Math.abs(step) < passo_finale)
	{
		document.getElementById("contenitore_bannerini").style.marginLeft = destinazione + "px";
		clearInterval(timer);
		moving = 0;
		//alert("finito");
	}
	else
	{
		origine = origine + step;
		step = (destinazione - origine) / attrito;
		document.getElementById("contenitore_bannerini").style.marginLeft = origine + "px";
	}
	
}