/* gk: found this simple ticker on following webside (17.03.2010):
   http://www.doktormolle.de/temp/ticker6.htm
   
   Installation:
   1. Put the following snippet into head tags:
      <script type="text/javascript">var tNews=new Array();</script> 
    
   2. Define some tickertexts:
      tNews.push('<a target="_self" href="home_en/press"><b>Lorem ipsum dolor sit amet, consetetur  sadipscing elitr</b><\/a>');
      tNews.push('<a target="_self" href="home_en/expertise"><b>At vero eos et accusam et justo duo dolores et ea rebum.</b><\/a>');
   
   3. Start ticker at desired postion with:
      <script language="javascript" src="/styles/js/horizontalTicker.js"></script>
   
   4. Adjust variables below...
*/

/**** define variables ****/
strDir      = 'right';             // Scrolling direction (up,down,left,right)
strDelimiter= '&nbsp;';            // Delimiter between items (only with scrolling direction left/right)
intInterval = 20;                  // Interval (ms)
blnStopHover= true;                // Stop at mouseover (true/false)
intRepeat   = 5;                   // Repeating of items; if there's space between items, rise amount (minimum: 1)
strBorder   = '0px solid #FFFFFF'; // Border (eg. 1px solid #000000)
intWidth    = 9999;                 // Width (px)
intHeight   = 22;                  // Height (px)
intPadding  = 0;                   // Padding of content to border
strBgc      = '';                  // Background-color (eg. #515151)
strTxtc     = '';                  // Text-color (eg. #FFFFFF)
strAlign    = 'left';              // Text-alignment
intStep     = 1;                   // Steps per pass (px)

// NOTE: Define styles in css-selector #ticker or span.ticker

/**** main functions ****/

// IE starting at v4?
IE=document.all&&!window.opera;
// DOM-browser(except IE)
DOM=document.getElementById&&!IE;

// runs with browser starting at IE4 and in DOM-browser
if (DOM||IE){
	// determine, if horizontal or vertical ticker
	blnDir=(strDir=='up'||strDir=='down')?true:false;
	
	// use nobr with horizontal ticker, otherwise use a div
	strNobr=(blnDir)?'div':'nobr';
	
	// delimiter between items
	// use value from strDelimiter with vertical ticker, otherwise breakrows
	strDelimiter=(blnDir)?'<br><br>':strDelimiter;
	
	// string for text-direction with vertical ticker
	strAlign=(blnDir)?'text-align:'+strAlign+';':'';
	
	// variable to store interval
	var objGo;
	// variable to store position
	intPos=0;
	
	// create string for mouseOver
	strStopHover=(blnStopHover)?'onmouseover="clearInterval(objGo)"onmouseout="objGo=setInterval(\'DM_ticken()\','+intInterval+')"':'';
	
	// join text to valid string
	strText=(blnDir)?tNews.join(strDelimiter)+strDelimiter:tNews.join(strDelimiter)+strDelimiter;
	strNews=strText;
	for(i=1;i<intRepeat;++i) {
		strNews+=strText;
	}
	
	// create ticker html-code
	strTicker = '<div style="position: relative; '+strAlign+'overflow:hidden;background-color:'+strBgc+
				';border:'+strBorder+';width:'+intWidth+'px;height:'+intHeight+'px;padding:'+intPadding+
				'px;"><'+strNobr+'><div id="ticker"style="position:relative;color:'+strTxtc+';background-color:'+strBgc+
				';"'+strStopHover+'>'+strNews+'</div></'+strNobr+'></div>';
	
	// write html-div to page
	document.write(strTicker);
	
	// main ticker function
	function DM_ticken(){
		// get ticker-object depending on browser
		objTicker=(IE)?document.all.ticker:document.getElementById('ticker');
		
		// Array to manipulate properties of ticker depending on direction
		// direction=new Array(Pixelvalue of position-changement, widht/height of ticker, position-value to change);
		arrDir=new Array();
		arrDir['up']    =new Array(-1,objTicker.offsetHeight,'top');
		arrDir['down']  =new Array(1,objTicker.offsetHeight,'top');
		arrDir['left']  =new Array(1,objTicker.offsetWidth,'left');
		arrDir['right'] =new Array(-1,objTicker.offsetWidth,'left');
		
		// calculate width and height of items to display
		dblOffset=arrDir[strDir][1]/intRepeat;
		
		// calculate new position-value
		switch(strDir) {
			case'right':
				intPos=(Math.abs(intPos)>dblOffset)?0:intPos;break;
			case'left':
				intPos=(intPos>0)?-dblOffset:intPos;break;
			case 'up':
				intPos=(Math.abs(intPos)>dblOffset)?0:intPos;break;
			case 'down':
				intPos=(intPos>0)?-dblOffset:intPos;break;
		}
		// set new position-value
		objTicker.style[arrDir[strDir][2]]=intPos + "px";
		
		// rise/lower position-value
		intPos+=intStep*arrDir[strDir][0];
	}
	// let it scroll!
	objGo=setInterval('DM_ticken()',intInterval);
}
/**** end ****/
