function getID(id,doc)
{
	if (!doc) doc = document;
	if (document.all) return doc.all[id];
	else return doc.getElementById(id);
}

function CDIScroller2(id)
{
	this.div = getID(id);
	this.id = id;
	this.tlen = 20;
	this.speed = 100;
	this.delay = 3000;
	this.init = cdisc2_init;
	self["_cdisc2_"+id] = this;
}
function cdisc2_init(texts)
{
//	if (navigator.appVersion.indexOf("MSIE 4")>0) return; //IE4 is buggy
	
	this.texts = texts; this.i = 0;
	
	// start inner size measurment
	this.div.innerHTML = '<div id="'+this.id+
		'2" style="height:100%;width=100%">Initializing</div>';
	setTimeout("cdisc2_init2('"+this.id+"')",900);
}
function cdisc2_init_edges(o,rev)
{
	var i; var k = 1/(rev ? -o.tlen : o.tlen);
	for (i=0;i<4;i++) {
		var b = (o.code >> i) & 1;
		o.pos[i] = ((o.code>>(i&2))&3)==3 ? o.maxs[(i&2)|1]/2 : o.maxs[i^b];
		o.diff[i] = (o.maxs[i]-o.pos[i])*k;
		if (rev) o.pos[i] = o.maxs[i];
	}
	if (++o.code > 15) o.code = 1;
}
function cdisc2_init2(id)
{
	var o = self["_cdisc2_"+id];
	var el = getID(id+'2');
	o.maxs = [ 0,el.offsetWidth,0,el.offsetHeight ];
	o.pos = new Array();
	o.diff = new Array();
	o.txi = 0; o.code = 1;
		
	o.div.innerHTML = '<div style="position:absolute;overflow:hidden;xborder:1px solid red;width:'+o.maxs[1]+'px;height:'+o.maxs[3]+'px" id="'+o.id+'2" onmouseover="this.stop=true" onmouseout="this.stop=false"></div>';
	o.n = 0;
	o.ih = setInterval("cdisc2_animate('"+o.id+"')",o.speed);
}
function cdisc2_mkrect(o)
{
	var s = 'rect('; var i; var map = [2,1,3,0];
	for (i=0;i<4;i++) {
		var m = map[i];
		s += (i?" ":"")+Math.floor(o.pos[m])+"px";
		o.pos[m] += o.diff[m];
	}
	return s+')';
}
function cdisc2_next(id)
{
	var o = self["_cdisc2_"+id];
	var el = getID(id+'2');
	cdisc2_init_edges(o,1); 
	o.n = o.tlen;
	if (el.stop == true)
		 setTimeout("cdisc2_next('"+id+"')",o.delay);
		 else
		 o.ih = setInterval("cdisc2_animate('"+o.id+"')",100);
}
function cdisc2_animate(id)
{
	var o = self["_cdisc2_"+id];
	var el = getID(id+'2');
	if (!o.n) {
		cdisc2_init_edges(o,0);
		el.innerHTML = o.texts[o.txi];
		if (++o.txi >= o.texts.length) o.txi = 0;
	}
	el.style.clip = cdisc2_mkrect(o);
	el.style.color = 'rgb(0,0,'+o.n+')'; // force Mozilla to redraw
	if (o.n-- < -o.tlen) {
		 clearInterval(o.ih);
		 setTimeout("cdisc2_next('"+id+"')",o.delay);
	}
}

/*
function CDIScroller(id)
{
	this.div = getID(document,id);
	this.id = id;
	this.interval = 100;
	this.delay = 2500;
	this.init = cdisc_init;
	self["_cdisc_"+id] = this;
}

function cdisc_init(texts)
{
	if (navigator.appVersion.indexOf("MSIE 4")>0) return; //IE4 is buggy
	var s = "";
	var w = this.div.style.width;
	var h = this.div.style.height;
	alert(w);
	this.lines = texts.length;
	for (var i=0;i<texts.length;i++) 
		s+='<div style="height:'+h+';width:'+w+';">'+
			texts[i]+'</div>\n';
	this.div.innerHTML = '<div style="position:relative;" onmouseout="this.stuj=false" onmouseover="this.stuj=true">'+s+'</div>';
	setTimeout("cdisc_start('"+this.id+"')",this.delay);
	this.off = 0; this.n = 0;
}
function cdisc_start(id)
{
	var o = self["_cdisc_"+id];
	o.cnt = parseInt(o.div.style.height);
	if (o.n++ >= o.lines) { o.n = 0; o.off = o.cnt; }
	o.ih = setInterval("cdisc_scroll('"+id+"')",o.interval);
}
function cdisc_scroll(id)
{
	var o = self["_cdisc_"+id];
	var el = o.div.children ? o.div.children[0] : o.div.firstChild;
	if (!el.stuj){	el.style.top = --o.off;
		if (--o.cnt <= 0) {
			clearInterval(o.ih);
			setTimeout("cdisc_start('"+id+"')",o.delay);
		}
	}
}
*/
