function tmt_scrollLayerBy(bersaglio, dx, dy, vel, limitey) {
	if (document.layers) {        
    turi = document.layers[bersaglio];
    var cl = turi.clip.left;
    var ct = turi.clip.top;
    var cr = turi.clip.right;
    var cb = turi.clip.bottom;
    var l = turi.left;
    var t = turi.top;
    if (dy > 0) {
    	if (turi.top<limitey)
    		azione = 0
    	else
    		azione = -1
    }
    if (dy < 0) {
    	if (turi.top>0)
    		azione = 0
    	else
    		azione = -1
    }
    if (azione) {
	    turi.clip.left = cl + dx;
	    turi.clip.top = ct + dy;
	    turi.clip.right = cr + dx;
	    turi.clip.bottom = cb + dy;
	    turi.top = t - dy;
	    turi.left = l - dx;
	  }
	} else {
    if (document.all) {
    	turi = eval("document.all." + bersaglio + ".style");
      if (turi.clip) {
	      var clipv = turi.clip.split("rect(")[1].split(")")[0].split("px");
	      var ct = Number(clipv[0]);
	      var cr = Number(clipv[1]);
	      var cb = Number(clipv[2]);
	      var cl = Number(clipv[3]);
	      var l = turi.pixelLeft;
	      var t = turi.pixelTop;
      }
      ncl = cl + dx;
      nct = ct + dy;
      ncr = cr + dx;
      ncb = cb + dy;
      if (dy > 0) {
      	if (turi.pixelTop<limitey)
      		azione = 0
      	else
      		azione = -1
      }
      if (dy < 0) {
      	if (turi.pixelTop>0)
      		azione = 0
      	else
      		azione = -1
	    }
      if (azione) {
	      turi.pixelTop = t - dy;
	      turi.pixelLeft = l - dx;
	      eval("turi.clip = 'rect(' + nct + ' ' +  ncr + ' ' + ncb + ' ' + ncl +')'");
      }
    }
	}
	if (azione)
		tmt_scrollalo = setTimeout("tmt_scrollLayerBy('" + bersaglio + "'," + dx + "," + dy + "," + vel + "," + limitey + ")", vel);
}

function tmt_stopScroll() {
	if (tmt_scrollalo) {
		clearTimeout(tmt_scrollalo);
	}
}

