// -----------------------------------------------------------------------------------
//
//        TD-Mini-Lightbox v1.1
//        by TD-Software td-software.kipsdorf.com
//        Nur 17kB
//
// -----------------------------------------------------------------------------------


function TDLightboxDIVs()
{
document.write('<div id="overlay" style="height:'+screen.height+'px;"></div>');

document.write('<div id="lightbox" >                                                                    ');
document.write('  <div id="outerImageContainer">                                                        ');
document.write('    <div id="imageContainer">                                                           ');
document.write('      <div id="lightboxImageDIV"><img id="lightboxImage"></div>                         ');
document.write('    </div>                                                                              ');

document.write('    <div style="" id="hoverNavprev">                                                    ');
document.write('      <a href="javascript:TDLightboxPrevClick();" id="prevLink"></a>                    ');
document.write('    </div>                                                                              ');
document.write('    <div style="" id="hoverNavnext">                                                    ');
document.write('      <a href="javascript:TDLightboxNextClick();" id="nextLink"></a>                    ');
document.write('    </div>                                                                              ');
document.write('    <div id="loading">                                                                  ');
document.write('      <a href="#" id="loadingLink"><img src="td-lightbox/images/loading.gif"></a>       ');
document.write('    </div>                                                                              ');

document.write('  </div>                                                                                ');

document.write('  <div id="imageDataContainer">                                                         ');
document.write('    <div id="imageData">                                                                ');
document.write('      <div id="bottomNav">                                                              ');
document.write('        <a href="javascript:TDLightboxHide();" id="bottomNavClose"><img src="td-lightbox/images/closelabel.gif" width="66" height="22" border="0" alt="Schließen"></a>');
document.write('      </div>                                                                            ');
document.write('      <div id="imageDetails">                                                           ');
document.write('        <span id="caption"></span>                                                      ');
document.write('        <span id="numberDisplay"></span>                                                ');
document.write('      </div>                                                                            ');
document.write('    </div>                                                                              ');
document.write('  </div>                                                                                ');
document.write('</div>                                                                                  ');

}
//Aufruf der Lightbox
var bilderArr=new Array();
var bilderALTArr=new Array();
var TDLightboxBild = new Image()
var AktuelleBildNr=-1;
var OverlayTransparenz=80;
var dauer=666;      //Dauer je Transformation
var schritte=24;    //Schritte je Dauer
var oldBreite=0;
var oldHoehe=0;


function TDLightboxTastendruck (Ereignis)
{ if (!Ereignis) Ereignis = window.event;
  if (Ereignis.keyCode==27) TDLightboxHide();
  //alert(Ereignis.keyCode);
  if ((Ereignis.keyCode==40)||   //CurDown
      (Ereignis.keyCode==39)||   //CurRight
      (Ereignis.keyCode==32)||   //Space
      (Ereignis.keyCode==34)||   //PageDown
      (Ereignis.keyCode==107)||  //+
      (Ereignis.keyCode==43)) { TDLightboxNextClick(); return false;}
  if ((Ereignis.keyCode==37)||   //CurLeft
      (Ereignis.keyCode==38)||   //CurUp
      (Ereignis.keyCode==13)||   //Enter
      (Ereignis.keyCode==33)||   //PageUp
      (Ereignis.keyCode==109)||  //-
      (Ereignis.keyCode==45)) { TDLightboxPrevClick(); return false;}
  return true;
}

//Einlesen der verfügbaren Bilder
//Aufruf beim Click auf Link
function openTDLightbox(TDLightboxname,LinkRef)
{ //alert(name);
  //Liste der Bilder Erstellen
  var Nr=0;
  for (var i = 0; i < document.links.length; ++i)
  {
    if (TDLightboxname==document.links[i].rel)
    { //alert(document.links[i]);
      bilderArr[Nr]=document.links[i];
      if (document.links[i].rev!=null){ bilderALTArr[Nr]=document.links[i].rev;}
      else {bilderALTArr[Nr]="";}
      //alert(bilderArr[Nr]+"=="+LinkRef);
      if (bilderArr[Nr]==LinkRef){AktuelleBildNr=Nr;}
      Nr++;
    }
  }
  //Tastenabfrage
  document.onkeydown = TDLightboxTastendruck;

  //Und einblenden...
  setOpacity(document.getElementById('overlay'),0);
  TDLightboxDivReSize(0,0);
  document.getElementById('overlay').style.display='block';

  document.getElementById('imageDataContainer').style.display='none';
  document.getElementById('outerImageContainer').style.display="none";
  window.setTimeout("document.getElementById('lightbox').style.display='block';", dauer+100);

  for (var i = 0; i <= schritte; i++)
  { window.setTimeout("setOpacity(document.getElementById('overlay'),"+CosMove(0,OverlayTransparenz,schritte,i)+");", (dauer*i/schritte)+100);
    //window.setTimeout("setOpacity(document.getElementById('lightbox'),"+CosMove(0,100,schritte,i)+");", dauer+dauer*i/schritte+100);
  }
  TDLightboxBild = new Image();
  TDLightboxBild.src = bilderArr[AktuelleBildNr];

  window.setTimeout("TDLightboxShowPic("+AktuelleBildNr+");", 2*dauer+10);
}

