function init() {
 initNavi();

 document.getElementById('medialayer').className = 'layer selecttitle';

 window.onload = function() {
  loadPic('img/german_over.gif');
  loadPic('img/english_over.gif');
  loadPic('img/loginei_over.png');
  loadPic('img/contenttopbg_over.png');
  loadPic('img/loginlayer.jpg');
  loadPic('img/medialayer.jpg');
  loadPic('img/foot_over.png');


  if (document.body.id=='home') {
   window.setTimeout(function(){document.getElementById('base').style.visibility='visible';},1500);
   if (mode==1 && redirlink) window.setTimeout(function(){self.location.href=redirlink;},redirectdelay*1000);
  } else if (document.body.id=='page') {
   preloadAni();
   startAutostart();
  }


 /* scrollposition speichern */
  window.setInterval(function() {
   if (document.documentElement && document.documentElement.scrollTop) {
    document.cookie = 'scrolltop='+document.documentElement.scrollTop;
   } else {
    document.cookie = 'scrolltop='+document.body.scrollTop || 0;
   }
  }, 50);
 };

 /* position wiederherstellen */
 var m = document.cookie.match(/scrolltop=([0-9]+)/);
 if (m && m[1]) {
  document.body.scrollTop = m[1];
  if (document.documentElement) document.documentElement.scrollTop = m[1];
 }

 document.onmousedown=function() {
  hideLayers();
 };

 document.getElementById('medialayer').onmousedown =  document.getElementById('loginlayer').onmousedown = function(e) {
  if (! e) e=window.event;
  e.cancelBubble=true;
  if (e.stopPropagation) e.stopPropagation();
 };


 mbhidetimer=false;
 if (document.getElementById('mediaboxtable')) {
  document.getElementById('mediaboxtable').onmouseover = function() {
   if (mbhidetimer) {window.clearTimeout(mbhidetimer); mbhidetimer=false; };
   if (document.getElementById('mediaboxtable').className!='mediaboxtable linksshow') document.getElementById('mediaboxtable').className='mediaboxtable linksshow';
  };
  document.getElementById('mediaboxtable').onmouseout = function() {
   if (mbhidetimer) {window.clearTimeout(mbhidetimer); mbhidetimer=false; };
   mbhidetimer = window.setTimeout(function(){document.getElementById('mediaboxtable').className='mediaboxtable';},300);
  };
 
  var i=0, obj;
  while (obj = document.getElementById('mediaboxtable').getElementsByTagName('*')[i++]) {
   obj.onmouseover = document.getElementById('mediaboxtable').onmouseover;
   obj.onmouseout = document.getElementById('mediaboxtable').onmouseout;
  }
 }

}

function initNavi() {
 var obj, i=0;
 if (!document.getElementById('mainnavi')) return;
 while (obj = document.getElementById('mainnavi').getElementsByTagName('img')[i++]) {
  if (obj.src.indexOf('_m.')!=-1) continue;
  obj.onmouseover = function(e) {
   if (! e) e=window.event; var t = e.target || e.srcElement;
   t.src = t.src.replace(/\.png/,'_m.png');
  };
  obj.onmouseout = function(e) {
   if (! e) e=window.event; var t = e.target || e.srcElement;
   t.src = t.src.replace(/_m\.png/,'.png');
  };
  
  loadPic(obj.src.replace(/\.png/,'_m.png'));
 }
}

function loadPic(source) {
 var i = new Image();
 i.src = source;
}

function getScrollTop() {
 var y=0;
 if (self.pageYOffset){
  y = self.pageYOffset;
 } else if (document.documentElement && document.documentElement.scrollTop) {
  y = document.documentElement.scrollTop;
 } else {
  y = document.body.scrollTop;
 }
 return y;
}
function getInnerHeight() {
 var y=0;
 if (self.innerHeight) {
  y = self.innerHeight;
 } else if (document.documentElement && document.documentElement.clientHeight) {
  y = document.documentElement.clientHeight;
 } else if (document.body) {
  y = document.body.clientHeight;
 }
 return y;
}

