/*################################################################################
	D E B U G
################################################################################*/

var debugModus = 0	; // Debugmodus EIN = 1 || AUS = 0

function debug(txt)
{
	if(!debugModus || typeof(console) != "object") { return; }
	else { console.log(txt); }
}
debug("debugModus = true");


/*################################################################################
	$$$
################################################################################*/

// get Elements by Name

function $$$(obj)
{
	var obj = document.getElementsByName(obj);
	obj = (obj.length==1)?obj[0]:obj;
	return obj;
}


/*################################################################################
	F U N C T I O N S
################################################################################*/

activeImage = 1;

function fadeInImage() {
	$('galleryImage').set('opacity', 0);
	var bild = $('galleryImage');
	
	bild.src = "/pix/gallery/" + activeImage + ".jpg";
	
	bild.addEvent('load', function() {
		//console.log(bild.src);
		var imgWidth 	= bild.getSize().x;												
		var imgHeight 	= bild.getSize().y;
		
		bild.setStyles({ 'left' : (winWidth-imgWidth)/2, 'top' : (winHeight-imgHeight)/2 })
		
		// Bild einfaden
		var myEffect = new Fx.Morph($('galleryImage'), { 
				duration: 350, 
				transition: 'sine:in',
				onComplete : function() { 
					$('loading').tween('opacity',0)
			}
		});
		
		myEffect.start({ 'opacity'	:	1});
		
		// Bild einfaden fertig										
	
	});
}


function fadeOutImage(handler) {
	
	var bild = $('galleryImage');
	
	var myEffect = new Fx.Morph(bild, { 
			duration: 350, 
			transition: 'sine:in',
			onComplete : function() { 
				if(handler == "closeGallery") {
					showGallery('close','')
				}
				
				if(handler == 'next') {
					if(activeImage < maxImage) { activeImage = activeImage+1 }
					else { activeImage = 1 }
					fadeInImage(activeImage);
					$('loading').tween('opacity',1)
				}
				
				if(handler == 'prev') {
					if(activeImage !=1) { activeImage = activeImage-1 }
					else { activeImage = maxImage }
					fadeInImage(activeImage);
					$('loading').tween('opacity',1)
				}
			}
		});
		
		myEffect.start({ 'opacity'	:	0});
	
}

function showGallery(state,imgNum) {
	
	maxImage = imgNum;
	
	winWidth 	= document.body.offsetWidth;
	winHeight	= window.getSize().y;
	winScrollHeight	= window.getScrollSize().y;
	
	$('overlay').setStyle('width', winWidth);
		
	/* GALLERY OPEN */
	if(state == "open") { 
		var myEffect = new Fx.Morph($('overlay'), { 
			duration: 350, 
			transition: 'sine:in',
			onComplete : function() { 
				fadeInImage();
			}
		});
		
		myEffect.start({ 'height'	:	winScrollHeight });
	
	/* GALLERY CLOSE */
	} else {
		var myEffect = new Fx.Morph($('overlay'), { 
			duration: 500, 
			transition: 'sine:out',
			onComplete : function() { 
				$('galleryImage').set('opacity', 0);
				$('galleryImage').src = "/pix/gallery/blank.gif";
				activeImage = 1
			}
		});
		
		myEffect.start({ 'height'	:	0 });
	}
}

function booking(id) {
	var currentPosition = $(id).getStyle('top');
	
	switch(currentPosition) {
	
		case "0px"		:	$(id).tween('top',300);
		break;
		
		case "300px"	:	$(id).tween('top',0); 
		break;
	}
}


validator.onSubmitError = function(){ $('errorBox').setStyle("display", "block") };


window.addEvent('domready', function() {
	$('galleryImage').set('opacity', 0);
});

window.addEvent('load', function(){
	winWidth 	= document.body.offsetWidth;
	winHeight	= window.getScrollSize().y;	
});
