
function dget(id){
 if (!document.getElementById(id)){
  if (id!='miau') miau(id);
  else alert('dget(miau) caused error - avoiding stack overflow');
 }
 return document.getElementById(id);
}

function dwrite(s){
 return document.write(s);
}

function miau(s){
var a=dget("miau").innerHTML+s+" | ";
if (a.length>1337) a=a.substring((a.length-1337),a.length);
dget("miau").innerHTML=a;
}


function showMenu(){
 block_startfade=true;
 fadestart("logo",100,0,0.2,"");
 fadestart("menu",0,100,0.4,"");
}

function hideMenu(){
 fadestart("logo",-20,100,0.4,"");		//120 / -20 -> flicker bugfix
 fadestart("menu",120,0,0.2,"");
}

function init_js_menu(){
 set_opacity("logo",0);
 setTimeout('if(!block_startfade)fadestart("logo",0,100,0.5,"");',600);
 set_opacity("menu",0);
 dget("menu").style.visibility="visible";
 dget("menu").style.position="relative";
 dget("menu").style.top="-40px";
 dget("menu").className="";	//disable hover effect, to be able to replace with fading effect later
 dget("logo").className="";
 dget("body").removeChild(dget("IEmenu"));
 dget("header").onmouseover=function(){ try{showMenu();}catch(e){return;} };
 dget("header").onmouseout =function(){ try{hideMenu();}catch(e){return;} };
}




var block_startfade=false;
var allow_new_fade=true;
var fade_calcs_per_sec=40;
var execwhendonelist="";

function fadestart(id,startvalue,endvalue,time,execwhendone){
if ( !isNaN( parseInt(dget(id).getAttribute("fadestatus")) ) ) {
 dget(id).setAttribute("fadestepsize",((startvalue-endvalue)/(fade_calcs_per_sec*time)*100) );
 dget(id).setAttribute("fadegoal",endvalue);
 dget(id).setAttribute("exec",execwhendone);
 return;
}
dget(id).setAttribute("fadestatus",startvalue);
dget(id).setAttribute("fadegoal",endvalue);
dget(id).setAttribute("fadestepsize",((startvalue-endvalue)/(fade_calcs_per_sec*time)*100) );
dget(id).setAttribute("exec",execwhendone);
fade_v2(id);
}

function fade_cancel(id){
dget(id).setAttribute("fadestatus","");
}




function set_opacity(id,i){	//i in percent
 if(i>100)i=100;		//flicker bugfix part2
 if(i<0)i=0;
 i=Math.abs(i);
 dget(id).style.MozOpacity=i/100;
 dget(id).style.filter="alpha(opacity="+i+")";
 dget(id).style.opacity=i/100;
}




function fade_v2(id){
var i=parseInt(dget(id).getAttribute("fadestatus"));
var g=parseInt(dget(id).getAttribute("fadegoal"));
var s=parseInt(dget(id).getAttribute("fadestepsize"))/100;
if (s>0 && s<1) s=1;
else if (s<0 && s>-1) s=-1;

if ((s<0 && i<g) || (s>0 && i>g)){	//ziel noch nicht erreicht
 i-=s;
 if ((s<0 && i>g) || (s>0 && i<g)) i=g;	//wenns nicht auskommt
 set_opacity(id,i);
// if (id=="menu") miau(i);
 dget(id).setAttribute("fadestatus",i)
 setTimeout("fade_v2('"+id+"');",1000/fade_calcs_per_sec);
}
else {
 if(i==0 && g==0){
  dget(id).className="invisible";
  if (dget(id).getAttribute("exec")!=""){
   if (execwhendonelist!="") clearTimeout(execwhendonelist);
   execwhendonelist+=dget(id).getAttribute("exec");
   setTimeout(execwhendonelist+" execwhendonelist='';",1);
  }
 }
 dget(id).setAttribute("fadestatus","");
}
}



window.onunload=goodbye;

function goodbye(){
 dget("body").innerHML='';
}





