// -----------------------------------------------------------------------------------
//
//	TD-Mini-Lightbox v1.0
//	by TD-Software td-software.kipsdorf.com
//
//
// -----------------------------------------------------------------------------------
//Aufruf der Lightbox
var bilderArr=new Array();
var bilderALTArr=new Array();
var TDLightboxBild = new Image()
var AktuelleBildNr=-1;
var OverlayTransparenz=70;
var dauer=500;
var schritte=12;
var oldBreite=0;
var oldHoehe=0;

//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++;
    }
  }
  //Und einblenden...

  setOpacity(document.getElementById('overlay'),0);
  //setOpacity(document.getElementById('lightbox'),0);
  //document.getElementById('lightbox').style.width=0;
  TDLightboxDivReSize(0,0);
  document.getElementById('overlay').style.display='block';
  document.getElementById('lightbox').style.display='block';

  for (var i = 0; i <= schritte; i++)
  { window.setTimeout("setOpacity(document.getElementById('overlay'),"+CosMove(0,OverlayTransparenz,schritte,i)+");", (dauer*i/schritte));
    //window.setTimeout("setOpacity(document.getElementById('lightbox'),"+CosMove(0,100,schritte,i)+");", 2000+dauer*i/schritte);
  }


  //alert(AktuelleBildNr+LinkRef);
  TDLightboxBild = new Image();
  TDLightboxBild.src = bilderArr[AktuelleBildNr];
  TDLightboxShowPic(AktuelleBildNr);

}


//Ausblenden
function TDLightboxHide()
{ //alert('ggg');
  document.getElementById('imageContainer').style.display='none';
  for (var i = 0; i <= schritte; i++)
  { window.setTimeout("TDLightboxDivReSize("+CosMove(oldBreite,0,schritte,i)+","+CosMove(oldHoehe,0,schritte,i)+");"+"setOpacity(document.getElementById('overlay'),"+CosMove(OverlayTransparenz,0,schritte,i)+");", dauer*i/schritte);
    //window.setTimeout("setOpacity(document.getElementById('overlay'),"+CosMove(OverlayTransparenz,0,schritte,i)+");", dauer*i/schritte);
    //window.setTimeout("setOpacity(document.getElementById('lightbox'),"+CosMove(100,0,schritte,i)+");", dauer*i/schritte);
    //window.setTimeout("TDLightboxDivReSize("+CosMove(oldBreite,0,schritte,i)+","+TDLightboxBild.height+");", dauer*i/schritte);
  }
  window.setTimeout("document.getElementById('overlay').style.display='none';document.getElementById('lightbox').style.display='none';",dauer-100);

}



//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";}


  document.getElementById('imageDataContainer').style.display="none";

  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);
  }
   //TDLightboxDivReSize(parseInt(TDLightboxBild.width),parseInt(TDLightboxBild.height));

  // document.getElementById('hoverNav').style.width=(parseInt(TDLightboxBild.width)+6)+"px";

   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);
}

function TDLightboxPicFadeIn()
{
 /* for (var i = 0; i <= schritte; i++)
  { window.setTimeout("TDLightboxDivReSize("+CosMove(oldBreite,parseInt(TDLightboxBild.width),schritte,i)+","+TDLightboxBild.height+");", dauer*i/schritte);
  }
  */
  setOpacity(document.getElementById('lightboxImageDIV'),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('lightboxImageDIV'),"+CosMove(0,100,schritte,i)+");", dauer*i/schritte);
   window.setTimeout("setOpacity(document.getElementById('imageDataContainer'),"+CosMove(0,100,schritte,i)+");", dauer*i/schritte);
 }

}



function TDLightboxNextClick()
{ //alert('next');
  //TDLightboxShowPic(AktuelleBildNr+1);
  if (AktuelleBildNr>=bilderArr.length-1){return;}

  document.getElementById('loading').style.display="block";
  //document.getElementById('imageContainer').style.display='none';
  setOpacity(document.getElementById('lightboxImageDIV'),50);

  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';

  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; };
      //document.write("<br>" + document.links[i].text);
      //document.links[i].location
      //document.links[i].innerHTML=document.links[i].text+" "+document.links[i].onclick;
    }
  }
}

//#############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)))));}

function OpacityMotion(obj,newO)
{ var name=obj.name;
  if (typeof akArr[id] == "undefined") { akArr[id]=new Object(); akArr[id]['ak']=0;  akArr[id]['art']=art; akArr[id]['o']=obj; }
  else { akArr[id]['ak']++;}
  for (var i = 0; i <= schritte; i++)
  { window.setTimeout("if (akArr['"+id+"']['ak']=="+akArr[id]['ak']+"){akArr['"+id+"']['o'].style.height='"+CosMove(parseFloat(obj.style.height),newY,schritte,i)+"px';}", dauer*i/schritte);
    window.setTimeout("if (akArr['"+id+"']['ak']=="+akArr[id]['ak']+"){akArr['"+id+"']['o'].style.width ='"+CosMove(parseFloat(obj.style.width),newX,schritte,i)+"px';}", dauer*i/schritte);
  }
}

