// NewsTicker Object
// an animated news ticker
// 19990623

// Copyright (C) 1999 Dan Steinman
// Distributed under the terms of the GNU Library General Public License
// Available at http://www.dansteinman.com/dynapi/

function NewsTicker_img(x_img,y_img,width_img,height_img) {
	this.name = 'NewsTicker_img'+(NewsTicker_img.count++)
	this.x = x_img
	this.y = y_img
	this.w = width_img
	this.h = height_img
	this.obj = this.name + "Object"
	eval(this.obj + "=this")
	this.items = new Array()
	this.scrollCount = 0

	this.pauseLength = 4000	
	this.inc = 3
	this.speed = 1
	this.fromX = -500
	this.fromY = this.h
	this.bgColor = null

	this.addItem = NewsTickerAddItem_img
	this.activate = NewsTickerActivate_img
	this.build = NewsTickerBuild_img
	this.start = NewsTickerStart_img
	this.stop = NewsTickerStop_img
	this.slide = NewsTickerSlide_img
}
function NewsTickerAddItem_img(text_img) {
	var i_img = this.items.length
	this.items[i_img] = new Object()
	this.items[i_img].text = text_img
}
function NewsTickerBuild_img() {
	this.css = css(this.name,this.x,this.y,this.w,this.h)
	this.div = '<div id="'+this.name+'">'
	for (var i_img=0;i_img<this.items.length;i_img++) {
		this.css += css(this.name+'Item'+i_img,0,0,this.w,this.h,this.bgColor,'hidden')
		this.div += '<div id="'+this.name+'Item'+i_img+'">'+this.items[i_img].text+'</div>'
	}
	this.div += '</div>'
}
function NewsTickerActivate_img(autostart) {
	for (var i_img=0;i_img<this.items.length;i_img++) {
		this.items[i_img].lyr = new DynLayer(this.name+'Item'+i_img)
		this.items[i_img].lyr.moveTo(this.fromX,this.fromY)
		this.items[i_img].lyr.show()
	}
	this.items[0].lyr.moveTo(0,0)
	this.lyr = new DynLayer(this.name)
	var num_img = Math.sqrt(Math.pow(this.fromX,2) + Math.pow(this.fromY,2))/this.inc
	this.dx = this.fromX/num_img || 0
	this.dy = this.fromY/num_img || 0
	if (autostart!=false) setTimeout(this.obj+'.start()',this.pauseLength)
}
function NewsTickerStart_img() {
	if (!this.started) {
	this.started = true
	var t_img = this.scrollCount
	var b_img = (this.scrollCount==this.items.length-1)? 0 : this.scrollCount+1
	var obj1_img = this.items[t_img].lyr.obj
	var obj2_img = this.items[b_img].lyr.obj
	this.timer = setInterval(this.obj+'.slide('+obj1_img+','+obj2_img+')',this.speed)
	}
}
function NewsTickerStop_img() {
	clearInterval(this.timer)
	this.started = false
}
function NewsTickerSlide_img(obj1_img,obj2_img) {
	obj1_img.moveBy(-this.dx,-this.dy)
	obj2_img.moveBy(-this.dx,-this.dy)
	if ((this.dx!=0 && Math.floor(obj2_img.x)==0) || (this.dy!=0 && Math.floor(obj2_img.y)==0)) {
		clearInterval(this.timer)
		obj1_img.moveTo(this.fromX,this.fromY)
		obj2_img.moveTo(0,0)
		this.scrollCount = (this.scrollCount==this.items.length-1)? 0 : this.scrollCount+1
		this.timer = setTimeout(this.obj+'.started=false;'+this.obj+'.start()',this.pauseLength)
	}
}
NewsTicker_img.count = 0
