// <![CDATA[
/**
 * Galeriefader - Einstellungen
 ***************************************************************************/
var $fadeStepBorder		= 0.2;
var $fadeStepImage		=	0.5;
var $fadeStepBorderIE	= 20;
var $fadeStepImageIE	=	50;
var $fadeSpeed				= 50;
var $fadeSpeedAuto		= 3500;

 /**
 * Galeriefader - Funktionsvariablen
 ***************************************************************************/
var $fadeRun				= false;
var $fadeRunAuto		= false;
var $viewBoxVisible	= false;
var $currentAction	= false;
var $currentImage		= false;
var currentExif			= false;
var $startImage			= false;
var $currentStep		= 0.0;
var $currentStepIE	= 0;

/**
 * Galeriefader - Init
 ***************************************************************************/
function initFade($action,$bild)	{
	if($fadeRun == true) {return false;}
	$currentAction = $action;
	switch($currentAction)	{
		case 'start':	
			//Bildanzahl ermitteln
			$imageCount = document.getElementById('imageContainer').getElementsByTagName('img').length;
			//Startbild merken
			$startImage = $bild;
			//Ersteinblendung (Rahmen)
			$currentImage = 0;
			fadeIn(); break;
		case 'startImage':		$currentImage = $startImage;																							fadeIn();		break;
		case 'next':					if($fadeRunAuto == true)	{break;}	fadeOut(); 																				break;
		case 'nextImg':				$currentImage += 1; if($currentImage > $imageCount) {$currentImage = 1;}	fadeIn(); 	break;
		case 'prev':					if($fadeRunAuto == true)	{break;}	fadeOut();																				break;
		case 'prevImg':				$currentImage -= 1; if($currentImage < 1) {$currentImage = $imageCount;}	fadeIn(); 	break;
		case 'auto':					fadeOut();					$fadeRunAuto = true;																							break;
		case 'autoImg':				$currentImage += 1; if($currentImage > $imageCount) {$currentImage = 1;}	fadeIn(); 	break;
		case 'stop':															$fadeRunAuto = false;																							break;
		case 'close':					$fadeRunAuto = false;								fadeOut(); 																				break;
		case 'closeBorder':		$currentImage = 0;																												fadeOut();	break;
		default: 							alert('Keine Gültige Funktion gewählt!');																							break;
		}
	}//END-OF_FUNCTION

/**
 * Galeriefader - FadeIn
 ***************************************************************************/
function fadeIn()	{
	$fadeRun = true;
	if($currentImage == 0) {$currentTarget = 'viewBoxButtonHolder';} else {$currentTarget = 'image'+$currentImage;}
	document.getElementById('viewBlacker').style.display = 'block';
	$target = document.getElementById($currentTarget);
	//Sichtbarkeit Ändern
	$target.style.display = 'block';
	if($IE == false)	{
		if($currentImage == 0)	{$fadeStep = $fadeStepBorder;} else {$fadeStep = $fadeStepImage;}
		$currentStep		+= $fadeStep;
		$target.style.opacity = $currentStep;
		} else {
		if($currentImage == 'viewBoxButtonHolder')	{$fadeStepIE = $fadeStepBorderIE;} else {$fadeStepIE = $fadeStepImageIE;}
		$currentStepIE	+= $fadeStepIE;
		$target.style.filter = 'alpha(opacity=' + $currentStepIE + ')';
		}
	if($IE == true && $currentStepIE >=  100)			{$ready = true;}
	else if($IE == false && $currentStep >=  1)			{$ready = true;}
		else {$ready = false;}
	if($ready != true)			{window.setTimeout("fadeIn();",$fadeSpeed); return true;}
	//Exif-Daten Updaten
	if($currentImage != 0)	{currentExif = 'TTexif'+$currentImage;}
	$fadeRun = false;
	if($currentAction == 'start')				{initFade('startImage',false); return true;}
	if($currentAction == 'startImage')	{$viewBoxVisible = true; return true;}
	if($currentAction == 'autoImg')			{window.setTimeout("if($fadeRunAuto == true) {initFade('auto',false);}",$fadeSpeedAuto); return true;}
	}//END-OF-FUNCTION

/**
 * Galeriefader - FadeOut
 ***************************************************************************/
function fadeOut()	{
	$fadeRun = true;
	if($currentImage == 0) {$currentTarget = 'viewBoxButtonHolder';} else {$currentTarget = 'image'+$currentImage;}
	$target = document.getElementById($currentTarget);
	//Sichtbarkeit Ändern
	if($IE == false)	{
		if($currentImage == 0)	{$fadeStep = $fadeStepBorder;} else {$fadeStep = $fadeStepImage;}
		$currentStep		-= $fadeStep;
		$target.style.opacity = $currentStep;
		} else {
		if($currentImage == 'viewBoxButtonHolder')	{$fadeStepIE = $fadeStepBorderIE;} else {$fadeStepIE = $fadeStepImageIE;}
		$currentStepIE	-= $fadeStepIE;
		$target.style.filter = 'alpha(opacity=' + $currentStepIE + ')';
		}
	if($IE == true && $currentStepIE <=  0)			{$ready = true;}
	else if($IE == false && $currentStep <=  0)	{$ready = true;}
		else {$ready = false;}
	if($ready != true)			{window.setTimeout("fadeOut();",$fadeSpeed); return true;}
	$target.style.display = 'none';
	$fadeRun = false;
	if($currentAction == 'close')				{initFade('closeBorder',false); return true;}
	if($currentAction == 'closeBorder')	{document.getElementById('viewBlacker').style.display = 'none'; $viewBoxVisible = false; return true;}
	if($currentAction == 'next')				{initFade('nextImg',false);}
	if($currentAction == 'prev')				{initFade('prevImg',false);}
	if($currentAction == 'auto')				{initFade('autoImg',false);}
	}//END-OF-FUNCTION	

/**
 * Tastendruck-Steuerung
 ***************************************************************************/
//Tastendruck abfangen
document.onkeydown = getTaste;
var $tastenDruckCode = false;
function getTaste($tastenDruck) {
	//if($viewBoxVisible != true || $fadeRun == true) {return false;}
	if(!$tastenDruck)	{$tastenDruck = window.event;}
	if ($tastenDruck.which) {
		$tastenDruckCode = $tastenDruck.which;
  		} else if($tastenDruck.keyCode) {
		$tastenDruckCode = $tastenDruck.keyCode;
  		}
	//37 = Links 39 = Rechts
	if($tastenDruckCode == 37) 	{initFade('prev',false);}
	if($tastenDruckCode == 39) 	{initFade('next',false);}
	if($tastenDruckCode == 88) 	{initFade('close',false);}
	}//END-OF-FUNCTION
// ]]>
