var w_scroll_div;
var w_main_div;
var w_move_div;
var w_img_flag;
var w_scroller_flag;

var w_pos_x;
var w_pos_0;
var w_pos_next = 0;
var w_move_int;

var scroller_width;
var conteiner_width;
var w_speed_factor;

var shift = 15;

function wscrl_init_load()
{
    w_scroll_div    = $('w_scroll_div');
    w_main_div      = $('w_main_div');
    w_move_div      = $('w_move_div');
    w_img_flag      = $('w_img_flag');
    w_scroller_flag = $('w_scroller_flag');

    set_speed_factor();
}

function set_speed_factor()
{
    clearInterval(w_move_int);
    w_scroll_div.style.left = '0px';
    w_move_div.style.left = '0px';
    w_pos_next = 0;
    
    conteiner_width = Position.cumulativeOffset(w_img_flag).left - Position.cumulativeOffset(w_main_div).left;
    scroller_width  = Position.cumulativeOffset(w_scroller_flag).left - Position.cumulativeOffset(w_scroll_div).left;
    w_speed_factor = - (conteiner_width - w_main_div.offsetWidth) / (scroller_width - shift - 1); 
    if ( w_speed_factor > 0 ) w_speed_factor = 0; 
}

function wscrl_move_scroll()
{
    clearInterval(w_move_int);
    w_pos_0 = w_pos_x - w_pos_next;
    w_move_int = setInterval("wscrl_move_func()", 10);
}

function wscrl_move_func()
{       
    w_scroll_div.style.left   = (w_pos_x - w_pos_0) + 'px';
    w_move_div.style.left     = (w_pos_x - w_pos_0) * w_speed_factor + 'px';
    w_pos_next                = w_pos_x - w_pos_0;
         
    var buf = Position.cumulativeOffset(w_scroller_flag).left - Position.cumulativeOffset(w_scroll_div).left;
 
    if ( buf > scroller_width ) 
    {   
        clearInterval(w_move_int);
        w_scroll_div.style.left = 0  + 'px';
        w_move_div.style.left = 0  + 'px';
        w_pos_next = 0;
    }
    else
    {
        if ( buf < shift ) 
        {
            clearInterval(w_move_int);
            w_scroll_div.style.left = scroller_width - shift + 'px';
            w_pos_next = scroller_width - shift;
        }  
    }
}

function wscrl_objectPosition(e)
{
    w_pos_x = e.clientX;        
}

function wscrl_objectPositionNew()
{
   clearInterval(w_move_int);
}

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

function wscrl_shift(sh_num)
{   
    if ( sh_num == 0 )
    {
        w_scroll_div.style.left = 0 + 'px';
        w_move_div.style.left   = 0 + 'px'; 
        w_pos_next = 0;
    }
    else
    {
        w_ashift_1 = $('ashift_1_1');
        w_ashift_n = $('ashift_'+sh_num+'_1');
        
        if ( w_ashift_n )
        {
            shift_len = Position.cumulativeOffset(w_ashift_1).left - Position.cumulativeOffset(w_ashift_n).left;
            w_move_div.style.left = shift_len + 'px'; 
            
            w_pos_next = shift_len / w_speed_factor;
            w_scroll_div.style.left   = w_pos_next + 'px'; 
        }
    }
    
    clearInterval(w_move_int);
}

function wscrl_get_page3()
{
    var i;
    var page_id = 1;

    for( i=1; i<=il_col_count; i++ )
    {
        if ( ( Position.cumulativeOffset( $('ashift_'+i+'_1') ).left - Position.cumulativeOffset(w_main_div).left ) + 50 > 0 )
        {
            page_id = Math.floor( i / 3 ) + 1;
            break;
        }
    }
    
    return page_id;
}

function wscrl_get_page1()
{
    var i;
    var page_id = 1;

    for( i=1; i<=il_col_count; i++ )
    {
        if ( ( Position.cumulativeOffset( $('ashift_'+i+'_1') ).left - Position.cumulativeOffset(w_main_div).left ) + 250 > 0 )
        {
            page_id = i;
            break;
        }
    }
    
    return page_id;
}