licht_id         = "schattenbox";
hintergrundfarbe = "#000000";
obj_id           = "schattenelement";
rahmen_hg        = "#ffffff";
schriftart       = "Verdana, sans serif";
schriftgroesse   = "10px";
textfarbe        = "#000033";
transparenz      = 0.7;
hervorgehoben    = "#dd0000";

 browser = navigator.appName;



function IE5()
{
  /* IE 5 unterstützt die "param"-Tags nicht */
  var tmp = navigator.appVersion.search("MSIE");
  if ( tmp != -1) tmp = parseInt(navigator.appVersion.substring(eval(tmp+5)));
  if ((tmp <= 5) && (tmp>0) ) tmp = true; else tmp = false;
  return tmp;
}


 function schatten_weg(dlaessig)
{
  // Auch ohne Parameter aufrufbar
 if (dlaessig == undefined) dlaessig = transparenz;
 
 dlaessig -= 0.07;
 obj = document.getElementById(licht_id);
 obj.style.opacity = dlaessig;
 obj.style.filter  = "alpha(opacity="+dlaessig*100+")";

 // Rekursiver Aufruf
 if (dlaessig > 0) window.setTimeout("schatten_weg("+dlaessig+")",10);
 else
 {
  obj.firstChild.removeChild(document.getElementById(obj_id));
  document.body.removeChild(obj);
  if (browser == "Microsoft Internet Explorer")
  {
   document.body.parentNode.style.overflow = "auto";
   location.reload();
  }
  else  document.body.style.overflow = "auto";
 }
}


 function einfahren(obj_id,max,hoehe)
{
  // Auch ohne Parameter aufrufbar
 if (hoehe == undefined) hoehe = 1;
 
 hoehe += 2;
 obj = document.getElementById(obj_id);
 obj.style.height = hoehe + "px";

 // Rekursiver Aufruf
 if (hoehe < max) window.setTimeout("einfahren('"+obj_id+"',"+max+","+hoehe+")",10);

}

 function licht_navi()
{
 schatten = document.getElementById(licht_id);
 navi = document.createElement("div");
 navi.id = "licht_navigation";
 navi.style.backgroundColor  = rahmen_hg;
 navi.style.height           = "0px";
 navi.style.margin           = "0 auto 0 auto";
 navi.style.overflow         = "hidden";
 navi.style.padding          = "0px 10px";
 if (IE5()) navi.style.width = eval(parseInt(schatten.firstChild.style.width)+20)+"px";
 else navi.style.width       = schatten.firstChild.style.width;

 a_navi = document.createElement("a");
 a_navi.style.color          = textfarbe;
 a_navi.style.fontFamily     = schriftart;
 a_navi.style.fontSize       = schriftgroesse;
 a_navi.style.fontWeight     = "bold";
 a_navi.style.textDecoration = "none";
 a_navi.innerHTML            = "SCHLIE&szlig;EN ";
 a_navi.href                 = "javascript:schatten_weg()";

 p_navi = document.createElement("p");
 p_navi.style.textAlign      = "right";
 
 span_a_navi = document.createElement("span");
 span_a_navi.style.color    = hervorgehoben;
 span_a_navi.style.fontSize = "110%";
 span_a_navi.innerHTML      = "X";

 a_navi.appendChild(span_a_navi);
 p_navi.appendChild(a_navi);
 navi.appendChild(p_navi);
 schatten.appendChild(navi);

 if (browser == "Microsoft Internet Explorer") hoehe = 17;
 else hoehe = 22;
 window.setTimeout("einfahren('"+navi.id+"',"+hoehe+");",300);
}

 function einblenden(obj_id,transparenz,grad,dlaessig)
{
 obj = document.getElementById(obj_id);
 // Auch ohne Parameter aufrufbar
 if (transparenz == undefined) transparenz = 1;
 if (grad == undefined)        grad        = 0.07;
 if (dlaessig == undefined)    dlaessig    = 0;

 dlaessig += grad;
 obj.style.opacity = dlaessig;
 obj.style.filter  = "alpha(opacity="+dlaessig*100+")";
 
 if (dlaessig > transparenz) dlaessig = transparenz;

 // Rekursiver Aufruf
 if (dlaessig < transparenz) window.setTimeout("einblenden('"+obj.id+"',"+transparenz+","+grad+","+dlaessig+")",50);
}

function licht_inhalt(fokus,objekt_ziel)
{
 rahmen = document.getElementById(licht_id).firstChild;

 if (fokus.tagName == "IMG")
 {
  var bild = new Image();
  bild.src = fokus.src;
  objekt = document.createElement("img");
  objekt.setAttribute("src",fokus.src);
  objekt.setAttribute("alt",fokus.getAttribute("alt"));
  objekt.style.height  = bild.height;
  objekt.style.width   = bild.width;
 }

 if (fokus.tagName == "OBJECT")
 {
  if ( browser == "Microsoft Internet Explorer" )
  {
   objekt  = document.createElement("embed");
   objekt.src = objekt_ziel;
  }
  else
  {
   objekt  = document.createElement("object");
   objekt.setAttribute("codebase","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0");
   objekt.setAttribute("type","application/x-shockwave-flash");
   objekt.data = objekt_ziel;

   prms = document.createElement("param");
   prms.setAttribute("name","DataURL");
   prms.setAttribute("value",objekt.data);
   objekt.appendChild(prms);

   prms = document.createElement("param");
   prms.setAttribute("name","movie");
   prms.setAttribute("value",objekt.data);
   objekt.appendChild(prms); 

   prms = document.createElement("param");
   prms.setAttribute("name","quality");
   prms.setAttribute("value","high");
   objekt.appendChild(prms);

  }
  objekt.style.height = fokus.getAttribute("height")+"px";
  objekt.style.width  = fokus.getAttribute("width")+"px";
 }

 objekt.id = obj_id;
 objekt.style.filter  = "alpha(opacity=0)";
 objekt.style.opacity = 0;


 rahmen.appendChild(objekt);
 window.setTimeout("einblenden('"+objekt.id+"',1,0.06)",300);
 
 window.setTimeout("licht_navi()",1100);


// <embed src="http://www.bahlsen.de/content/pickup/game_adam_eve/main.swf" style="width: 700px; height: 550px" />
}

