function scrollableDiv(elem, step, freq)
{
    this.elem = elem;
    this.freq = freq;
    this.step = step;
    this.timer = false;

    this.arrowdn = function()
    {
        var me = this;
        if (this.timer)
            window.clearInterval(this.timer);
        this.timer = window.setInterval(function()
        {
        if (me.elem.scrollTop < (parseInt(me.elem.scrollHeight) - parseInt(me.elem.offsetHeight)))
        {
            me.elem.scrollTop = me.elem.scrollTop+me.step;
            var progress = Math.floor(100*me.elem.scrollTop / (parseInt(me.elem.scrollHeight) - parseInt(me.elem.offsetHeight)));
        }
        else window.clearInterval(me.timer); return false
        }, this.freq);
    }

this.arrowright = function()
    {
        var me = this;
        if (this.timer)
            window.clearInterval(this.timer);
        this.timer = window.setInterval(function()
        {
        if (me.elem.scrollLeft < (parseInt(me.elem.scrollWidth) - parseInt(me.elem.offsetWidth)))
        {
            me.elem.scrollLeft = me.elem.scrollLeft+me.step;
            var progress = Math.floor(100*me.elem.scrollLeft / (parseInt(me.elem.scrollWidth) - parseInt(me.elem.offsetWidth)));
        }
        else window.clearInterval(me.timer);
        return false;
        }, this.freq);
    }

this.arrowup = function()
    {
        var me = this;
        if (this.timer)
            window.clearInterval(this.timer);
        this.timer = window.setInterval(function()
        {
            if (me.elem.scrollTop > 0)
                {
                    me.elem.scrollTop = me.elem.scrollTop-me.step;
                    var progress = Math.floor(100*me.elem.scrollTop / (parseInt(me.elem.scrollHeight) - parseInt(me.elem.offsetHeight)));
                }
            else window.clearInterval(me.timer); return false
        }, this.freq);
    }

this.arrowleft = function()
    {
        var me = this;
        if (this.timer)
            window.clearInterval(this.timer);
        this.timer = window.setInterval(function()
        {
            if (me.elem.scrollLeft > 0)
                {
                    me.elem.scrollLeft = me.elem.scrollLeft-me.step;
                    var progress = Math.floor(100*me.elem.scrollLeft / (parseInt(me.elem.scrollWidth) - parseInt(me.elem.offsetWidth)));
                }
            else window.clearInterval(me.timer); return false
        }, this.freq);
    }

    this.stop = function()
    {
        window.clearInterval(this.timer);
        return false;
    }
}
