//v3.1 17.04.2008 ristrutturazione passaggio parametri sintetizzati in unico file .js
//
// future implementazioni: caricamento dinamico (AJAX?) contenuti celle non ancora visualizzate //

var margTop=startMarg;
var ease=0;
var	maxScroll=-itemsize*nrimg;
var easeout=false;
var clicked=false;
var linkPos=0;
var scrollAmount;

window.onload = function() {
	if (currMarg!='') {
		margTop=currMarg;
		linkPos=margTop;
	}
	document.getElementById("scrollbox_inner").style.marginTop=margTop+"px";
	if (margTop!=startMarg) {
    document.getElementById("scrollbox_up").style.visibility="visible";
	} else document.getElementById("scrollbox_up").style.visibility="hidden";
	if (margTop<=maxScroll) {
    document.getElementById("scrollbox_dw").style.visibility="hidden";
	} else document.getElementById("scrollbox_dw").style.visibility="visible";
	if (debugflag) {
    document.getElementById("debug").innerHTML="["+nrimg+"] ["+scrollAmount+"] ["+margTop+"] ["+maxScroll+"] ["+itemsize+"] ["+scrollitems+"]";
	}
}

function scrollimg(sign,scrolled,increment) {
  var scrollAmount=itemsize*scrollitems*sign;
  if (scrolled==0) {
	  if(clicked) return;
		clicked=true;
  	easeout=0;
		ease=0;
		linkPos=parseInt(parseInt(margTop)+parseInt(scrollAmount));
  }
	var textdiv=document.getElementById("scrollbox_inner");
	if (increment<maxSpeed & easeout==false) {
		increment+=acceleration;
    ease+=increment;
	}

	if ((Math.abs(scrollAmount)-scrolled)<=ease) {
 	  easeout=true;
		increment-=acceleration;
		if (increment==0) {
			increment=1;
		}
	}

	//document.getElementById("outData").innerHTML="ScrollAmount: " + scrollAmount + "<br>scrolled: " + scrolled + "<br>Differenza: " + (Math.abs(scrollAmount)-scrolled)+"-"+ ((Math.abs(scrollAmount)-scrolled)<=ease)+ "<br>increment: " + increment + "<br>ease " + ease;

//	if (margLeft>maxScroll & scrollAmount<0) {
	if (scrollAmount<0) {
		if (scrolled<-scrollAmount) {
		  if (scrolled+increment>=-scrollAmount) {
		  	increment=(-scrollAmount-scrolled);
		  }
			margTop-=increment;
			scrolled+=increment;
			textdiv.style.marginTop=margTop+"px";
			timerID = setTimeout("scrollimg(" + sign + "," + scrolled + ","+ increment + ")", speed);
		} else clicked=false;
	}

//	if (margLeft<0 & scrollAmount>0) {
	if (scrollAmount>0) {
		if (scrolled<scrollAmount) {
		  if (scrolled+increment>=scrollAmount) {
		  	increment=scrollAmount-scrolled;
		  }
			margTop+=increment;
			scrolled+=increment;
			textdiv.style.marginTop=margTop+"px";
			timerID = setTimeout("scrollimg(" + sign + "," + scrolled + ","+ increment + ")", speed);
		} else clicked=false;
	}
	if (margTop!=startMarg) {
    document.getElementById("scrollbox_up").style.visibility="visible";
	} else document.getElementById("scrollbox_up").style.visibility="hidden";
	if (margTop<=maxScroll) {
    document.getElementById("scrollbox_dw").style.visibility="hidden";
	} else document.getElementById("scrollbox_dw").style.visibility="visible";
	if (debugflag) {
    document.getElementById("debug").innerHTML="["+nrimg+"] ["+scrollAmount+"] ["+margTop+"] ["+maxScroll+"] ["+itemsize+"] ["+scrollitems+"]";
	}
}
