// <![CDATA[

var scrollDiv = new Array(4);
var hDiv = new Array(4);
var tClip = new Array(4);
var bClip = new Array(4);
var wClip = new Array(4);
var interval = new Array(4);
var topPos = new Array(0, 0, 0, 0);

function initScroller(id, nItem)
{
    scrollDiv[nItem] = document.getElementById(id+nItem);   
    var margin = parseInt(scrollDiv[nItem].offsetTop);

    var scrollDiv__controls = document.getElementById(id + nItem + '__controls' + nItem);

    /* Style per il div interno (testo) */
    scrollDiv[nItem].style.width    = (scrollDiv[nItem].parentNode.offsetWidth - (margin * 2)) - 2 + 'px';
    scrollDiv[nItem].style.height   = 'auto';
    scrollDiv[nItem].style.overflow = 'hidden';
    
    /* Style per il div esterno (contenitore) */
    scrollDiv[nItem].parentNode.style.overflow = 'hidden';
    
    /* Style per il div con i controlli (testo) */
    scrollDiv__controls.style.display = 'block';  


    /* Impostazioni per visualizzare la parte di testo superiore */
    hDiv[nItem]  = scrollDiv[nItem].offsetHeight;

    tClip[nItem] = 0;
    wClip[nItem] = scrollDiv[nItem].parentNode.offsetWidth - (margin * 2);
    bClip[nItem] = scrollDiv[nItem].parentNode.offsetHeight - (margin * 2);

    scrollDiv[nItem].style.clip = 'rect('+ tClip[nItem] +'px,'+ wClip[nItem] +'px,'+ bClip[nItem] +'px,0)';   
    // alert("tClip:"+tClip[nItem]+"\nwClip:"+wClip[nItem]+"\nbClip:"+bClip[nItem]+"\n");
}

function scroll(nItem, scrollBy, time) {

	tClip[nItem] += scrollBy;
    bClip[nItem] += scrollBy;
    topPos[nItem] -= scrollBy;

    if (tClip[nItem] < 0 || bClip[nItem] > hDiv[nItem]) {
        tClip[nItem] -= scrollBy;
        bClip[nItem] -= scrollBy;
        topPos[nItem] += scrollBy;    
    }
    
    scrollDiv[nItem].style.clip = 'rect('+ tClip[nItem] +'px, '+ wClip[nItem] +'px, '+ bClip[nItem] +'px, 0)';   
    scrollDiv[nItem].style.top = topPos[nItem] + 'px';    
    interval[nItem] = setTimeout('scroll('+ nItem +','+ scrollBy +', '+ time +')', time);
}

function stopScroll(nItem) {
    if (interval[nItem]) clearTimeout(interval[nItem]);
}

// ]]>