var larghezza_bannerini = 255;
var fettine = 20; //20 fettine in 50 millisecondi = 1 secondo di animazione
var interval = 50;
var interval2= 5000;
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").getElementsByName("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 getElementsByName_iefix(tag, name) {
     
      var elem = document.getElementsByTagName(tag);
     var arr = new Array();
      for(i = 0,iarr = 0; i < elem.length; i++) {
           att = elem[i].getAttribute("name");
           if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
           }
      }
      return arr;
 }




function sposta_laterale(direzione,quale,numero_bannerini)
{
	if(typeof(window.external) != 'undefined'){
			numero_bannerini=getElementsByName_iefix("div","proge").length-1;
	}else{
		numero_bannerini = document.getElementsByName("proge").length-1;
	}
	
	
	
	//var numero_bannerini = document.getElementById("contenitore_bannerini").getElementsByTagName("div").length/2;
	//alert(numero_bannerini);
	
	
	
	
	if ((direzione == 1) && (attuale == numero_bannerini)) return;
	if ((direzione == -1) && (attuale == 1)) return;
	if(moving != 0) return;
	moving = 1;
	attuale = attuale + direzione;
	/*
	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";
	}
	
	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";
	}
	
}



function sposta_laterale2(direzione,quale,numero_bannerini)
{
	if(typeof(window.external) != 'undefined'){
			numero_bannerini=getElementsByName_iefix("div","proge").length-1;
	}else{
		numero_bannerini = document.getElementsByName("proge").length-1;
	}
	
	//alert(attuale+" - "+numero_bannerini);
	if ((direzione == 1) && (attuale == numero_bannerini)) init();
	if ((direzione == -1) && (attuale == 0)) return;
	if(moving != 0) return;
	moving = 1;
	var contenitore_bannerini = document.getElementById("contenitore_bannerini");
	if (attuale == (numero_bannerini))
	{
		contenitore_bannerini.style.marginLeft = "0px";
		attuale = 1;
	}
	
	origine = parseInt(contenitore_bannerini.style.marginLeft);
	destinazione = origine + (larghezza_bannerini*(-direzione));
	//contenitore_bannerini.style.marginLeft = destinazione + "px";
	
	step = (destinazione - origine) / attrito;
	timer = setInterval("tick_convergente2()",interval);
	
}

function tick_convergente2()
{
	if(Math.abs(step) < passo_finale)
	{
		document.getElementById("contenitore_bannerini").style.marginLeft = destinazione + "px";
		clearInterval(timer);
		moving = 0;
		//alert("finito");
		attuale++;
	}
	else
	{
		origine = origine + step;
		step = (destinazione - origine) / attrito;
		document.getElementById("contenitore_bannerini").style.marginLeft = origine + "px";
	}
	
}

function init()
{
	timer2 = setInterval("sposta_laterale2(1,this,3)",interval2);
}
