var GalleryStatus = new Object();

GalleryStatus.globals = new Object;
GalleryStatus.options = new Object;


GalleryStatus.globals.aktImageSet = 0;
GalleryStatus.globals.fullImages = new Array();
GalleryStatus.globals.fullImages_links = new Array();
GalleryStatus.globals.aktFullsize = 0;
GalleryStatus.globals.aktThumbnail = 0;
GalleryStatus.globals.displayFullsizeArrows = false;





function startUpGallery(){
	$('galleryLayer_imageArrowSpace').setStyles({ 'opacity': '0', 'display': 'block' });
	$('galleryLayer_fullsize').setStyles({ 'opacity': '0', 'display': 'block' });
	gal_preloadAllImages();
	gal_posThumbnails();
}




function showFullsizeImageText(full_text){
	if(full_text != ""){
		if($('galleryLayer_textSpace').getStyle('display') != "block"){
			$('galleryLayer_textSpace').setStyles({ 'opacity': '0', 'display': 'block' });
			$('galleryLayer_text').innerHTML = full_text;
			$('galleryLayer_textSpace').get('tween', { property: 'opacity' }).start(1);
		}else{
			$('galleryLayer_textSpace').get('tween', { property: 'opacity' }).start(0).chain(function(){
			  $('galleryLayer_text').innerHTML = full_text;				
			  $('galleryLayer_textSpace').get('tween', { property: 'opacity' }).start(1);
			}.bind(this));
		}
	}else{
		$('galleryLayer_textSpace').get('tween', { property: 'opacity' }).start(0).chain(function(){
		  $('galleryLayer_text').innerHTML = "";				
		}.bind(this));		
	}
}

function showFullsizeImages(fullImages, fullImage_link){
	handleFullsizeArrows(fullImages.length);
	GalleryStatus.globals.aktFullsize = 0;
	GalleryStatus.globals.fullImages = fullImages;
	GalleryStatus.globals.fullImageLink = fullImage_link;
	showFullsizeImage();
}

function showFullsizeImageBack(){
	if(GalleryStatus.globals.aktFullsize == 0)
		GalleryStatus.globals.aktFullsize = GalleryStatus.globals.fullImages.length;
	GalleryStatus.globals.aktFullsize--;
	showFullsizeImage();
}

function showFullsizeImageNext(){
	GalleryStatus.globals.aktFullsize++;
	if(GalleryStatus.globals.aktFullsize == GalleryStatus.globals.fullImages.length)
		GalleryStatus.globals.aktFullsize = 0;
	showFullsizeImage();
}

function showFullsizeImage(){
 	if($('galleryLayer_fullsize').getStyle('opacity') != 0){
		$('galleryLayer_fullsize').get('tween', { property: 'opacity' }).start(0).chain(function(){
			$('galleryLayer_fullsize').src = GalleryStatus.globals.fullImages[GalleryStatus.globals.aktFullsize].src;
			$('galleryLayer_fullsize').get('tween', { property: 'opacity' }).start(1);
		}.bind(this));
	}else{
		$('galleryLayer_fullsize').src = GalleryStatus.globals.fullImages[GalleryStatus.globals.aktFullsize].src;
		$('galleryLayer_fullsize').get('tween', { property: 'opacity' }).start(1);		
	}
	linkFullsizeImage();
}

function linkFullsizeImage(){
	var aktLink = GalleryStatus.globals.fullImageLink;
	if(aktLink == ""){
		aktLink = "javascript:#";
		$('galleryLayer_fullsizeLink').setProperty('target','_self');
	}else $('galleryLayer_fullsizeLink').setProperty('target','_blank');
	$('galleryLayer_fullsizeLink').href = aktLink

}

function handleFullsizeArrows(imageLength){
	if(GalleryStatus.globals.displayFullsizeArrows && imageLength <= 1){
		hideFullsizeArrows();
		GalleryStatus.globals.displayFullsizeArrows = false;
	}
	if(!GalleryStatus.globals.displayFullsizeArrows && imageLength > 1){
		showFullsizeArrows();
		GalleryStatus.globals.displayFullsizeArrows = true;
	}		
}

function hideFullsizeArrows(){
	$('galleryLayer_imageArrowSpace').get('tween', { property: 'opacity' }).start(0);
}

function showFullsizeArrows(){
	(function(){
		$('galleryLayer_imageArrowSpace').get('tween', { property: 'opacity' }).start(1);
	}).delay(500, this);
}


function gal_posThumbnails(){
	GalleryStatus.globals.aktThumbnail = 0;
	$$('td.galleryLayer_thumbnail').each(function(elem, ind){
		elem.innerHTML = "";
		if(ind < ImageSet[GalleryStatus.globals.aktImageSet].img.length){
		  var tempPicture = new Element('img', { 'src': ImageSet[GalleryStatus.globals.aktImageSet].img[GalleryStatus.globals.aktThumbnail].thumb.src, 'id': GalleryStatus.globals.aktThumbnail, 'events': {
		  	'click': function(){
		  		showFullsizeImageText(ImageSet[GalleryStatus.globals.aktImageSet].img[tempPicture.id].imageText);
		  		showFullsizeImages(ImageSet[GalleryStatus.globals.aktImageSet].img[tempPicture.id].allImg, ImageSet[GalleryStatus.globals.aktImageSet].img[tempPicture.id].imageLink);
		  	}.bind(this)
		  }});
		  tempPicture.inject(elem, 'top');
		  GalleryStatus.globals.aktThumbnail++;
		}
	}.bind(this));
}

function setAktImageSet(setNummer){
	GalleryStatus.globals.aktImageSet = setNummer;
}

function gal_preloadAllImages(){
	for(var i = 0; i < ImageSet.length; i++) gal_preloadImageset(i);
}

function gal_preloadImageset(counter){
	for(var i = 0; i < ImageSet[counter].img.length; i++){
		ImageSet[counter].img[i].thumb = new Image();
		ImageSet[counter].img[i].thumb.src = ImageSet[counter]._thmbnailLocation+ImageSet[counter].img[i].__thumb;
		
		ImageSet[counter].img[i].allImg = new Array();
		for(var j = 0; j < ImageSet[counter].img[i].__images.length; j++){
			ImageSet[counter].img[i].allImg[j] = new Image();
			ImageSet[counter].img[i].allImg[j].src = ImageSet[counter]._imageLocation+ImageSet[counter].img[i].__images[j];
		}
	}
}


window.addEvent('domready',startUpGallery.bind(this));
window.addEvent('domready',function(){
	$('galleryLayer_leftArrow').addEvent('click',showFullsizeImageBack.bind(this));
	$('galleryLayer_rightArrow').addEvent('click',showFullsizeImageNext.bind(this));
}.bind(this));
