var counter = 0;
var stepper = 0;
var objectNumber = 3;
var intervalDownID = 0;
var intervalUpID = 0;
var Range = 112;
var MaxObjects = 3;
var bDownPressed = false;
var bUpPressed = false;
var SlidingDownInProgress = false;
var SlidingUpInProgress = false;
var iSpeed = 6;
var iSlowLimit = 4;
var pageSize = 3;




/*** funzioni di inizio movimento ***/
function startSlidingDown() {
    if (!SlidingDownInProgress) {
        bDownPressed = true;
        MoveOneStepDown();
    }
}

function startSlidingUp() {
    if (!SlidingUpInProgress) {
        bUpPressed = true;
        MoveOneStepUp();
    }
}



/*** funzioni di fine movimento ***/
function stopSlidingDown() {
    bDownPressed = false;
}

function stopSlidingUp() {
    bUpPressed = false;
}



/*** spostamento di uno scatto a destra ***/
function MoveOneStepDown() {
    if (objectNumber < MaxObjects) {
        //document.getElementById('offerteUp').disabled = true;
        counter = 0;
        objectNumber++;
        intervalDownID = setInterval("SlidingDown()", 20);
    }
}

/*** spostamento di uno scatto a sinistra ***/
function MoveOneStepUp() {
    if (objectNumber > pageSize) {
        //document.getElementById('offerteDown').disabled = true;
        counter = 0;
        objectNumber--;
        intervalUpID = setInterval("SlidingUp()", 20);
    }
}




/*** funzioni di spostamento generale  ***/
function SlidingDown() {
    var divScroll = document.getElementById('dnn_LeftPane');
    SlidingDownInProgress = true;
    var iStart = divScroll.style.marginTop ? parseInt(divScroll.style.marginTop) : 0;

    var diff = Range - counter;
    stepper = Math.ceil(diff / iSpeed);
    if (stepper < iSlowLimit) {
        stepper = iSlowLimit;
        if (counter + stepper > Range)
            stepper = Range - counter;
    }
    counter += stepper;

    if (counter < Range)
        divScroll.style.marginTop = (iStart - stepper) + "px";
    else {
        SlidingDownInProgress = false;
        //document.getElementById('offerteUp').disabled = true;
        CheckEndSliding();
        clearInterval(intervalDownID);

        if (bDownPressed)   // se sto ancora premendo il pulsante, faccio compiere un altro scatto
            MoveOneStepDown(MaxObjects);
    }
}


function SlidingUp(direction) {
    var divScroll = document.getElementById('dnn_LeftPane');
    SlidingUpInProgress = true;
    var iStart = divScroll.style.marginTop ? parseInt(divScroll.style.marginTop) : 0;

    var diff = Range - counter;
    stepper = Math.ceil(diff / iSpeed);
    if (stepper < iSlowLimit) {
        stepper = iSlowLimit;
        if (counter + stepper > Range)
            stepper = Range - counter;
    }
    counter += stepper;

    if (counter < Range)
        divScroll.style.marginTop = (iStart + stepper) + "px";
    else {
        SlidingUpInProgress = false;
        //document.getElementById('offerteDown').disabled = true;
        CheckEndSliding();
        clearInterval(intervalUpID);

        if (bUpPressed)      // se sto ancora premendo un pulsante, faccio compiere un altro scatto
            MoveOneStepUp();
    }
}




function CheckEndSliding() {
    if (objectNumber == pageSize)
        jQuery("#offerteUp").hide();
    else
        jQuery("#offerteUp").show();

    if (objectNumber == MaxObjects)
        jQuery("#offerteDown").hide();
    else
        jQuery("#offerteDown").show();
}



var num_elem = jQuery("table.offerte_scroll>tbody>tr").size(); //numero di righe della tabella
var h = jQuery("table.offerte_scroll>tbody>tr:first").height() + 3;  //altezza della prima riga
var imgUp = jQuery("#offerteUp");
var imgDown = jQuery("#offerteDown");
if (num_elem <= pageSize) {
    imgDown.hide();
    imgUp.hide();
}
else {
    imgDown.show();
}

MaxObjects = num_elem;
Range = h;

imgUp.mousedown(function() { startSlidingUp(); });
imgUp.mouseup(function() { stopSlidingUp(); });
imgUp.click(function() { return false; });
imgDown.mousedown(function() { startSlidingDown(); });
imgDown.mouseup(function() { stopSlidingDown(); });
imgDown.click(function() { return false; });
