var ds_scroll_div_l;
var ds_scroll_div_r;

var ds_pos_x;
var ds_pos_0;

var ds_move_int;

var ds_pos_next_l   = 0;
var ds_pos_next_r   = 0;
var ds_pos_flag_l   = 0;
var ds_pos_flag_r   = 0;

var shift       = 15;
var shift_end   = 14;

var ds_scroll_div_tl;
var ds_scroll_div_tr;

var price_min = 0;
var price_max = 0;

function dscrl_init_load()
{
    ds_scroll_div_l    = $('ds_scroll_div_l');
    ds_scroll_div_r    = $('ds_scroll_div_r');

    ds_scroll_div_tl    = $('ds_scroll_div_tl');
    ds_scroll_div_tr    = $('ds_scroll_div_tr');
    
    clearInterval(ds_move_int);
    
    ds_refresh(price_min, price_max);
}

function ds_refresh( s_price_min, s_price_max )
{
    price_min = parseInt(s_price_min);
    price_max = parseInt(s_price_max);
    
    ds_pos_flag_l = Position.cumulativeOffset($('div_table')).left;
    ds_pos_flag_r = ds_pos_flag_l + $('div_table').offsetWidth - shift_end;
    
    ds_pos_next_l = ds_pos_flag_l;
    ds_pos_next_r = ds_pos_flag_r;
    
    ds_scroll_div_l.style.left = ds_pos_next_l + 'px';
    ds_scroll_div_r.style.left = ds_pos_next_r + 'px';
    
    ds_scroll_div_tl.innerHTML = price_min;
    ds_scroll_div_tr.innerHTML = price_max;
}

function dscrl_objectPosition(e)
{
    ds_pos_x = e.clientX;        
}

function dscrl_objectPositionNew()
{
    clearInterval(ds_move_int);
}

Event.observe(window, "load", dscrl_init_load );

//---------------- SCROLL LEFT -------------------------

function dscrl_move_scroll_l()
{    
    clearInterval(ds_move_int);
    ds_pos_0 = ds_pos_x - ds_pos_next_l;
    ds_move_int = setInterval("dscrl_move_func_l()", 10);
}

function dscrl_move_func_l()
{       
    if ( ds_pos_next_l >= ds_pos_flag_l )
    {
        if ( ds_pos_next_r - ds_pos_next_l >= shift )
        {
            ds_pos_next_l = ds_pos_x - ds_pos_0;
            ds_scroll_div_l.style.left  = ds_pos_next_l + 'px'; 
        }
        else
        {
           ds_pos_next_l = ds_pos_next_r - shift; 
           ds_scroll_div_l.style.left = ds_pos_next_l + 'px';
           clearInterval(ds_move_int);
           ds_scroll_div_l.onmouseup();
        }
    }
    else
    {
        ds_pos_next_l = ds_pos_flag_l; 
        ds_scroll_div_l.style.left = ds_pos_next_l + 'px';
        clearInterval(ds_move_int);
        ds_scroll_div_l.onmouseup();
    }
    
    ds_scroll_div_tl.innerHTML = price_min + Math.round( (ds_pos_next_l - ds_pos_flag_l) * (price_max - price_min) / (ds_pos_flag_r - ds_pos_flag_l) );
}

//---------------- SCROLL RIGHT -------------------------

function dscrl_move_scroll_r()
{    
    clearInterval(ds_move_int);
    ds_pos_0 = ds_pos_x - ds_pos_next_r;
    ds_move_int = setInterval("dscrl_move_func_r()", 10);
}

function dscrl_move_func_r()
{       
    if ( ds_pos_next_r <= ds_pos_flag_r )
    {
        if ( ds_pos_next_r - ds_pos_next_l >= shift )
        {
            ds_pos_next_r = ds_pos_x - ds_pos_0;
            ds_scroll_div_r.style.left  = (ds_pos_x - ds_pos_0) + 'px'; 
        }
        else
        {
            ds_pos_next_r = ds_pos_next_l + shift; 
            ds_scroll_div_r.style.left = ds_pos_next_r + 'px';
            clearInterval(ds_move_int);
            ds_scroll_div_r.onmouseup();
        }
    }
    else
    {
            ds_pos_next_r = ds_pos_flag_r; 
            ds_scroll_div_r.style.left = ds_pos_next_r + 'px';
            clearInterval(ds_move_int);
            ds_scroll_div_r.onmouseup();
    }
    
    ds_scroll_div_tr.innerHTML = price_min + Math.round( (ds_pos_next_r - ds_pos_flag_l) * (price_max - price_min) / (ds_pos_flag_r - ds_pos_flag_l) );
}

