/* ***********************************************
*** Konflikte mit anderen Frameworks vermeiden ***
*********************************************** */
var sl = jQuery.noConflict();

/* **************
*** Verpacken ***
************** */
;(function(sl){
	
	/* *********************************
	*** Funktion fuer die Navigation ***
	********************************* */
	sl.fn.scrolling = function()
	{
		/* *****************************************
		*** Pruefen ob ein Element vorhanden ist ***
		***************************************** */
		if (!sl('#scrollbereich').length){ // Ist ein Element vorhanden
			return; // Wenn nicht, beenden
		}
		
		/* **************
		*** Variablen ***
		************** */
		var $scrollbreite = sl('.scrollausgabe').outerWidth();
		var $anzahl = sl('.scrollausgabe').length;
		var $aktiv = 1;
		var $aktiv_neu = 0;
		var $animation = 0;
		var $auto = 1;
		var $timer = 7000;
		var $starttimer = 5000;
		
		/* ****************************
		*** Erstes element anzeigen ***
		**************************** */
		sl('.scrollausgabe:first').show();
		sl('a#ausgabe_1').removeClass('scrollsteuerung').addClass('scrollsteuerung_aktiv');
		
		/* ***************
		*** Funktionen ***
		*************** */
		/* *** Autoscroll *** */
		$autoscroll = function()
		{
			if(window.startautomatik){
				window.clearTimeout(startautomatik);
			}
			if ($auto == 1 && $animation == 0){
				 $animation = 1;
				 $aktiv_neu = eval($aktiv+1);
				 
				 if ($aktiv_neu >= ($anzahl+1)){
					 $aktiv_neu = 1;
				 }
				 //alert($aktiv_neu);
				 sl('#scrollausgabe_'+$aktiv_neu)
									.css('top', 0)
									.css('left', $scrollbreite);
				 sl('#scrollausgabe_'+$aktiv_neu).show();
				 
				 sl('#scrollausgabe_'+$aktiv).animate({left: -$scrollbreite}, 'slow');
				 sl('#scrollausgabe_'+$aktiv_neu).animate({left: 0}, 'slow', function(){
																					  sl('#scrollausgabe_'+$aktiv).hide();
																					  sl('#scrollausgabe_'+$aktiv)
																												.css('top', 0)
																												.css('left', 0);
																					  sl('#scrollsteuerung a#ausgabe_'+$aktiv).removeClass('scrollsteuerung_aktiv');
																					  sl('#scrollsteuerung a#ausgabe_'+$aktiv).addClass('scrollsteuerung');
																					  sl('#scrollsteuerung a#ausgabe_'+$aktiv_neu).removeClass('scrollsteuerung');
																					  sl('#scrollsteuerung a#ausgabe_'+$aktiv_neu).addClass('scrollsteuerung_aktiv');
																					  
																					  $aktiv = $aktiv_neu;
																					  $animation = 0;
																					  });
				 
				 automatik = window.setTimeout("$autoscroll()",$timer);
				 return false;
			}
		}
		
		/* *************
		*** Listener ***
		************* */
		/* *** Scrollsteuerung (Dots) *** */
		$dobj = sl('.scrollsteuerung, .scrollsteuerung_aktiv');
		$dobj.click(function(){
							if(window.automatik){
								window.clearTimeout(automatik);
							}
							if ($animation == 0){
								$animation = 1;
								$id = sl(this).attr('id');
								$id = $id.replace(/ausgabe_/, "");
								
								/*sl('#scrollausgabe_'+$id)
													.css('top', 0)
													.css('left', 0);*/
								
								sl('#scrollsteuerung a#ausgabe_'+$aktiv).removeClass('scrollsteuerung_aktiv');
								sl('#scrollsteuerung a#ausgabe_'+$aktiv).addClass('scrollsteuerung');
								
								sl('#scrollausgabe_'+$aktiv).fadeOut('fast');
								sl('#scrollausgabe_'+$id).fadeIn('slow');
								
								$aktiv = $id;
								$animation = 0;
								//alert($aktiv);
								return false;
							}
							});
		
		/* *** Pfeilsteuerung *** */
		$plobj = sl('.pfeil_links');
		$plobj.click(function(){
							 if(window.automatik){
								window.clearTimeout(automatik);
							}
							 if ($animation == 0){
								 $animation = 1;
								 $aktiv_neu = eval($aktiv+1);
								 
								 if ($aktiv_neu >= ($anzahl+1)){
									 $aktiv_neu = 1;
								 }
								 //alert($aktiv_neu);
								 sl('#scrollausgabe_'+$aktiv_neu)
													.css('top', 0)
													.css('left', $scrollbreite);
								 sl('#scrollausgabe_'+$aktiv_neu).show();
								 
								 sl('#scrollausgabe_'+$aktiv).animate({left: -$scrollbreite}, 'slow');
								 sl('#scrollausgabe_'+$aktiv_neu).animate({left: 0}, 'slow', function(){
																									  sl('#scrollausgabe_'+$aktiv).hide();
																									  sl('#scrollausgabe_'+$aktiv)
																																.css('top', 0)
																																.css('left', 0);
																									  sl('#scrollsteuerung a#ausgabe_'+$aktiv).removeClass('scrollsteuerung_aktiv');
																									  sl('#scrollsteuerung a#ausgabe_'+$aktiv).addClass('scrollsteuerung');
																									  sl('#scrollsteuerung a#ausgabe_'+$aktiv_neu).removeClass('scrollsteuerung');
																									  sl('#scrollsteuerung a#ausgabe_'+$aktiv_neu).addClass('scrollsteuerung_aktiv');
																									  
																									  $aktiv = $aktiv_neu;
																									  $animation = 0;
																									  });
								 
								 return false;
							 }
							 });
		
		$probj = sl('.pfeil_rechts');
		$probj.click(function(){
							 if(window.automatik){
								window.clearTimeout(automatik);
							}
							 if ($animation == 0){
								 $animation = 1;
								 $aktiv_neu = eval($aktiv-1);
								 
								 if ($aktiv_neu <= 0){
									 $aktiv_neu = $anzahl;
								 }
								 
								 sl('#scrollausgabe_'+$aktiv_neu)
													.css('top', 0)
													.css('left', -$scrollbreite);
								 sl('#scrollausgabe_'+$aktiv_neu).show();
								 
								 sl('#scrollausgabe_'+$aktiv).animate({left: ($scrollbreite+$scrollbreite)}, 'slow');
								 sl('#scrollausgabe_'+$aktiv_neu).animate({left: 0}, 'slow', function(){
																									  sl('#scrollausgabe_'+$aktiv).hide();
																									  sl('#scrollausgabe_'+$aktiv)
																																.css('top', 0)
																																.css('left', 0);
																									  sl('#scrollsteuerung a#ausgabe_'+$aktiv).removeClass('scrollsteuerung_aktiv');
																									  sl('#scrollsteuerung a#ausgabe_'+$aktiv).addClass('scrollsteuerung');
																									  sl('#scrollsteuerung a#ausgabe_'+$aktiv_neu).removeClass('scrollsteuerung');
																									  sl('#scrollsteuerung a#ausgabe_'+$aktiv_neu).addClass('scrollsteuerung_aktiv');
																									  
																									  $aktiv = $aktiv_neu;
																									  $animation = 0;
																									  });
								 
								 return false;
							 }
							 });
		
		
		/* *********
		*** Init ***
		********* */
		startautomatik = window.setTimeout("$autoscroll()",$starttimer);
	}
	
	/* **************
	*** Los gehts ***
	************** */
	sl(document).ready(function(){
		/* *** Initialisieren *** */
		sl.fn.scrolling();
	});
	
})(jQuery);
