var DelayToFade = 4500;
var TimeToFade = 1000;
var CurItem = 0;
var slideshowtimeout;
var slideshowtimeoutset = 0;

function slideshow(TimeToFade, DelayToFade) {
  slideshowtimeoutset = 0;
  bilder = document.getElementById("gallery").getElementsByTagName("img");
  if (CurItem + 1 < bilder.length) {
    document.getElementById("slideshow_button_zurueck").setAttribute("class", "aktiv");
    fade(bilder[CurItem].getAttribute("id"), TimeToFade);
    if (CurItem + 1 < document.getElementById("slideshowimageicons").getElementsByTagName("div").length) {
      document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem].style.backgroundColor = "#ffffff";
      document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem].style.borderColor = "#ffffff";
    }
    if (CurItem + 2 < document.getElementById("slideshowimageicons").getElementsByTagName("div").length) {
      document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem + 1].style.backgroundColor = "#000000";
      document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem + 1].style.borderColor = "#000000";
    }
    if (CurItem + 2 == bilder.length) {
      document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem + 1].style.borderColor = "#000000";
      fade("galleryleft", TimeToFade);
      document.getElementById("slideshow_button_vor").setAttribute("class", "inaktiv");
      document.getElementById("slideshow_button_playpause").setAttribute("class", "pause");
    } else {
      slideshowtimeout = setTimeout("slideshow(TimeToFade, DelayToFade)", DelayToFade + TimeToFade);
      slideshowtimeoutset = 1;
    }
    CurItem = CurItem + 1;
  }
}

function slideshow_zurueck() {
  bilder = document.getElementById("gallery").getElementsByTagName("img");
  if (CurItem > 0 && CurItem + 1 < bilder.length) {
    if (CurItem == 1) {
      document.getElementById("slideshow_button_zurueck").setAttribute("class", "inaktiv");
    }
    fade(bilder[CurItem - 1].getAttribute("id"), TimeToFade);
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem].style.backgroundColor = "#ffffff";
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem].style.borderColor = "#ffffff";
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem - 1].style.backgroundColor = "#000000";
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem - 1].style.borderColor = "#000000";
    CurItem --;
  } else if (CurItem + 1 == bilder.length) {
    document.getElementById("slideshow_button_vor").setAttribute("class", "aktiv");
    fade(bilder[CurItem - 1].getAttribute("id"), TimeToFade);
    fade("galleryleft", TimeToFade);
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem].style.borderColor = "#ffffff";
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem - 1].style.backgroundColor = "#000000";
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem - 1].style.borderColor = "#000000";
    CurItem --;
  }
}

function slideshow_vor() {
  bilder = document.getElementById("gallery").getElementsByTagName("img");
  if (CurItem + 2 < bilder.length) {
    if (CurItem == 0) {
      document.getElementById("slideshow_button_zurueck").setAttribute("class", "aktiv");
    }
    fade(bilder[CurItem].getAttribute("id"), TimeToFade);
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem].style.backgroundColor = "#ffffff";
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem].style.borderColor = "#ffffff";
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem + 1].style.backgroundColor = "#000000";
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem + 1].style.borderColor = "#000000";
    CurItem ++;
  } else if (CurItem + 2 == bilder.length) {
    fade(bilder[CurItem].getAttribute("id"), TimeToFade);
    fade("galleryleft", TimeToFade);
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem].style.backgroundColor = "#ffffff";
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem].style.borderColor = "#ffffff";
    document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem + 1].style.borderColor = "#000000";
    document.getElementById("slideshow_button_vor").setAttribute("class", "inaktiv");
    if (slideshowtimeoutset == 1) {
      window.clearTimeout(slideshowtimeout);
      slideshowtimeoutset = 0;
      document.getElementById("slideshow_button_playpause").setAttribute("class", "pause");
    }
    CurItem ++;
  }
}

