/*
	News Animation:
	
	news.automation (true: automatische animation, false: animation geht nicht automatisch weiter)
	news.animation  (true: animation l�uft, false: animation ist beendet)
	news.animationTime (Hier wird angegeben, wie lange ein Newsblock angezeigt werden soll.)
	news.nextAfterClickTimeout (Hier wird angegeben, wie lange nach einem Klick auf einen Newslink die News angezeigt werden soll).
	news.links (hier steht nach dem laden der Seite der HTML-Text f�r die Newslinks.)
	news.addLinks (zeigt die links an)
	news.items (Enth�lt alle IDs der Newsboxen in einem Array im format: "#news_0")
	news.CurItem (Enh�lt das aktuell sichtbare Newselement)
	news.setCurItem (setzt das CurItem)
	news.nextItem (enth�lt das n�chste Newselement)
	news.setNextItem (setzt das n�chste Newselement)
	news.animate (startet die Animation vom aktuellen zum n�chsten Newselement es kann die Duration �bergeben werden)
	news.show (Zeigt das Newselement an, dessen ID �bergeben wird die Id ist ein Nummernwert von 0 bis anzahl der Elemente minus 1)
*/

if(window.news == undefined || window.news == null) window.news = {};
window.news = { 
	'items':new Array(),
	'curItem':null,
	'setCurItem': function(id){
		news.curItem = id;
	},
	'nextItem':0,
	'setNextItem':function(id){
		news.nextItem = id;
		if(news.nextItem >= news.items.length)
			news.nextItem = 0;
	},
	'timeOut': null,
	'links':'',
	'addLinks': function(id) {
		//Einblenden der Navigation:
		$('#newsnavigation').css({'display':'none'});
		$('#newsnavigation').html(news.links);
		$('#newsnavigation').fadeIn(0,'easein' );

	},
	'automation':true,
	'animationTime':8000,
	'animation':false,
	'animate':function(duration) {
		//TimeOut beenden:
		if(news.timeOut) clearTimeout(news.timeOut);
		$(news.items[news.curItem]).stop();
		//Links setzen:
		$('#newsnavigation').children('a').removeClass("highlight");
		$('#newslink'+news.nextItem).addClass("highlight");
		
		//Duration f�rs einblenden:
		if(duration == undefined || duration == null) duration = "slow";
		
		//neues Element �ber das alte legen:
		$(news.items[news.curItem]).css({ 'z-index':1 });
		$(news.items[news.nextItem]).css({ 'z-index':2 });
		//Element einblenden:
		news.animation = true;
		//$(news.items[news.nextItem]).fadeIn(1500, function(){
		$(news.items[news.nextItem]).animate({ "opacity": "show"}, 
			{ "duration": duration, "easing": "easein", "complete":function(){
			//Element verstecken:
			$(news.items[news.curItem]).css({ 'display':'none'});
			
			//curElement setzten:
			news.setCurItem(news.nextItem);
			news.setNextItem(news.nextItem+1);
			
			news.animation = false;
			//Animation erneut aufrufen:
			if(news.automation) {
				news.timeOut = setTimeout('news.animate("slow")', news.animationTime);
			}
		}});
	},
	'show':function(itemID){
		//Wenn auf einen blauen Balken geklickt wird:
		if(news.animation != true) {
			news.automation = false;
			news.setNextItem(itemID);
			if(itemID != news.curItem) {
				news.animate("slow");
			}
			//Nach Klick auf einen Link nach 20sec weiter mit der animation:
			news.timeOut = setTimeout('news.nextAfterClick()', news.nextAfterClickTimeout);
		}
	},
	'nextAfterClickTimeout':20000,
	'nextAfterClick':function() {
		news.automation = true;
		news.animate("slow");
	}
};
//Beim Starten:
$(document).ready(function(){
	//Ids f�r die Newsfelder setzen:
	var counter = 0;
	var total = ($("#news-boxes").children('.news-box')).length;
	$("#news-boxes").children('.news-box').each(function(i){
		counter++;
		this.id = "news_" + i;
		news.items[i] = '#'+this.id;
		if(counter<6) news.links += '<a href="javascript:;" id="newslink'+i+'" onfocus="this.blur();" onclick="news.show('+i+');return false"><img src="/fileadmin/templates/img/news-arrow-link.gif" alt="News '+ i +'" /></a>';
 		if(total<6 && counter==5) news.links += '<a href="/profil/newsarchiv/" id="newslink'+i+'" onfocus="this.blur();"><img src="/fileadmin/templates/img/3pfeile_news.gif" alt="Zum Newsarchiv" /></a>';
});


	
	//Zuf�llige Startnews setzen:
	var randomId = Math.round(Math.random() * (news.items.length-1));
	news.setCurItem(randomId);
	news.setNextItem(randomId+1);
	
	//news.curItem = news.items.length-1;
	news.addLinks();
	news.animate(0);
});