
// variabili per gestione scroller
var pos_scroll = 1;
var movimento = "spento";
var blocco = 0;
var numero_elementi = 0;
var elementi = [];
var elementi = new Array();
var x_scroll = [];
var x_scroll = new Array();
var y_scroll = [];
var y_scroll = new Array();
var delta = [];
var delta = new Array();
var velocita = [];
var velocita = new Array();
var pos_scroll = [];
var pos_scroll = new Array();
var counter = [];
var counter = new Array();
function prepara() {
  with (document) {
    for (i=0;i<arguments.length;i++) {
	    numero_elementi = numero_elementi+1;
		  elementi[i] = ""+arguments[i];
		  x_scroll[i] = getElementById('scroll_'+elementi[i]).clientWidth;
		  y_scroll[i] = getElementById('box_'+elementi[i]).clientHeight;
      getElementById('scroll_'+elementi[i]).style.clip = "rect(0px "+x_scroll[i]+"px "+y_scroll[i]+"px 0px )";
		  if (getElementById('scroll_'+elementi[i]).clientHeight > getElementById('box_'+elementi[i]).clientHeight) {
			  delta[i] = getElementById('scroll_'+elementi[i]).clientHeight-getElementById('box_'+elementi[i]).clientHeight;
			  getElementById('testo_su_'+elementi[i]).style.top = getElementById('scroll_'+elementi[i]).offsetTop+"px";
			  getElementById('testo_su_'+elementi[i]).style.left = getElementById('box_'+elementi[i]).clientWidth-16+"px";
			  getElementById('testo_giu_'+elementi[i]).style.top = getElementById('scroll_'+elementi[i]).offsetTop+getElementById('box_'+elementi[i]).clientHeight-16+"px";
			  getElementById('testo_giu_'+elementi[i]).style.left = getElementById('box_'+elementi[i]).clientWidth-16+"px";
        getElementById('testo_giu_'+elementi[i]).style.display = "block";
        velocita[i] = delta[i]*10;
        pos_scroll[i] = 1;
        counter[i] = 0;
      }
		}
  }
}

function muovi_testo(m,b) {
	with (document) {
		movimento = "attivo";
		for (i=0;i<numero_elementi;i++) {
			if (elementi[i] == b)	blocco = i;
		}
		if (m == "g") {
	    getElementById('testo_giu_'+elementi[blocco]).style.display = "block";
	    var fade_start = pos_scroll[blocco];
      if (pos_scroll[blocco] == delta[blocco])
    	  var fade_end = delta[blocco];
  		else
        var fade_end = pos_scroll[blocco];
	  } else {
	    getElementById('testo_su_'+elementi[blocco]).style.display = "block";
      var fade_start = 0-pos_scroll[blocco];
      if (pos_scroll[blocco] == 0)
    	  var fade_end = delta[blocco];
  		else
        var fade_end = delta[blocco]-pos_scroll[blocco];
		}
    var tempo_totale = Math.round(velocita[blocco]*fade_end/delta[blocco]);
  	var frequenza = (1 / tempo_totale);
    var partenza = new Date().getTime();
  	var tempo = setInterval(
      function() {
        if (movimento == "attivo") {
        var trascorso = new Date().getTime() - partenza;
	        if (trascorso < tempo_totale) {
	          var f = trascorso * frequenza;
		        counter[blocco] = Math.abs(Math.round(f * fade_end - fade_start));
  					clip1 = counter[blocco];
	  				clip2 = y_scroll[blocco]+counter[blocco];
		  			getElementById('scroll_'+elementi[blocco]).style.top = 0-counter[blocco]+"px";
            getElementById('scroll_'+elementi[blocco]).style.clip = "rect( "+clip1+"px "+x_scroll[blocco]+"px "+clip2+"px 0px )";
				  } else {
				    clearInterval(tempo);
				    if (m == "g") {
							counter[blocco] = 0;
	            getElementById('testo_su_'+elementi[blocco]).style.display = "none";
						} else {
							counter[blocco] = delta[blocco];
	  					getElementById('testo_giu_'+elementi[blocco]).style.display = "none";
						}
	  				clip1 = counter[blocco];
	  				clip2 = y_scroll[blocco]+counter[blocco];
		  			getElementById('scroll_'+elementi[blocco]).style.top = 0-counter[blocco]+"px";
            getElementById('scroll_'+elementi[blocco]).style.clip = "rect( "+clip1+"px "+x_scroll[blocco]+"px "+clip2+"px 0px )";
            pos_scroll[blocco] = counter[blocco];
	  			}
				} else
          clearInterval(tempo);
      }, 10
    );
	}
}

function ferma_testo() {
  movimento = "spento";
  pos_scroll[blocco] = counter[blocco];
}