function slideshow_playpause() {
  if (slideshowtimeoutset == 1) {
    window.clearTimeout(slideshowtimeout);
    slideshowtimeoutset = 0;
    document.getElementById("slideshow_button_playpause").setAttribute("class", "pause");
  } else {
    if (CurItem + 2 <= document.getElementById("gallery").getElementsByTagName("img").length) {
      slideshowtimeout = setTimeout("slideshow(TimeToFade, DelayToFade)", DelayToFade);
      slideshowtimeoutset = 1;
      document.getElementById("slideshow_button_playpause").setAttribute("class", "play");
    } else {
      document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem].style.borderColor = "#ffffff";
      CurItem = 0;
      document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem].style.backgroundColor = "#000000";
      document.getElementById("slideshowimageicons").getElementsByTagName("div")[CurItem].style.borderColor = "#000000";
      bilder = document.getElementById("gallery").getElementsByTagName("img");
      fade("galleryleft", 100);
      for (var i = 0; i < bilder.length - 1; i ++) {
        fade(bilder[i].getAttribute("id"), 100);
      }
      slideshowtimeout = setTimeout("slideshow(TimeToFade, DelayToFade)", DelayToFade);
      slideshowtimeoutset = 1;
      document.getElementById("slideshow_button_playpause").setAttribute("class", "play");
    }
  }
}

function startSlideshow() {
  for (var i = 0; i < window.galleryimages.length; i ++) {
    if (document.getElementById(window.galleryimages[i][1]).src != window.galleryimages[i][0]) {
      document.getElementById(window.galleryimages[i][1]).src = window.galleryimages[i][0];
    }
  }
  startShow();
}

function startShow() {
  bilder = document.getElementById("gallery").getElementsByTagName("img");
  
  var linkespalte = document.getElementById("gallerynav");
  var slideshownavi = document.createElement("div");
  slideshownavi.setAttribute("id", "slideshownavi");
  slideshownavi.style.display = "none";
  var slideshowimageicons = document.createElement("div");
  slideshowimageicons.setAttribute("id", "slideshowimageicons");
  for (var i = 0; i < bilder.length; i++) {
    var slideshowimageicon = document.createElement("div");
    slideshowimageicon.setAttribute("class", "slideshowimageicons");
    slideshowimageicons.appendChild(slideshowimageicon);
  }
  slideshownavi.appendChild(slideshowimageicons);
  var button_zurueck = document.createElement("div");
  button_zurueck.setAttribute("id", "slideshow_button_zurueck");
  button_zurueck.setAttribute("class", "inaktiv");
  button_zurueck.setAttribute("onClick", "slideshow_zurueck()");
  slideshownavi.appendChild(button_zurueck);
  var button_playpause = document.createElement("div");
  button_playpause.setAttribute("id", "slideshow_button_playpause");
  button_playpause.setAttribute("onClick", "slideshow_playpause()");
  slideshownavi.appendChild(button_playpause);
  var button_vor = document.createElement("div");
  button_vor.setAttribute("id", "slideshow_button_vor");
  button_vor.setAttribute("class", "aktiv");
  button_vor.setAttribute("onClick", "slideshow_vor()");
  slideshownavi.appendChild(button_vor);
  linkespalte.appendChild(slideshownavi);
  
  document.getElementById("slideshownavi").style.display = "block";
  document.getElementById("bildverdecker").style.display = "none";
  var zeitpunkt = 0;
  zeitpunkt += DelayToFade;
  document.getElementById("galleryleft").src = bilder[bilder.length - 1].src;
  fade("galleryleft", 100);
  setTimeout("document.getElementById(\"galleryleft\").style.visibility = \"visible\"", 200);
  for (var i = 0; i < bilder.length - 1; i++) {
    var eid = bilder[i].getAttribute("id");
    document.getElementById(eid).style.zIndex = (1000 - i);
    document.getElementById(eid).style.visibility = "visible";
  }
  var slideshowimageicons = document.getElementById("slideshowimageicons").getElementsByTagName("div")
  slideshowimageicons[0].style.backgroundColor = "#000000";
  slideshowimageicons[0].style.borderColor = "#000000";
  slideshowimageicons[slideshowimageicons.length - 1].style.backgroundColor = "transparent";
  slideshowtimeout = setTimeout("slideshow(TimeToFade, DelayToFade)", zeitpunkt);
  slideshowtimeoutset = 1;
  document.getElementById("slideshow_button_playpause").setAttribute("class", "play");
}

