var rexp = /image=([0-9]+)/;
var thumbsperpage = 6;
if (!basedir) var basedir = '';
var gallerydir = basedir + 'bilder/galerie/';
var thumbsdir = basedir + 'bilder/galerie/vorschau/';
var emptygif = basedir + 'bilder/leer.gif';
var page = 0;
var image = 0;
var margin = 710;

$('body#page-galerie').ready(function() {
  if (typeof(images) != "undefined") {
    for (var i=0;i<images.length;i++) {
      images[i].img = new Image();
      images[i].img.src = gallerydir+images[i].filename;
      images[i].img.border = "0";
      images[i].img.alt = images[i].title;
      images[i].img.title = images[i].title;
    }
  }

  $("#gallery-image a").click(function() {
    imgchange(getnextimage());
    return false;
  });

  $("#gallery-thumbnails a").click(function() {
    rexp.exec($(this).attr("href"));
    imgchange(RegExp.$1);
    return false;
  });

  $("#gallery-pager #gallery-back").click(function() {
    thumbsslide(page-1);
    return false;
  });

  $("#gallery-pager #gallery-next").click(function() {
    thumbsslide(page+1);
    return false;
  });
});

function imgchange(newimage) {
  if (newimage == image) {
    return;
  }
  image = parseInt(newimage);
  imgobj = images[image];
  var layer = ($("#gallery-image-1").css("display") == "none") ? 1 : 0;
  var layerid = "#gallery-image-"+layer;
  var nextimage = getnextimage();

  // Konqueror < 4 patch
  navigator.appVersion.match(/KHTML\/([0-9\.]+) /);
  var konqversion = parseFloat(RegExp.$1);
  var speed = (navigator.appName == "Konqueror" && konqversion < 4) ? 10 : "def";

  $(layerid+" a").attr("href", "?image="+nextimage);
  $(layerid+" .gallery-title").text(imgobj.title);
  $(layerid+" .gallery-description").text(imgobj.description);
  $(layerid+" img").ready(function() {
    $("#gallery-image-"+(1-layer)).fadeOut(speed);
    $(layerid).fadeIn(speed, function() {
      $(this).css("display", "block");
    });
  });
  $(layerid+" img").replaceWith($(imgobj.img).clone());
}

function thumbsslide(newpage) {
  page = (newpage <= Math.floor((images.length-1)/thumbsperpage)) ? newpage : page;
  page = (page >= 0) ? page : 0;
  var backpage = (page == 0) ? page : page-1;
  var nextpage = (page == Math.floor((images.length-1)/thumbsperpage)) ? page : page+1;
  $("#gallery-thumbnails-inner").animate({marginLeft : "-"+(page*margin)+"px"}, "normal", "swing", function() {
    $("#gallery-pager #gallery-back").css("visibility", (backpage == page) ? "hidden" : "visible");
    $("#gallery-pager #gallery-next").css("visibility", (nextpage == page) ? "hidden" : "visible");
  });
}

function getnextimage() {
  for (var i=image+1;i<images.length;i++) {
    return i;
  }
  return 0;
}

function printimages() {
  if (images.length > 0) {
    var width = Math.ceil(images.length/thumbsperpage) * margin;
    document.writeln('<div id="gallery-thumbnails"><div id="gallery-thumbnails-inner" style="margin-left: 0px; width: ' + width + 'px;">');
    for (var i=0;i<images.length;i++) {
      if (i%thumbsperpage == 0) {
        document.writeln('<div id="gallery-thumbnails-' + i/thumbsperpage + '">');
      }
      document.writeln('<a href="?image=' + i + '"><img src="' + thumbsdir + images[i].filename + '" alt="' + images[i].title + '" title="' + images[i].title + '" class="gallery-thumbnail" border="0"></a>');
      if (i%thumbsperpage == thumbsperpage-1) {
        document.writeln('</div>');
      }
    }
    if (i%thumbsperpage > 0) {
      document.writeln('</div>');
    }
    document.writeln('</div></div>');
    var backvis = (page == 0) ? 'hidden' : 'visible';
    var nextvis = (page == Math.floor((images.length-1)/thumbsperpage)) ? 'hidden' : 'visible';
    document.writeln('<div id="gallery-pager"><a href="#" id="gallery-back" style="visibility: ' + backvis + ';">&lt; &lt;</a><a href="#" id="gallery-next" style="visibility: ' + nextvis + ';">&gt; &gt;</a></div>');
    document.writeln('<div id="gallery-image">');
    var nextimage = getnextimage();
    document.writeln('<div id="gallery-image-0"><a href="?image=' + nextimage + '"><img src="' + gallerydir + images[image].filename + '" alt="' + images[image].title + '" title="' + images[image].title + '" border="0"></a>');
    document.writeln('<div class="gallery-legend">');
    document.writeln('<div class="gallery-title">' + images[image].title + '</div>');
    document.writeln('<div class="gallery-description">' + images[image].description + '</div>');
    document.writeln('</div></div>');
    document.writeln('<div id="gallery-image-1"><a href="#"><img src="' + emptygif + '" alt="" title="" border="0"></a>');
    document.writeln('<div class="gallery-legend">');
    document.writeln('<div class="gallery-title"></div>');
    document.writeln('<div class="gallery-description"></div>');
    document.writeln('</div></div></div>');
  }
}