absLeft=0;
absTop=0;
function getAbsolutePos(obj) {
 absLeft=obj.offsetLeft;
 absTop=obj.offsetTop;
 var curobj = obj;
 while (curobj = curobj.offsetParent) {
  absLeft+=curobj.offsetLeft;
  absTop+=curobj.offsetTop;
 }
}


function showLoginLayer() {
 document.getElementById('loginlayer').style.top=Math.floor(getScrollTop() + (getInnerHeight() / 2) - 260) +'px';
 document.getElementById('loginlayer').style.display='block';
}

function showMediaLayer(file) {
 document.getElementById('intro').getElementsByTagName('img')[0].src = anipics[anipics.length-1];
 aniwasplaying = aniplays;
 aniplays=false;
 if (aniplaytimer) window.clearTimeout(aniplaytimer);
 aniplaytimer = false;
 aniframe=0;
 aniindex = 0;
 setAlpha(document.getElementById('intro').getElementsByTagName('img')[1], 0);
   
 document.getElementById('medialayer').style.top=Math.floor(getScrollTop() + (getInnerHeight() / 2) - 260) +'px';
 document.getElementById('medialayer').style.display='block';
 searchVI(file);
 playthis();
}

aniwasplaying=false;
function hideLayers() {
 terminatemov();
 if (document.getElementById('medialayer').style.display=='block' && aniwasplaying) {
  startAni();
 }
 document.getElementById('medialayer').style.display='none';
 document.getElementById('loginlayer').style.display='none';
}

function reveal(obj) {
if (obj && obj.style) obj.style.display='block';
}
function hide(obj) {
if (obj && obj.style) obj.style.display='none';
}
function ishere(obj) {
return (obj && obj.className=='here');
}

currentoffset = 0;
function initContentNavi() {
 var i=0, obj;
 while (obj = document.getElementById('contentnavi').getElementsByTagName('a')[i]) {
  
  if (ishere(document.getElementById('contentnavi').getElementsByTagName('a')[i]) ||
      ishere(document.getElementById('contentnavi').getElementsByTagName('a')[i+1]) ||
      ishere(document.getElementById('contentnavi').getElementsByTagName('a')[i+2]) ||
      ishere(document.getElementById('contentnavi').getElementsByTagName('a')[i+3])) {
   currentoffset= i;
   break;
  }
  i+=4;
 }

 navigo(0);
}

function navigo(move) {
 navihideall();
 currentoffset+= move;
 reveal(document.getElementById('contentnavi').getElementsByTagName('a')[currentoffset]);
 reveal(document.getElementById('contentnavi').getElementsByTagName('a')[currentoffset+1]);
 reveal(document.getElementById('contentnavi').getElementsByTagName('a')[currentoffset+2]);
 reveal(document.getElementById('contentnavi').getElementsByTagName('a')[currentoffset+3]);

 if (currentoffset==0) {
  document.getElementById('backlink').className='a disabled';
 } else {
  document.getElementById('backlink').className='a';
 }

 if (currentoffset+4 >= document.getElementById('contentnavi').getElementsByTagName('a').length) {
  document.getElementById('forwlink').className='a disabled';
 } else {
  document.getElementById('forwlink').className='a';
 }

 document.getElementById('contentnavi').style.visibility='hidden';
 document.getElementById('contentnavi').getElementsByTagName('table')[0].style.width='100%';
 window.setTimeout(function(){document.getElementById('contentnavi').getElementsByTagName('table')[0].style.width='auto'; document.getElementById('contentnavi').style.visibility='visible';},1);

}

function navihideall() {
 var i=0, obj;
 while (obj = document.getElementById('contentnavi').getElementsByTagName('a')[i++]) {
  hide(obj);
 }
}


autostarttimer=false;
function startAutostart() {
 autostarttimer = window.setTimeout(function(){startAni();}, autostart*1000);
}

