var counter = 0;
var stepper = 0;
var objectNumber = 1;
var intervalDownID = 0;
var intervalUpID = 0;
var Range = 200;
var MaxObjects = 1;
var bDownPressed = false;
var bUpPressed = false;
var SlidingDownInProgress = false;
var SlidingUpInProgress = false;
var iSpeed = 6;
var iSlowLimit = 4;
var pageSize = 1;




/*** 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_ctr411_XModDisplay_dlXMods');
    SlidingDownInProgress = true;
    var iStart = divScroll.style.marginLeft ? parseInt(divScroll.style.marginLeft) : 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.marginLeft = (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_ctr411_XModDisplay_dlXMods');
    SlidingUpInProgress = true;
    var iStart = divScroll.style.marginLeft ? parseInt(divScroll.style.marginLeft) : 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.marginLeft = (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>td").size(); //numero di colonne della tabella
var h = jQuery("table.offerte_scroll>tbody>tr>td:first").width() + 7;  //larghezza della prima riga
var imgUp = jQuery("#offerteUp");
var imgDown = jQuery("#offerteDown");
if (num_elem <= pageSize) {
    imgDown.hide();
    imgUp.hide();
}
else {
    imgUp.hide();
    imgDown.show();
}

MaxObjects = num_elem;
Range = h;

if (imgUp) {
    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; });
}