var ticker_textDiv1 = null;
var ticker_textDiv2 = null;


var scrollIntervall = false;


window.onload = function(event){

var ticker_containerDiv = document.createElement('div');
ticker_containerDiv.id =  "tickerDiv";



var ticker_containerInnerDiv = document.createElement('div');
ticker_containerInnerDiv.id =  "tickerStartDiv";
ticker_containerInnerDiv.style.width = '10000px'; //'4298px'; 
ticker_containerInnerDiv.style.height = '25px';
ticker_containerInnerDiv.style.position = 'absolute' ;
ticker_containerInnerDiv.style.top = '0px' ;
ticker_containerInnerDiv.style.left = '500px'; // musts be as wide as "tickerDiv"
ticker_containerInnerDiv.style.lineHeight = '25px';


ticker_textDiv1 = document.createElement('span');
ticker_textDiv1.id =  "tickerTextContainer1Div";



ticker_containerInnerDiv.appendChild(ticker_textDiv1);

ticker_containerDiv.appendChild(ticker_containerInnerDiv);

document.getElementsByTagName("body")[0].appendChild(ticker_containerDiv);


//addTextToTicker(' ' , '');


ticker_getTickerContentText();

}




function ticker_movementInterval(event){
	var currentPos = ticker_textDiv1.style.left;
	currentPos = parseInt( currentPos.substr(0, currentPos.length -2) );
	
	currentPos-=1;

	if ( (ticker_textDiv1.offsetWidth) + currentPos < 0 ) currentPos = -(ticker_textDiv1.offsetWidth/2);
	
	
	
	ticker_textDiv1.style.left = currentPos + 'px';
	
}


function clearTickerText(){

	while (ticker_textDiv1.hasChildNodes()){
	
		ticker_textDiv1.removeChild( ticker_textDiv1.firstChild );
	}
	ticker_textDiv1.style.left = '2px';
}

var xmlHttpObject = false;

function ticker_getTickerContentText(){
	// create request-obj


	if (typeof XMLHttpRequest != 'undefined') 
	{
	    xmlHttpObject = new XMLHttpRequest();
	}
	if (!xmlHttpObject) 
	{
	    try 
	    {
	        xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP");
	    }
	    catch(e) 
	    {
	        try 
	        {
	            xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
	        }
	        catch(e) 
	        {
	            xmlHttpObject = null;
	        }
	    }
	}
	
	
	xmlHttpObject.open('get','?type=667');
	xmlHttpObject.onreadystatechange = ticker_receiveTickerContentText;
	xmlHttpObject.send(null);
	
}

function ticker_receiveTickerContentText(){

	if (xmlHttpObject.readyState == 4)
    {
		clearTickerText();
		
		var textLines = xmlHttpObject.responseText.split('####');
		
		for(var i=0;i<textLines.length;i++){
			
			//look for links
			var linkResult = textLines[i].match(/\[\[\[(.*)\]\]\]/);
			
			var linkUrl = '';
			
			if (linkResult && linkResult.length > 1){
				linkUrl = linkResult[1];
				textLines[i] = textLines[i].replace(/\[\[\[.*\]\]\]/ , '');
			}
			
			
        	if (textLines[i].substr(0,1) != '<')
				addTextToTicker(textLines[i], linkUrl);
		}
		doubleTickerText();
		
		if (!scrollIntervall)
			scrollIntervall = setInterval("ticker_movementInterval()",25);
			
    }
	
	
}

function addTextToTicker(newText, linkUrl){
	
	var ticker_textNode1 = document.createTextNode(newText);
	//ticker_textDiv1.appendChild(ticker_textNode1);
	
	if (linkUrl && linkUrl.length > 0){
		
		var ticker_textAnchor = document.createElement('a');
		var anchorAttr1 = document.createAttribute('href');
		anchorAttr1.nodeValue = linkUrl;
		
		ticker_textAnchor.setAttributeNode(anchorAttr1);
		
		ticker_textAnchor.appendChild(ticker_textNode1);
		
		ticker_textDiv1.appendChild(ticker_textAnchor);
	}
	else {
		ticker_textDiv1.appendChild(ticker_textNode1);
	}

	var ticker_imgNode1 = document.createElement('img');
	var imgAttr1 = document.createAttribute('src');
	imgAttr1.nodeValue = 'fileadmin/wkb/style/icon.png';
	var imgAttr2 = document.createAttribute('alt');
	imgAttr2.nodeValue = '-';
	
	ticker_imgNode1.style.margin = '0px 10px';
	
	
	ticker_imgNode1.setAttributeNode(imgAttr1);
	ticker_imgNode1.setAttributeNode(imgAttr2);
	
	
	ticker_textDiv1.appendChild(ticker_imgNode1);
	
	
	
}


// copies the whole ticker text and appends it to the end of the text to archieve a smooth wrap
function doubleTickerText(){
	
	var tickerTextNodeCount = ticker_textDiv1.childNodes.length;
	
	for(var i=0; i<tickerTextNodeCount; i++){
		ticker_textDiv1.appendChild( ticker_textDiv1.childNodes[i].cloneNode(true));
	}
	
}
