function AlbumSteuerung(images) {
	this.length = 0;
	this.pos = 0;
	this.setImages(images);
}


AlbumSteuerung.prototype.jumpToFirst = function() {
   this.jumpTo(0);
}

AlbumSteuerung.prototype.jumpToLast = function() {
  this.jumpTo(this.length -1);
}

AlbumSteuerung.prototype.jumpToNext = function() {
	if(this.pos == this.length - 1)
	  this.jumpToFirst();
	else
	  this.jumpTo(this.pos + 1);
}

AlbumSteuerung.prototype.jumpToPrevious = function() {
	if(this.pos == 0)
	  this.jumpToLast();
	else
	  this.jumpTo(this.pos - 1);
}

AlbumSteuerung.prototype.jumpTo = function(idx) {
	if((idx < 0) || (idx >= this.length)) return;
	this.pos = idx;
	this.images[this.pos].onclick();
}

AlbumSteuerung.prototype.setImages = function(images) {
	if(!images) return;
	this.length = images.length;
	this.images = images;
	
	for(var i=0;i<images.length;i++) {
	  var img = images.item(i);
	  img.album_idx = i;
	}
}

function initGalerie() {
	document.galerie_splash = document.getElementById('galerie_splash_screen');
	document.galerie_display = document.getElementById('galerie_display_screen');
	document.galerie_thumb_div = document.getElementById('galerie_thumb_div');
	document.galerie_display_img = document.getElementById('galerie_display_img');
	document.galerie_display_name = document.getElementById('galerie_display_name');
	
	document.albumSteuerung = new AlbumSteuerung(null);
}  

function getAlbum(no, name) {
  document.galerie_splash.style.display = 'none';
  document.galerie_display.style.display = 'block';
  params = { abn: no, mih_id: document.mih_id };
  document.galerie_thumb_div.style.visibility = 'hidden';
  document.current_album_name = name;
  updater = new Ajax.Updater (
  {success: "galerie_thumb_div" },
  "services/ajax_galerie_thumb.php",
  {method: 'post', parameters: params, onFailure: reportThumbbarLoadError, onComplete: albumComplete, onSuccess: albumLoaded}
  );
}

function albumLoaded() {
  document.galerie_thumb_div.style.visibility = 'visible';
  document.galerie_display_name.innerHTML = 'Album: ' + document.current_album_name;
}

function albumComplete(){
	document.albumSteuerung.setImages(document.getElementsByName("Thumbnail"));
	document.albumSteuerung.jumpToFirst();
}

function reportThumbbarLoadError(httpRequest) {
	alert('Das Album konnte nicht geladen werden.');
}

function getImage(img_tag, album, image) {
	document.albumSteuerung.pos = img_tag.album_idx;
	document.galerie_display_img.src = 'services/galerie/' + album + '/' + image;
}

