/* 
==================================================
JavaScript vorbereiten 091001 (Wolfgang)
==================================================

Erm�glicht es, per js on pageload zu ver�ndernde Elemente schon mal 
�ber den body.js -Selektor vorzubereiten, so dass es weniger "Umspr�nge" gibt.

- className muss �ber addClass gesetzt werden, wenn bereits eine Klasse existiert.
 in dem Fall muss addClass nat�rlich auch schon geladen sein!
*/ 

document.body.className = "js";



/*
==================================================
Executing JavaScript on page load 060528 (Simon Willison)
==================================================
-> http://simonwillison.net/2004/May/26/addLoadEvent/

Hiermit k�nnen beliebig viele Funktionen beim "window.onload" aufgerufen werden
ohne dass ein vorher definiertes window.onload �berschrieben wird.

- addLoadEvent einfach als erste Funktion einbinden
- Funktionen per addLoadEvent(Funktionsname) dem "window.onload" hinzuf�gen
  anstatt direkt per window.onload=Funktionsname;
*/

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    };
  }
} 



/*
==================================================
Element-Klasse hinzuf�gen/entfernen 091001  (Wolfgang)
==================================================

Elementen soll eine Klasse hinzugef�gt werden k�nnen, 
ohne bestehende Klassen zu �berschreiben oder den Klassennamen zu wiederholen.
*/

function addClass(elem, str) {
	var regExS = new RegExp("\\" + str + "\\b"); // -> /\str\b/ -> Sucht str als einzelnes Wort
	if ( !elem.className || elem.className === "" || elem.className === " ") {
		elem.className = str;
	} else if (!regExS.test(elem.className)){
		elem.className += " " + str;
	}
}

function removeClass(elem, str) {
	var regExS = new RegExp("\\" + str + "\\b","g");
	elem.className = elem.className.replace(regExS, "");
	}



/*
==================================================
Footer am Screen-Ende ausrichten 091001  (Wolfgang)
==================================================

Auch bei k�rzeren Seiten soll der Footer den Screen unten abschlie�en.
-> unn�tig da reine CSS-L�sung m�glich



function checkeHoehe(){
	var differenz = document.body.clientHeight;
	if (typeof window.innerWidth != 'undefined'){
		differenz = differenz - window.innerHeight;
	} else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientHeight != 'undefined' && document.documentElement.clientHeight !== 0 ){
		differenz = differenz - document.documentElement.clientHeight;	
		if ( navigator.appVersion.indexOf("MSIE 7") != -1 ) {
			document.getElementById("footer").style.left = Math.ceil((document.documentElement.clientWidth-981)/2)+"px"; 
		}
	}
	if (differenz < -10){
		addClass(document.body, "kleiner");
		//document.getElementById("footer").style.position = "relative";
		//document.getElementById("footer").style.top = -differenz+"px";
	} else {
		//var str = document.body.className
		document.body.className = document.body.className.replace(/kleiner\b/g, "");
		 
	}
}

window.onresize = checkeHoehe

// +++ ben�tigt in dieser Form "Executing JavaScript on page load", 
// checkeHoehe(); kann aber auch anders aufgerufen werden.
addLoadEvent(checkeHoehe);
checkeHoehe();
*/



/*
==================================================
Ticker 091002  (Wolfgang)
==================================================

js-ticker, der wie das Marquee-Element funktioniert, aber weicher scrollt und validiert.

*/
var tickerspeed = 3;
var tickinterval;
var ticker;
var tickerleft;
var tickerparentid="ticker";

function tick(){
	tickerleft -= tickerspeed;
	if (tickerleft < -ticker.clientWidth){
		tickerleft = ticker.parentNode.clientWidth;
		}
	ticker.style.left = tickerleft + "px";
	}

function initTicker(){
	if (document.getElementById(tickerparentid)){
		ticker = document.getElementById(tickerparentid).getElementsByTagName("div")[0];
		tickerleft = ticker.parentNode.clientWidth;
		tick();
		tickinterval = window.setInterval(tick, 50);
	}
	addClass(document.body, "js");
}

// +++ ben�tigt in dieser Form "Executing JavaScript on page load", 
// initTicker(); kann aber auch anders aufgerufen werden.
addLoadEvent(initTicker);


