function Scroller(elementid,num,visible,item_width){this.number_pos=num;this.current_pos=0;this.real_pos=1;this.prev_pos=0;this.scroll_step=0;this.Tout=false;this.element=document.getElementById(elementid);this.items_visible=visible;this.item_width=item_width;this.max_fullsteps=Math.round((item_width-68)/15);this.element.style.width=(item_width*num+visible*2*item_width)+'px';this.element.style.left='-'+(visible*item_width)+'px';this.banner_real_position=function()
{if(this.current_pos>=this.number_pos)
{this.real_pos=this.current_pos-this.number_pos+1;}
else if(this.current_pos<0)
{this.real_pos=this.current_pos+this.number_pos+1;}
else
{this.real_pos=this.current_pos+1;}}
this.banner_goto=function(pos)
{if(this.Tout)
window.clearTimeout(this.Tout);this.element.style.left='-'+((pos+this.items_visible)*this.item_width)+'px';this.current_pos=pos;this.banner_real_position();}
this.banner_roll=function()
{var newpos,mpos,npos;this.scroll_step++;if(this.scroll_step<=this.max_fullsteps)
{newpos=this.scroll_step*15;}
else if(this.scroll_step==this.max_fullsteps+10)
{newpos=this.item_width;}
else
{mpos=0;npos=1;for(var i=0;i<(this.scroll_step-this.max_fullsteps);i++)
{npos-=0.1;mpos+=npos*15;}
newpos=(this.item_width-68)+mpos;}
if(this.prev_pos>this.current_pos)
{newpos=-newpos;}
newpos=(this.prev_pos+this.items_visible)*this.item_width+newpos;this.element.style.left='-'+(newpos)+'px';if(this.scroll_step<this.max_fullsteps+10)
{var tobj=this;this.Tout=window.setTimeout(function(){tobj.banner_roll();},30);}}
this.banner_roll_left=function()
{this.scroll_step=0;this.banner_goto(this.current_pos);if(this.current_pos<0)
{this.prev_pos=this.current_pos+this.number_pos;this.current_pos+=this.number_pos-1;this.element.style.left='-'+((this.prev_pos+this.items_visible)*this.item_width)+'px';}
else
{this.prev_pos=this.current_pos;this.current_pos-=1;}
var tobj=this;this.banner_real_position();this.Tout=window.setTimeout(function(){tobj.banner_roll();},30);}
this.banner_roll_right=function()
{this.scroll_step=0;this.banner_goto(this.current_pos);if((this.current_pos)>=this.number_pos)
{this.prev_pos=this.number_pos-this.current_pos;this.current_pos=this.number_pos-this.current_pos+1;this.element.style.left='-'+((this.prev_pos+this.items_visible)*this.item_width)+'px';}
else
{this.prev_pos=this.current_pos;this.current_pos+=1;}
var tobj=this;this.banner_real_position();this.Tout=window.setTimeout(function(){tobj.banner_roll();},30);}
this.element.Scroller=this;}