aniplays=false;
aniplaytimer = false;
aniframe=0;
aniindex = 0;
function startAni() {
 if (anipics.length<2) return;
 if (aniplays) return;
 aniplays=true;
 if (autostarttimer) {window.clearTimeout(autostarttimer); autostarttimer=false;}

 setAlpha(document.getElementById('intro').getElementsByTagName('img')[1], 0);

 aniplaytimer = window.setInterval(function() {
  if (aniframe==0) {
   setAlpha(document.getElementById('intro').getElementsByTagName('img')[1], 0);
   document.getElementById('intro').getElementsByTagName('img')[1].src= anipics[aniindex];

  } else if (aniframe == 16) {
   document.getElementById('intro').getElementsByTagName('img')[0].src = document.getElementById('intro').getElementsByTagName('img')[1].src;

  } else if (aniframe == 60) {
   aniframe=-1;
   setAlpha(document.getElementById('intro').getElementsByTagName('img')[1], 0);

   aniindex++;
   if (aniindex >= anipics.length) {
    aniindex = 0;
    stopAni();
   }



  } else if (aniframe >= 5 && aniframe < 16) {
   setAlpha(document.getElementById('intro').getElementsByTagName('img')[1], (aniframe-5) * 10);

  }

  aniframe++;
 },80);

}

function preloadAni() {
 for (var i in anipics) {
  loadPic(anipics[i]);
 }
}


function stopAni() {
 if (aniplaytimer) {window.clearTimeout(aniplaytimer); aniplaytimer=false; }
 aniplays=false;
 startAutostart();
}


function setAlpha(obj, opacity) {
 obj.style.filter = 'alpha(opacity='+opacity+')';
 obj.style.opacity = obj.style.MozOpacity = opacity / 100;
}

currentfile='';
currentcat=0;
currentnr=0;
function searchVI(file) {
 var fn, nr;
 for (var cat=0; cat <= 3; cat++) {
   nr=0;
   for (fn in videoindex[cat]) {
    nr++;
    if (fn==file) {
     currentfile = file;
     currentcat = cat;
     currentnr = nr;
     document.getElementById('mediatitle').innerHTML = '<em class="cat">'+cats[cat] + ' ('+ String(cat+1) +'):</em> &nbsp; <em class="title">('+nr+') ' + videoindex[cat][fn].replace(/\[(.*?)\]/gm,'<em>$1</em>')+'</em>';
     return;

    }
   }
 }
 return '';
}

function playthis() {
 window.setTimeout(function(){document.getElementById('mediamov').innerHTML = (currentfile.substr(0,1)=='<') ? currentfile : '<embed src="'+currentfile+'" width="490" height="307" bgcolor="000000">';},100);
}
function terminatemov() {
 if (document.getElementById('mediamov')) document.getElementById('mediamov').innerHTML = '';
}

function goup() {
 if (document.getElementById('medialayer').className == 'layer selecttitle') {
  goprev_title();

 } else {
  currentcat--;
  if (currentcat < 0) currentcat = 3;
  for (var i in videoindex[currentcat]) {
   searchVI(i);
   break;
  }

 }
}

function godown() {
 if (document.getElementById('medialayer').className == 'layer selecttitle') {
  gonext_title();

 } else {
  currentcat++;
  if (currentcat > 3) currentcat = 0;
  for (var i in videoindex[currentcat]) {
   searchVI(i);
   break;
  }

 }
}


function goprev() {
 document.getElementById('medialayer').className = 'layer selectcat';
}
function gonext() {
 document.getElementById('medialayer').className = 'layer selecttitle';
}

function goprev_title() {
 var nr=0;

 for (var fn in videoindex[currentcat]) {
  nr++;
  if (nr==currentnr-1) {
   searchVI(fn);
   return;
  }
 }
 
  /*goup();*/
}

function gonext_title() {
 var nr=0;

 for (var fn in videoindex[currentcat]) {
  nr++;
  if (nr==currentnr+1) {
   searchVI(fn);
   return;
  }
 }
 
 /*godown();*/
}
