// Copyright (C) Ofer Faigon 2005
document.tx3_vec=new Array()
function Tx3Obj(a,b,c){
this.tx_percent=0
this.direction=1
this.exiting_id
this.entering_id
this.wanted_id
this.timer_is_on=false
this.in_transit=false
this.paused=false
this.pct_incr=b
this.interval=a
this.set_vis=c
this.pause=tx3_pause
this.resume=tx3_resume
this.is_paused=tx3_is_paused
this.on_timer=tx3_on_timer
this.show=tx3_show
this.my_num=document.tx3_vec.push(this)-1
}
function tx3_pause(){
this.paused=true
}
function tx3_resume(){
this.paused=false
if(!this.timer_is_on)
this.on_timer()
}
function tx3_is_paused(){
return this.paused
}
function tx3_show(a){
this.wanted_id=a
if(!this.timer_is_on)
this.on_timer()
}
function tx3_on_timer0(a){
document.tx3_vec[a].on_timer()
}
function tx3_on_timer(){
this.timer_is_on=false
if(this.in_transit){
if(this.paused && this.tx_percent<40 && this.direction==1){
this.direction=-this.direction
tmp=this.exiting_id
this.exiting_id=this.entering_id
this.entering_id=tmp
}
}else{
if(this.paused || this.wanted_id==null || this.wanted_id==this.entering_id)
return
this.tx_percent=-this.direction*50+50
this.exiting_id=this.entering_id
this.entering_id=this.wanted_id
this.in_transit=true
if(this.exiting_id)
this.set_vis(this.exiting_id,this.tx_percent,this.direction==1,false)
if(this.entering_id)
this.set_vis(this.entering_id,this.tx_percent,this.direction==-1,true)
}
this.tx_percent+=this.pct_incr*this.direction
if(this.tx_percent>100)this.tx_percent=100
if(this.tx_percent<0)this.tx_percent=0
if(this.exiting_id)
this.set_vis(this.exiting_id,this.tx_percent,this.direction==1,false)
if(this.entering_id)
this.set_vis(this.entering_id,this.tx_percent,this.direction==-1,true)
if(this.tx_percent==100 || this.tx_percent==0){
this.direction=1
this.exiting_id=null
this.in_transit=false
if(this.wanted_id!=this.entering_id){
this.timer_is_on=true
setTimeout("tx3_on_timer0("+this.my_num+")",this.interval)
}
}else{
this.timer_is_on=true
setTimeout("tx3_on_timer0("+this.my_num+")",this.interval)
}
}
