/* coded by Xant: myscroll v1.2 
 * http://www.aplace4myhead.altervista.org/
 * http://www.whitethoughts.net/ 
 */


// la variabile "velocita" e' la velocita' dello scrolling
// valori accettati: Reali (1, 2, ... 0.1, 0.2, etc) -> piu' e' alto
// il valore, piu' si incrementa la velocita'
var velocita=12;         // valore predefinito: 3 
var scroll="LEFT";      // metodo di scroll, impostare a: UP, DOWN, LEFT, RIGHT
var bordo=0;            // bordo ATTIVO
var ritardo=0;        // Ritardo di comparsa! Valore: da 0 in poi (in pixel).
var dimensioneLarghezza=434;    // dimensione del frame in pixel
var dimensioneAltezza=15;       // dimensione del frame in pixel



//variabili di programma : non modificare da quì in poi!
var scrolltime=velocita;

var _ScrollID=0;
var slowID=1;  // li imposto diversi da _ScrollID.. leggi sotto per capire perche'!
var rapidID=1; // li imposto diversi da _ScrollID.. leggi sotto per capire perche'!
var rapid=50;
var slowly=150;
var topPos=9234; //valore eccessivo: porta l'elemento fuori dalla visualizzazione, almeno inizialmente
var leftPos=9234;
var altezza=0; // Altezza dello scroll
var larghezza=0; // Larghezza dello scroll
var larghezzaInterna=0;
var altezzaInterna=0;
var scrollelem=0;
var scrolltext=0;


function setupScript(){
    scrollelem=document.getElementById("scrollelem");
    scrolltext=document.getElementById("scrolltext");

    scrollelem.style.width = dimensioneLarghezza+'px';
    scrollelem.style.height = dimensioneAltezza+'px';    
    
    if (scrollelem.pixelHeight) { 
        altezza=scrollelem.pixelHeight;
        larghezza=scrollelem.pixelWidth;
        altezzaInterna=scrolltext.pixelHeight;
        larghezzaInterna=scrolltext.pixelWidth;
    } else {            
        altezza=scrollelem.offsetHeight;
        larghezza=scrollelem.offsetWidth;
        altezzaInterna=scrolltext.offsetHeight;
        larghezzaInterna=scrolltext.offsetWidth;
    }
    

    if(bordo){
        scrollelem.style.border="1px solid black";
    } else {
        scrollelem.style.border="0";
    }
}



function startScroll(){
    if(topPos==9234 && (scroll=="DOWN" || scroll=="UP")) {
        if(scroll=="DOWN")
            topPos=-altezzaInterna;
        else 
            topPos=altezza;
    }else if(leftPos==9234){
        if(scroll=="LEFT"){
            leftPos=larghezza;
        }
        else if(scroll=="RIGHT"){
            leftPos=-larghezzaInterna;
        }
    }
    
    if(rapidID==_ScrollID)return; //esce se non si deve cambiare la velocita' dello scrolling
    
    clearTimeout(_ScrollID); /* ferma il timeout con scrolling lento */

    scrolltime=rapid/velocita;

    _ScrollID = setTimeout("myScroll()", scrolltime);

    rapidID=_ScrollID;
    slowID=1;
}


function scrollSlowly(){
    if(slowID==_ScrollID)return; //esce se non si deve cambiare la velocita' dello scrolling
    clearTimeout(_ScrollID); /* ferma il timeout con scrolling lento */

    scrolltime=slowly;

    _ScrollID = setTimeout("myScroll()", scrolltime);
    slowID=_ScrollID;
    rapidID=1;
}


function myScroll(){
    scrolltextID=document.getElementById("scrolltext");

    if(scroll=="DOWN"){
        if( scrolltextID.offsetTop==(altezza+ritardo) ){
            topPos=-(altezzaInterna);
        }
    } else if(scroll=="LEFT") {
        if( scrolltextID.offsetLeft == -(larghezzaInterna+ritardo)){
            leftPos=larghezza;
        }
    } else if(scroll=="RIGHT") {
        if( scrolltextID.offsetLeft==(larghezza+ritardo) ){
            leftPos=-(larghezzaInterna);   
        }
    }
    else {
        if( scrolltextID.offsetTop == -(altezzaInterna+ritardo)){
            topPos=altezza;
        }
    }
    
    if(scroll=="DOWN")  topPos++;
    else if(scroll=="LEFT") leftPos--;
    else if(scroll=="RIGHT")leftPos++;
    else            topPos--;

    if(scroll=="RIGHT" || scroll=="LEFT")
        document.getElementById("scrolltext").style.left=leftPos+"px"; 
        /* il "px"
           mi ha fatto smadonnare come che, se non lo mettete in firefox non vi fungera' un
           bel niente */
    else
        document.getElementById("scrolltext").style.top=topPos+"px";     

    _ScrollID=setTimeout("myScroll()", scrolltime);
}

