var jsmarquees = [];
function jsmarquee(source, width, height, speed, interval)
{
	this.id = jsmarquees.length;
	this.ok = false;
	jsmarquees[jsmarquees.length] = this;

	if( this.id == 0 )
	{
		jsmarquees.oldload = window.onload;
		jsmarquees.onload = function()
		{
			for( var i=0; i<jsmarquees.length; i++ )
			{
				if( jsmarquees[i].ok ) jsmarquees[i].onload();
			}
		}
		window.onload = function() {if(jsmarquees.oldload){jsmarquees.oldload();jsmarquees.oldload=null;jsmarquees.onload();}}
	}

	this._speed = 0;
	this._height = 0;
	if( !document.getElementById ) return;
	this.ok = true;
	this.source = source;
	this.height = height;
	this.speed = this._speed = (speed? speed:2);
	this.interval = (interval? interval:100);

	var s='<div style="position:relative;width:'+ width +'px;height:'+ height +'px;overflow:hidden"'+
		' onmouseover="jsmarquees['+ this.id +'].onmouseover()" onmouseout="jsmarquees['+ this.id +'].onmouseout()">';
	s+='<div id="jsmarquee'+ this.id +'" style="position:absolute;left:0px;top:0px;width:100%;">';
	s+='</div></div>';
	document.write(s);

	this.onload = function()
	{
		this.source = document.getElementById(this.source);
		this.scroller = document.getElementById('jsmarquee'+ this.id);
		if (!this.source || !this.scroller) return;
		this.scroller.style.top = (this.height+8)+'px';
		this.scroller.innerHTML = this.source.innerHTML;
		this._height = this.scroller.offsetHeight;
		setInterval('jsmarquees['+ this.id +'].scroll()', this.interval);
	}
	this.onmouseover = function() { this._speed = 0; },
	this.onmouseout = function() { this._speed = this.speed; },
	this.scroll = function()
	{
		var h = parseInt(this.scroller.style.top);
		this.scroller.style.top = ((h > (this._height*(-1)+8)) ? (h-this._speed) : (this.height+8)) + 'px';
	}
}