/*
Author:		Marcel Petz
Contact:	Marcel.Petz@MZA.de
Company:	Fischer-Cross-Media GmbH (Medien-Zentrum Aichelberg)
Project:	Website of Lapp Group, Newsticker javascript
Filename:	newsticker3.js
Date:		2002-03-12
Description:	provides basic functions for use of a newsticker
		Usage:	call function newsticker with appropriate options. 
			It is not necessary to change anything in this file
			The appearance can be controlled by CSS. The newsticker
			line is in a span with id "newsticker". Zou can control
			font appearances with newsticker, links follow the normal
			css definitons (a, a:visited etc.).
ToDo:		Support for Netscape 4
Changelog:	-
*/


//Definition of global variables. 
var s_height;
var s_width;
var s_bordercolor = "red"; //border color of scroller, no function yet
var s_text;
//var s_borderwidth = 2; //not supported due to incompatible browser functions: IE draws borders inside the textbox, NS6 draws borders arround the textbox 8-(
var s_scrollspeed;
var s_scrollcontrol = 1;


//constructor
function newsticker(ticker_width, ticker_height, ticker_text, ticker_speed, ticker_color, ticker_bgcolor, ticker_bgimg) {
	s_width = ticker_width;
	s_height = ticker_height;
	s_bgcolor = ticker_bgcolor;
	s_text = ticker_text;
	s_scrollspeed = ticker_speed;
	if (document.layers) {
		document.write('<ilayer width='+ticker_width+' height='+ticker_height+' name="slider1" bgcolor='+ticker_bgcolor+' visibility=hide><layer name="slider2" ></layer></ilayer>');
		document.slider1.visibility="show";
		ns4marquee(document.slider1.document.slider2);
	} else {
		document.write('<div style="position:relative;overflow:hidden;width:'+s_width+'; height:'+s_height+'; background-color:'+s_bgcolor+';border:0px solid '+s_bordercolor+';"background-image:'+ ticker_bgimg +')>');
		document.write('<div id="slider" style="position:relative;">');
		document.write('<span id=newsticker><nobr>'+ ticker_text + '</nobr></span>');
		document.write('</div></div>');
		document.getElementById("slider").style.visibility="visible";
		document.getElementById("slider").style.left=0;
		dom_marquee(document.getElementById("slider"));
	}
}


function ns4marquee(whichlayer) {
	ns4layer=eval(whichlayer);
	ns4layer.document.write(s_text);
	ns4layer.document.close();
	sizeup=ns4layer.document.width;
	ns4layer.left-=s_width;
	ns4slide();
}


function ns4slide() {
	if (ns4layer.left>=sizeup*(-1)){
		ns4layer.left-=s_scrollspeed;
		setTimeout("ns4slide()",100);
	}
	else{
		ns4layer.left=s_width;
		//ns4slide()
	}
}

function dom_marquee(whichdiv) {
	dom_div=eval(whichdiv);
	//dom_div.style.left=s_width;
	sizeup=s_width;
	s_scrollcontrol=0
	dom_slide();
	setInterval("dom_slide()",s_scrollspeed);
}



function stop_slide() {
	s_scrollcontrol = 0;
}

function slide_l() {
	s_scrollcontrol = -3;
}

function slide_r() {
	s_scrollcontrol = 3;
}


function dom_slide() {
	dom_div=eval(document.getElementById("slider"));
	if (((parseInt(dom_div.style.left)>(document.getElementById("slider").offsetWidth-s_width)*(-1)) && s_scrollcontrol < 0 ) || (parseInt(dom_div.style.left)< 0 && s_scrollcontrol > 0 ) ){
		dom_div.style.left=parseInt(dom_div.style.left)+s_scrollcontrol;
	}

}

