d=document
isDOM=d.getElementById?true:false
isOpera=isOpera5=isOpera6=isOpera7=window.opera&&isDOM?true:false
if(isOpera) {
	s=navigator.userAgent.indexOf("Opera")
	s=parseInt(navigator.userAgent.charAt(s+6))
	isOpera7=(s>=7)
	isOpera6=(s>=6)
	isOpera5=(s==5||s==6)
}
isNN=navigator.appName=='Netscape'
isIE=d.all&&d.all.item&&!window.opera
isIE4=isIE&&!isDOM
isNN4=isNN&&!isDOM

function obj(v) {
	this.obj=d.getElementById(v)
	if(!this.obj) return
	this.css=this.obj.style?this.obj.style:this.obj
	this.y=this.obj.offsetTop
	this.x=this.obj.offsetLeft
}
SOP=obj.prototype
SOP.visible=function(v) {
	this.css.visibility=v?(isNN4?'show':'visible'):(isNN4?'hide':'hidden')
}
SOP.move=function(l,t){
	with(this.css){
		if(l!=null){
			if(isOpera7)pixelLeft=l+'px'
			else if(isNN4)x=l+'px'
			else left=l+'px'
		}
		if(t!=null)
			if(isOpera7)pixelTop=t+'px'
			else if(isNN4)y=t+'px'
			else top=t+'px'
	}
}
SOP.size=function() {
	var o=this.obj
	return{
		width:isNN4?o.clip.width:isOpera5?this.css.pixelWidth:o.offsetWidth,
		height:isNN4?o.clip.height:isOpera5?this.css.pixelHeight:o.offsetHeight
	}
}

function Scroller(i){
this.id=i
this.itClass=''
this.divs=[]
this.step=1
this.att={m1:true,pause:2000,speed:40,dir:'up'}//left/right/top/bottom
this.t_move=0
this.indx=0
this.o=new obj(this.id)
//this.height=this.o.size().height
this.height=parseInt(this.o.obj.style.height)

this.width=parseInt(this.o.obj.style.width)
this.size=null
}

OP=Scroller.prototype
OP.run=function(c){
	if(!this.o.obj.childNodes)return
	this.size=this.o.obj.childNodes.length
	var t=0,l=0
	for(i=0;i<this.size;i++){
		this.divs[i]=new obj(this.id+'_'+i)
		this.divs[i].visible(1)
		this.divs[i].move(l,t)
//t+=this.divs[i].size().height
		switch(this.att.dir){
		case 'up':
		case 'down':
		if(this.att.m1)t+=this.height		
		break
		case 'left':
		case 'right':
		if(this.att.m1)l+=this.width		
		}
	}
	setTimeout(this.id+'.slideMove()',this.att.pause)
}
OP.slideMove=function(c){
	if(!this.size)return
	var ix=this.indx,tim,i,id,n,t
	clearTimeout(this.t_move)
/*
	if(this.divs[ix].obj.offsetLeft+this.divs[ix].size().width-this.step<=0) {
		id=ix-1;if(id<0) id=this.size-1
		n=ix+1;if(n==this.size)n=0

		//t=this.divs[id].obj.offsetLeft
		t=this.divs[id].obj.offsetTop
		
		if(this.att.m1)t+=this.height
		//if(this.att.m1)t+=this.width
		this.divs[ix].move(t,null)
		this.indx=n
	}
*/
	if(this.divs[ix].obj.offsetTop+this.divs[ix].size().height-10<=0) {
		l=ix-1;if(l<0) l=this.size-1
		n=ix+1;if(n==this.size)n=0

		t=this.divs[l].obj.offsetTop
		if(this.att.m1)t+=this.height
		this.divs[ix].move(null,t)
		this.indx=n
	}
//	for(i=0;i<this.size;i++) this.divs[i].move(null,this.divs[i].obj.offsetTop-c)
	//for(i=0;i<this.size;i++) this.divs[i].move(this.divs[i].obj.offsetLeft-this.step,null)
	for(i=0;i<this.size;i++) this.divs[i].move(null,this.divs[i].obj.offsetTop-this.step)
//	tim=(this.divs[this.indx].obj.offsetLeft==0)?this.att.pause:this.att.speed

	tim=(this.divs[this.indx].obj.offsetTop==0)?this.att.pause:this.att.speed

//	window.status=this.divs[this.indx].obj.offsetTop
	this.t_move=setTimeout(this.id+'.slideMove()',tim)
}
OP.slideStop=function(){clearTimeout(this.t_move)}