//Ausblenden
function TDLightboxHide()
{ //alert('ggg');
  document.onkeydown = '';
  document.getElementById('imageContainer').style.display='none';
  document.getElementById('imageDataContainer').style.display='none';

  for (var i = 0; i <= schritte; i++)
  { window.setTimeout("TDLightboxDivReSize("+CosMove(oldBreite,0,schritte,i)+","+CosMove(oldHoehe,0,schritte,i)+");", dauer*i/schritte+50);
    window.setTimeout("setOpacity(document.getElementById('overlay'),"+CosMove(OverlayTransparenz,0,schritte,i)+");", dauer+dauer*i/schritte+50);
  }
  window.setTimeout("document.getElementById('lightbox').style.display='none';",dauer+50);
  window.setTimeout("document.getElementById('overlay').style.display='none';",2*dauer+50);
  window.setTimeout("document.getElementById('outerImageContainer').style.display='none';",dauer);


}

//Größen der Divs setzen
function TDLightboxDivReSize(Breite,Hoehe)
{
  document.getElementById('imageDataContainer').style.width=(Breite+26)+"px";
  document.getElementById('outerImageContainer').style.width=(Breite+6)+"px";
  document.getElementById('outerImageContainer').style.height=(Hoehe+6)+"px";
  document.getElementById('lightbox').style.marginTop=(5*Hoehe/-8)+"px";
  oldBreite=Breite;
  oldHoehe=Hoehe;
}

//Anzeigen des Bildes (Wird aufgerufen nach dem Laden)
function TDLightboxShowPic(AktuelleBildNr)
{
  if (TDLightboxBild.width==0)
  { window.setTimeout("TDLightboxShowPic(AktuelleBildNr);",100);
    return;
  }

  if (AktuelleBildNr==0) {document.getElementById('prevLink').style.display="none";}
  else {document.getElementById('prevLink').style.display="block";}

  if (AktuelleBildNr>=bilderArr.length-1) {document.getElementById('nextLink').style.display="none";}
  else {document.getElementById('nextLink').style.display="block";}

  for (var i = 0; i <= schritte; i++)
  { window.setTimeout("TDLightboxDivReSize("+CosMove(oldBreite,parseInt(TDLightboxBild.width),schritte,i)+","+CosMove(oldHoehe,parseInt(TDLightboxBild.height),schritte,i)+");", dauer*i/schritte+10);
  }
  document.getElementById('outerImageContainer').style.display="block";

   document.getElementById('caption').innerHTML=bilderALTArr[AktuelleBildNr];
   document.getElementById('numberDisplay').innerHTML="Bild "+(AktuelleBildNr+1)+" von "+bilderArr.length;

   document.getElementById('imageContainer').style.display="none";
   document.getElementById('lightboxImage').src=TDLightboxBild.src;
   document.getElementById('lightboxImage').width=TDLightboxBild.width;
   document.getElementById('lightboxImage').height=TDLightboxBild.height;

   window.setTimeout("TDLightboxPicFadeIn();",dauer+100);
}

function TDLightboxPicFadeIn()
{ setOpacity(document.getElementById('lightboxImage'),0);
  setOpacity(document.getElementById('imageDataContainer'),0);
  document.getElementById('imageContainer').style.display="block";
  document.getElementById('imageDataContainer').style.display="block";
  document.getElementById('loading').style.display="none";
  for (var i = 0; i <= schritte; i++)
  { window.setTimeout("setOpacity(document.getElementById('lightboxImage'),"+CosMove(0,100,schritte,i)+");", dauer*i/schritte+100);
    window.setTimeout("setOpacity(document.getElementById('imageDataContainer'),"+CosMove(0,100,schritte,i)+");", dauer+dauer*i/schritte+100);
  }
}

function TDLightboxNextClick()
{ //alert('next');
  if (AktuelleBildNr>=bilderArr.length-1){return;}

  document.getElementById('loading').style.display="block";
  document.getElementById('imageContainer').style.display='none';
  document.getElementById('imageDataContainer').style.display='none';

  TDLightboxBild = new Image();
  TDLightboxBild.src = bilderArr[AktuelleBildNr+1];
  AktuelleBildNr++;
  window.setTimeout("TDLightboxShowPic(AktuelleBildNr);",50);
}

function TDLightboxPrevClick()
{//alert('last');
  if (AktuelleBildNr==0){return;}
  document.getElementById('loading').style.display="block";
  document.getElementById('imageContainer').style.display='none';
  document.getElementById('imageDataContainer').style.display='none';

  TDLightboxBild = new Image();
  TDLightboxBild.src = bilderArr[AktuelleBildNr-1];
  AktuelleBildNr--;
  window.setTimeout("TDLightboxShowPic(AktuelleBildNr);",50);
}

//Vorbereiten des OriginalHTML-Quellcodes
//OnClickEvents ändern
function runTDLightbox(TDLightboxname)
{ //alert(TDLightboxname);
  for (var i = 0; i < document.links.length; ++i)
  {
    if (TDLightboxname==document.links[i].rel)
    {
      document.links[i].onclick=function () { openTDLightbox(this.rel,this.href); document.location.hash ="#top"; return false; };
    }
  }
}

//#############Animation##################
function setOpacity(obj, value)
{ obj.style.opacity = value/100;
  obj.style.filter = 'alpha(opacity=' + value + ')';
}

function CosMove(oldV,newV,schritte,schritt){return parseInt(newV+(oldV-newV)*(0.5*(1+Math.cos(3.14159265/parseFloat(schritte)*parseFloat(schritt)))));}
