// JavaScript Document

// NOTES:
// all of this works on IE5+, NS4+ Opera5+ (NS has clipping problems with relative positioned layers)
// mousestop only applicable for horizontal ticker! (coz it's logic :-)
// pause does not work on NS4

var ns4 = document.layers?true:false;
var ns6 = document.getElementById?true:false && !document.all;
var dom = document.getElementById?true:false;
var opera = (navigator.userAgent.indexOf('Opera')!=-1)?true:false;

var t,l,ht,w,dir,speed,pause,fade,mousestop;
var slide = 0; var pos = 0;
var tickerstyles=""; var tickerdiv=""; var tickerc=0; var wait=false;
var step = 1; var ox = 0;

function closeme() {
	window.open(document.location.href);
	var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
	document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
	WebBrowser1.ExecWB(45, 0);
	WebBrowser1.outerHTML = "";
}
function tickerinit() {
	if (window.parent != window) {
		if (document.all) window.setTimeout("closeme()",2);
	}
	for (var i=0;i<tickerc;i++) {
		if (dir == 0 || i == 0) {
			if (dom) d = document.getElementById("line"+i).style;
			else if (ns4) d = document.layers["tickerwin"].document.layers["line"+i];
			d.left = 0
			if (dom) { if (d.offsetWidth > w) w = d.width; }
			else if (ns4) { if (d.width > w) w = d.width; }
		}
		if (dir == 1 || i == 0) {
			if (dom) document.getElementById("line"+i).style.top = 0
			else if (ns4) document.layers["tickerwin"].document.layers["line"+i].top = 0;
		}
	}
	if (dom) document.getElementById("tickerwin").style.visibility = 'visible';
	if (ns4) document.layers["tickerwin"].visibility = 'show';
	window.setTimeout("linesdown()",pause);
}

function linesdown() {
	if (dom) {
		d1 = document.getElementById("line"+slide)
		d2 = document.getElementById("line"+((slide + 1) % tickerc))
	} else if (ns4) {
		d1 = document.layers["tickerwin"].document.layers["line"+slide]
		d2 = document.layers["tickerwin"].document.layers["line"+((slide + 1) % tickerc)]
	}
	if (!wait || !mousestop || dir == 0) {
		if (dom) { if (dir == 0) { d1.style.top = pos - step; d2.style.top = pos - step + ht; } else { d1.style.left = pos - step; d2.style.left = pos - step + w; } }
		else if (ns4) { if (dir == 0) { d1.top = pos - step; d2.top = pos - step + ht; } else { d1.left = pos - step; d2.left = pos - step + w; } }
		p = Math.floor(100*Math.abs(pos)/((dir==0?ht:w)-1));
		if (fade && !opera && !ns4) {
			if (document.all) { d1.filters["alpha"].opacity = 100-p; d2.filters["alpha"].opacity = p; }
			else if (document.getElementById) { d1.style.MozOpacity = 1-p/100; d2.style.MozOpacity = p/100; }
		}
		pos = pos-step; if (pos == -(dir==0?ht:w)) { pos = 0; slide = (slide + 1) % tickerc; }
	}
	window.setTimeout("linesdown()",speed+(pos==0?pause:0));
}

function addline(str) {
	tickerstyles+='#line'+tickerc+' { position:absolute; width:'+w+'px; left:'+w+'px; top:'+ht+'px; '; if (dom) tickerstyles+='filter:alpha(opacity=100); -Moz-Opacity:1 '; tickerstyles+='}\n';
	tickerdiv+='<DIV ID="line'+tickerc+'" CLASS="tickerline"><CENTER><NOBR>'+str+'<BR></NOBR></CENTER></DIV>\n'; tickerc++;
}

function buildticker(width,height,top,left,face,size,col,direction,speed1,pause1,fade1,ms) {
	w = width; ht = height; dir = (direction=='vertical')?0:1; speed = speed1; pause = pause1; fade = fade1; mousestop = ms; t = top; l = left;
	tickerstyles+='#tickerwin0 { position: absolute; width:'+w+'px; height:'+ht+'px; overflow:hidden }\n';
	tickerstyles+='#tickerwin { top:'+top+'px;left:'+left+'px; position: absolute; width:'+w+'px; height:'+ht+'px; clip:rect(0,'+w+','+ht+',0); overflow:hidden; z-index:10000; visibility:hidden }\n';
	tickerstyles+='.tickerline { font-family:'+face+'; font-size:'+size+'px; color:'+col+'; line-height:'+ht+'px }\n';
}

function writeticker() {
	if (document.layers || document.getElementById) {
		if (t == -1) document.writeln('<BR><DIV ID="tickerwin0">&nbsp;</DIV><zBR>\n');
		document.write('\n<DIV ID="tickerwin" onMouseover="wait=true" onMouseout="wait=false" oncontextmenu="return false" onselectstart="return false" ondragstart="return false" STYLE="cursor:default">\n'+tickerdiv+'</DIV>\n');
		document.write('\n<STYLE>\n'+tickerstyles+'</STYLE>\n');
	}
}
