var galleryCount   = 0;
var galleryCurrent = 0;

function initGallery() {
    if ((document.getElementById("gallery")!=null)
      &&(document.getElementById("gallery").getElementsByTagName("ul")[0]!=null)
      &&(document.getElementById("gallery").getElementsByTagName("ul")[0].getElementsByTagName("a")[0]!=null)) {
      
      galleryCount   = document.getElementById("gallery").getElementsByTagName("ul")[0].getElementsByTagName("a").length;
      galleryCurrent = 0;
      for (var i=0; i<galleryCount; i++) {
          if (document.getElementById("gallery").getElementsByTagName("ul")[0].getElementsByTagName("a")[i].href == document.getElementById("gallery").getElementsByTagName("img")[0].src) {
              galleryCurrent = i;
              //alert(i);
              //alert('new:' + document.getElementById("gallery").getElementsByTagName("ul")[0].getElementsByTagName("a")[i].href + ' | img: ' + document.getElementById("gallery").getElementsByTagName("img")[0].src);
          }
      }
      
      document.getElementById("gallery").getElementsByTagName("img")[0].addEventListener?document.getElementById("gallery").getElementsByTagName("img")[0].addEventListener("load",imageGalleryLoaded,false):document.getElementById("gallery").getElementsByTagName("img")[0].attachEvent("onload",imageGalleryLoaded);
      
      preloadGallery();
      showGallery(0);
      imageGalleryLoaded();
      
      var button_left  = document.createElement("a");
      button_left.className = 'gal_bt_left';
      button_left.href = 'javascript:showGallery(-1);';
      button_left.title = 'vorheriges Foto';
      button_left.innerHTML = button_left.title;
      var button_right = document.createElement("a");
      button_right.className = 'gal_bt_right';
      button_right.href = 'javascript:showGallery(+1);';
      button_right.title = 'nächstes Foto';
      button_right.innerHTML = button_right.title;
      document.getElementById("gallery").getElementsByTagName("div")[0].appendChild(button_left);
      document.getElementById("gallery").getElementsByTagName("div")[0].appendChild(button_right);
      
      document.getElementById("gallery").getElementsByTagName("h4")[0].style.display = 'none';
      document.getElementById("gallery").getElementsByTagName("ul")[0].style.display = 'none';
      //$output .= '  <a class="gal_bt_left" href="javascript:showGallery(-1);">vorheriges Foto</a>' . "\n";
      //$output .= '  <a class="gal_bt_right" href="javascript:showGallery(+1);">nächstes Foto</a>' . "\n";
    } //if div#gallery    
}

function preloadGallery() {
    var preImages = new Array();
    for (i=0; i<galleryCount; i++) {
        preImages[i] = new Image();
        preImages[i].src = document.getElementById("gallery").getElementsByTagName("ul")[0].getElementsByTagName("a")[i].href;
    }
}

function showGallery(n) {
    galleryCurrent = galleryCurrent + n;
    if (galleryCurrent > galleryCount-1) { galleryCurrent = 0; }
    if (galleryCurrent < 0) { galleryCurrent = galleryCount-1; }
    
    document.getElementById("gallery").getElementsByTagName("cite")[0].innerHTML = 'Copyright' + galleryCurrent;
    
    //document.getElementById("gallery").getElementsByTagName("img")[0].style.visibility = 'hidden';
    document.getElementById("gallery").getElementsByTagName("img")[0].style.opacity = 0.5;
		document.getElementById("gallery").getElementsByTagName("img")[0].style.MozOpacity = 0.5;
		document.getElementById("gallery").getElementsByTagName("img")[0].style.filter = "alpha(opacity=" + (0.5*100) + ")";
		
    //document.getElementById("gallery").getElementsByTagName("img")[0].onload = imageGalleryLoaded;
    var imageAlt         = document.getElementById("gallery").getElementsByTagName("ul")[0].getElementsByTagName("a")[galleryCurrent].innerHTML;
        imageAlt         = imageAlt.substr(imageAlt.indexOf(': ')+2); 
    var imageCopyright   = document.getElementById("gallery").getElementsByTagName("ul")[0].getElementsByTagName("a")[galleryCurrent].title + ' | ';
        imageCopyright   = imageCopyright.substr(imageCopyright.indexOf('Foto: ')+6);
        imageCopyright   = imageCopyright.substring(0,imageCopyright.indexOf(' | ')); 
    var imageDescription = document.getElementById("gallery").getElementsByTagName("ul")[0].getElementsByTagName("a")[galleryCurrent].title + ' | ';
        imageDescription = imageDescription.substr(imageDescription.indexOf('Beschreibung: ')+14);
        imageDescription = imageDescription.substring(0,imageDescription.indexOf(' | ')); 
    var imageCreated = document.getElementById("gallery").getElementsByTagName("ul")[0].getElementsByTagName("a")[galleryCurrent].title + ' | ';
        imageCreated = imageCreated.substr(imageCreated.indexOf('Datum: ')+7);
        imageCreated = imageCreated.substring(0,imageCreated.indexOf(' | '));
         
    document.getElementById("gallery").getElementsByTagName("img")[0].src = document.getElementById("gallery").getElementsByTagName("ul")[0].getElementsByTagName("a")[galleryCurrent].href;
    document.getElementById("gallery").getElementsByTagName("img")[0].alt = imageAlt;
    document.getElementById("gallery").getElementsByTagName("cite")[0].innerHTML = 'Foto: ' + imageCopyright;
    document.getElementById("gallery").getElementsByTagName("cite")[0].title = document.getElementById("gallery").getElementsByTagName("ul")[0].getElementsByTagName("a")[galleryCurrent].title;
    
    if (imageCopyright=='keine Angabe') {
        document.getElementById("gallery").getElementsByTagName("cite")[0].style.display = 'none';
    }else{
        document.getElementById("gallery").getElementsByTagName("cite")[0].style.display = 'block';
    }
    
    if (imageDescription=='Keine Bildbeschreibung angegeben') {
        document.getElementById("gallery").getElementsByTagName("em")[0].innerHTML = 'Foto ' + (galleryCurrent+1) + '/' + galleryCount;
    }else{
        document.getElementById("gallery").getElementsByTagName("em")[0].innerHTML = 'Foto ' + (galleryCurrent+1) + '/' + galleryCount + ': ' + imageDescription;
    }
    
    if (imageCreated.length == 10) { 
      document.getElementById("gallery").getElementsByTagName("em")[0].innerHTML += ' (' + imageCreated + ')';
    }
}
function imageGalleryLoaded(o) {
   //document.getElementById("gallery").getElementsByTagName("img")[0].style.visibility = 'visible'; 
   document.getElementById("gallery").getElementsByTagName("img")[0].style.opacity = 1;
   document.getElementById("gallery").getElementsByTagName("img")[0].style.MozOpacity = 1;
	 document.getElementById("gallery").getElementsByTagName("img")[0].style.filter = "alpha(opacity=" + (1*100) + ")";
}

window.addEventListener?window.addEventListener("load",initGallery,false):window.attachEvent("onload",initGallery);