var scrollData = {
    'element': null,
    'intervalid': null,
    'direction': "DOWN",
    'mousedown': false
}

function enableSpecialScrolling() {
    document.addEvent("mouseup", mouseUpHandler);
    $('scroll_up').addEvent("mousedown", mouseDownHandler);
    $('scroll_down').addEvent("mousedown", mouseDownHandler);
     $('scroll_up').addEvent("mouseout", stopScrolling);
    $('scroll_down').addEvent("mouseout", stopScrolling);
    $('scroll_up').addEvent("mouseover", function(){startScrolling("UP");});
    $('scroll_down').addEvent("mouseover", function(){startScrolling("DOWN");});
    scrollData['element'] = $('offerscroller');
}

function mouseDownHandler() {
    scrollData['mousedown'] = true;
}

function mouseUpHandler() {
    scrollData['mousedown'] = false;
}

function stopScrolling() {
    $clear(scrollData['intervalid']);
    scrollData['mousedown'] = false;
}

function startScrolling(direction) {
    scrollData['direction'] = direction;
    scrollData['intervalid'] = scrollSpecials.periodical(10,scrollData);
}

function scrollSpecials() {
    var adjust = (this.direction == "UP" ? -1 : 1) * (this.mousedown ? 3 : 1);
    this.element.scrollTo(0,this.element.getScroll().y+adjust);
}


window.addEvent('domready', function() {
    enableSpecialScrolling();
});