function sw_abmass(fokus,objekt_ziel,mass,hoch)
{
 zeit = 60;

 // Parameterloser Funktionsaufruf
 if ( mass  == undefined )
 { hoch = true; mass = 0; document.getElementById(licht_id).firstChild.style.width = 50 + "px";
}

 // Vergrößerungsschritt
 mass += 25;


 if (fokus.tagName == "IMG")
 {
  var bild = new Image();
  bild.src = fokus.src;

  if (hoch) ziel = bild.height;  else ziel = bild.width;
 }

 if (fokus.tagName == "OBJECT")
 {
  if (hoch) ziel = fokus.getAttribute("height");
  else      ziel = fokus.getAttribute("width");
 }

 if (hoch)
 {
  // Unsymmetrische Ränder vermeiden
  if (ziel-mass < 0) mass = ziel;

  document.getElementById(licht_id).firstChild.style.height = mass + "px";

  // Rekursiver Aufruf. Wenn die Zielbreite erreicht wurde, wird an die Höhe abgegeben.
  if (mass == ziel) { hoch=false; mass=25; }
  window.setTimeout("sw_abmass(fokus,'"+objekt_ziel+"',"+mass+","+hoch+")",zeit);
 }
 else
 {
  if (ziel-mass < 0) mass = ziel;
  document.getElementById(licht_id).firstChild.style.width = mass + "px";
  // Rekursiver Aufruf endet mit Übergabe an licht_inhalt().
  if (mass < ziel) window.setTimeout("sw_abmass(fokus,'"+objekt_ziel+"',"+mass+","+hoch+")",zeit);
  else licht_inhalt(fokus,objekt_ziel);
 }
}

function scheinwerfer(verweis_id,objekt_ziel)
{
 fokus = document.getElementById(verweis_id).firstChild;

 if (fokus.tagName == "IMG")
 {
  hoehe  = parseInt(fokus.style.height);
  if (hoehe  == "") hoehe  = parseInt(fokus.getAttribute("height"));
  if (hoehe  == "") hoehe  = 500;
 }

 if ( fokus.tagName == undefined && fokus.nextSibling.tagName != undefined )
 {
  fokus.parentNode.removeChild(fokus);
  fokus = document.getElementById(verweis_id).firstChild;
 }

 if ( fokus.tagName == "OBJECT" )
 {
  for (i=0; i< fokus.childNodes.length; i++)
  {
   if ( fokus.childNodes[i].tagName == undefined )
   {
    fokus.removeChild(fokus.childNodes[i]);
   }
  }
  hoehe = fokus.getAttribute("height");
 }

 // Bei zu großem Element wird der obere Rand verringert
 var rand = 100;
 var vergleich = eval(screen.availHeight-2*rand-hoehe);
 if (vergleich <= 100) rand = 10;

 // Die Box, die das Objekt enthält, wird generiert
 rahmen = document.createElement("div");
 rahmen.setAttribute("id","rahmenbox");
 rahmen.style.backgroundColor = rahmen_hg;
 rahmen.style.filter          = "alpha(opacity=100)";
 rahmen.style.margin          = rand + "px auto 0 auto";
 rahmen.style.opacity         = 1;
 rahmen.style.padding         = "10px";

 document.getElementById(licht_id).appendChild(rahmen);

 sw_abmass(fokus,objekt_ziel);
}

function lichtkasten(verweis_id,objekt_ziel)
{
 koerper = document.body;

 if (browser == "Microsoft Internet Explorer")
 {
  koerper.parentNode.style.overflow = "hidden";
  var gescrollt = document.body.scrollTop;
  if (gescrollt == 0) gescrollt = document.documentElement.scrollTop;
 }
 else
 {
  koerper.style.overflow = "hidden";
  var gescrollt = window.pageYOffset;
 }

 // Ein schwarzer Container wird initialisiert
 schatten = document.createElement("div");
 schatten.setAttribute("id",licht_id);
 schatten.style.backgroundColor = hintergrundfarbe;
 schatten.style.height          = screen.availHeight+"px";
 schatten.style.width           = screen.availWidth+"px";
 schatten.style.position        = "absolute";
 schatten.style.left            =   0;
 schatten.style.top             = gescrollt+"px";
 schatten.style.zIndex          = 100;

 if (IE5()) schatten.style.textAlign = "center";

 koerper.appendChild(schatten);


 //Verdunkeln der Seite
 einblenden(schatten.id,transparenz,0.1);

 //Einbinden des Objektes, Bildes, ...
 window.setTimeout("scheinwerfer('"+verweis_id+"','"+objekt_ziel+"')",200);
}


function lichtkasten_init()
{
 var verweise = document.getElementsByTagName("a");

 for (i=0; i < verweise.length; i++)
 {
  if (verweise[i].getAttribute("rel") == "lichtkasten")
  {
   fokus = verweise[i].firstChild;
   verweise[i].id = "lk"+i;
   var tmp = verweise[i].href; /* Für OBJECT */
   verweise[i].href= "javascript:lichtkasten('"+verweise[i].id+"','"+tmp+"')";
  }
 }
}