// JScript File
/*Fading Images*/

	var CONST_FadingImages_BilderContainer = null;
	var CONST_FadingImages_Active = "active";
	var CONST_FadingImages_OldActive = "oldactive";
	var CONST_FadingImages_Bilder = "bilderreihenfolge";
	var CONST_FadingImages_IndecatorIndex = "index";
	var CONST_FadingImages_TimeoutFunction = null;
	/*Einstellungen*/
	var FadingImages_EinblendZeit = 3000; 				//Wie lange die Bilder zum Einblenden benötigen
	var FadingImages_EinblendZeitIndecator = 250;		//Wie lange die Bilder zum Einblenden brauchen, wenn mit dem Cursor ein Indecator beruehrt wird
	var FadingImages_EingeblendetZeit = 3000; 			//Wie lange die Bilder angezeigt werden bevor das nächste Bild eingeblendet wird
	
	var FadingImages_ZIndexBegin = 100; 				//Wo der Z-Index der Elemente beginnen soll
	var FadingImages_FadingSourceContainer = "fadingSourceContainer"; //
	var FadingImages_ImagesClass = "fadingpic";			//Klasse zur initialisierung der Bilder die zur Auswahl stehen
	var FadingImages_IndicatorContainerClass = "indicatorContainerClass"; //Conatiner der die Indicatoren beinhaltet (kleine rechtecke links unten) 

	var FadingImages_IndicatorClass = "indicatorClass"; //Conatiner der die Indicatoren beinhaltet (kleine rechtecke links unten) 
	var FadingImages_IndicatorAktivClass = "aktiv"; 		//Conatiner der die Indicatoren beinhaltet (kleine rechtecke links unten) 
	
	function FadingImages_init(divContainer)
	{
		CONST_FadingImages_BilderContainer = $("#" + divContainer);
		$("." + FadingImages_IndicatorContainerClass).bind
		({
			mouseenter: function()
			{
				try
				{
					window.clearTimeout(CONST_FadingImages_TimeoutFunction);
				}
				catch(exc)
				{
				}
			},
			mouseleave: function()
			{
				CONST_FadingImages_TimeoutFunction = window.setTimeout("FadingImages_showImage(true, true)", FadingImages_EinblendZeit + FadingImages_EingeblendetZeit);
			}
		});
		
		if ($("." + FadingImages_IndicatorContainerClass + " ." + FadingImages_IndicatorClass).length > 1)
		{
			$("." + FadingImages_IndicatorContainerClass + " ." + FadingImages_IndicatorClass)
			.each(function(aI)
			{
				$(this).data(CONST_FadingImages_IndecatorIndex, aI);
			})
			.bind
			({
				mouseenter: function()
				{
					var momentanAktiv = parseInt(CONST_FadingImages_BilderContainer.data(CONST_FadingImages_Active), 10) - 1;
					var aktuellerIndex = parseInt($(this).data(CONST_FadingImages_IndecatorIndex), 10);
					
					//alert(momentanAktiv + " | " + aktuellerIndex);
					
					if (momentanAktiv != aktuellerIndex)
					{
						CONST_FadingImages_BilderContainer.data(CONST_FadingImages_Active, parseInt($(this).data(CONST_FadingImages_IndecatorIndex), 10));
						FadingImages_showImage(false, false);
					}
					//window.clearTimeout(CONST_FadingImages_TimeoutFunction);
				}
			});
		}
		else
		{
			$("." + FadingImages_IndicatorContainerClass).remove();
		}
		
		var bilder = CONST_FadingImages_BilderContainer.find("." + FadingImages_ImagesClass);
		if(bilder.length > 1)
		{
			CONST_FadingImages_BilderContainer.data(CONST_FadingImages_Active, (0+1));
			CONST_FadingImages_BilderContainer.data(CONST_FadingImages_OldActive, (0));
			CONST_FadingImages_BilderContainer.data(CONST_FadingImages_Bilder, bilder);
			CONST_FadingImages_TimeoutFunction = window.setTimeout("FadingImages_showImage(true, true)", FadingImages_EingeblendetZeit);
		}
	}

	function FadingImages_stop()
	{
		try
		{
			window.clearTimeout(CONST_FadingImages_TimeoutFunction);
		}catch(exc){}
	}
	
	function FadingImages_remove()
	{
		try
		{
			FadingImages_stop();
			CONST_FadingImages_BilderContainer.removeData();
			CONST_FadingImages_BilderContainer.find("." + FadingImages_IndicatorContainerClass).empty().removeData();
			CONST_FadingImages_BilderContainer.find("." + FadingImages_FadingSourceContainer).empty().removeData();
		}catch(exc){}
	}
	
		
	function FadingImages_showImage(bRecursive, bSpeedSlow)
	{
		var Elemente = CONST_FadingImages_BilderContainer.data(CONST_FadingImages_Bilder);
		var AktivIndex = parseInt(CONST_FadingImages_BilderContainer.data(CONST_FadingImages_Active), 10);
		var AktivIndexAlt = parseInt(CONST_FadingImages_BilderContainer.data(CONST_FadingImages_OldActive), 10);
		
		if (Elemente.length > 1)
		{
			if (AktivIndex == Elemente.length)
			{
				AktivIndex = 0;
			}
			Elemente.each(function(aI)
			{
				if (aI == AktivIndex)
				{
					$(this).css({"display":"block", "opacity":0.0, "z-index": FadingImages_ZIndexBegin+1})
					.dequeue();
					if (bSpeedSlow)
					{
						$(this).animate({ "opacity": 1.0 }, FadingImages_EinblendZeit);
					}
					else
					{
						$(this).animate({ "opacity": 1.0 }, FadingImages_EinblendZeitIndecator);
					}
				}
				else if(aI == AktivIndexAlt)
				{
					$(this).css({"z-index": FadingImages_ZIndexBegin+0});
					if (!bSpeedSlow)
					{
						$(this).css({"opacity": 1.0});
					}
				}
				else
				{
					$(this).css({"z-index": 0, "display":"none"});
				}
			});
			
			$("." + FadingImages_IndicatorContainerClass + " ." + FadingImages_IndicatorClass + "." + FadingImages_IndicatorAktivClass).removeClass(FadingImages_IndicatorAktivClass);
			$($("." + FadingImages_IndicatorContainerClass + " ." + FadingImages_IndicatorClass)[AktivIndex]).addClass(FadingImages_IndicatorAktivClass);
			
			CONST_FadingImages_BilderContainer.data(CONST_FadingImages_OldActive, AktivIndex);
			AktivIndex++;
			CONST_FadingImages_BilderContainer.data(CONST_FadingImages_Active, AktivIndex);
			
			if (bRecursive)
			{
				CONST_FadingImages_TimeoutFunction = window.setTimeout("FadingImages_showImage(true, true)", FadingImages_EinblendZeit + FadingImages_EingeblendetZeit);	
			}
		}
	}
