var i=0; aktiv=""; altive = ""; active = ""; var CFi=0; var CFint=2
var deltaT=0; var maxI=0; deltaI=0;
altX=0; altY=0; neuX=0; neuY=0; bilpag=1
bsX=0; var bsY=0;
var MenuWas = 1
var QuadNeu = ""


// --- für QuadZuTeil
var QuadNeu = "ABCD"; var BilBre = 360; var BilHoh = 360;

//--- position 0: Menu (270x240)
//--- position 1: Text (240x240)
//--- position 2: BildMenu (240x150)
//--- position 3: Bild (BilBre x BilHoh)
//--- text - eine Nummer
//--- Menü - mindestens 3
//--- BiMe - 16
//--- Bild - 1 u
// die ersten vier: menu, text, bime, bild
// danach m - alles was mit dem Menü zu tun hat
// danach b - alles was mit dem BildMenü zu tun hat


var GrName = new Array("menu", "text", "bime", "bild")
var GrX = new Array   (   270,    270,    220, BilBre)
var GrY = new Array   (   240,    270,    128, BilHoh)
var menuTxt = new Array ("Meine Projekte befinden sich derzeit noch in Bau!","viele zu haben, sich an alle erifnnern, einige zu behalten >> manche zu teilen","drei Schritte im Alltag, zwei Stunden mit dem Flugzeug >> Eindrücke und Inspiration","cogito ergo sum >> eine kurze Zusammenfassung",">> Startseite ...","Diese Seite auf deutsch ...","Questo sito in italiano ...","this website in English ..."," "," ","Elenco di progetti su cui ho lavorato - in ordine temporale.","tanti da fare, tutti da ricordare, molti da tenere  >> alcuni da condividere","siano quattro passi quotidiani o due ore in aereo >> impressioni e ispirazione","cogito ergo sum >> una breve relazione",">> prima pagina ...","Diese Seite auf deutsch ...","Questo sito in italiano ...","this website in English ..."," "," ","List of projects on which I have worked.", "many to be made, all to be remembered, many to be held >> some to be shared","some steps as usual or two hours by plane >> impressions and inspiration","cogito ergo sum >> a brief summary",">> go to main page ...","Diese Seite auf deutsch ...","Questo sito in italiano ...","this website in English ...")
var lst = new Array()  	     //----- Jahresliste: lst[2006]="23, 23, 45, 4, ..." [Liste der Projekte]
var ja2 = new Array()
var menuA = new Array("Projekte", "progetti", "projects")
var menuB = new Array("Gedanken", "pensieri", "thoughts")
var menuC = new Array("Reisen", "viaggi", "travel")
var menuD = new Array("Vita", "vita", "vita")



// ------------------------------------------------------------------------------ //
// ---  Hier sind die beiden Mutterfunktionen, die die ganze Technik steuern  --- //
// ------------------------------------------------------------------------------ //


function PageInit(){

bsSize()
document.getElementById("ver").style.left = bsX/2;
document.getElementById("hor").style.top = bsY/2;
JahrSort()
akPrj = 0;
CFi = 100;
window.setTimeout("ContWxl(-1)",1000)
}



function ContWxl(wer){


//var cat = document.getElementById("mpt"+wer)
//if (wer => 0) {
//  if (cat.className!="menu"){
//    alert("Okay !")
//  };
//}


if (sperre==0){
sperre=1; bilpag=1
document.getElementById("bil0").src="./src/w.gif"
MenuAction("A",0);
kaTmp[-1] = 0
akPrj = kaTmp[wer]*100;
GrX[3]=0; 
GrY[3]=0;
for (ti=1; ti<=15; ti++){
if (biX[(akPrj+ti)]>GrX[3]){GrX[3]=biX[(akPrj+ti)];};
if (biY[(akPrj+ti)]>GrY[3]){GrY[3]=biY[(akPrj+ti)];};
};
QuadZuteil()
var WeiteL=Math.max(GrX[(QuadNeu.charCodeAt(1)-65)],GrX[(QuadNeu.charCodeAt(2)-65)])
var WeiteR=Math.max(GrX[(QuadNeu.charCodeAt(0)-65)],GrX[(QuadNeu.charCodeAt(3)-65)])
var HoeheO=Math.max(GrY[(QuadNeu.charCodeAt(0)-65)],GrY[(QuadNeu.charCodeAt(1)-65)])
var HoeheU=Math.max(GrY[(QuadNeu.charCodeAt(2)-65)],GrY[(QuadNeu.charCodeAt(3)-65)])
var GameH=bsWeite(); var SpielH=GameH-WeiteL-WeiteR-108
var GameV=bsHoehe(); var SpielV=GameV-HoeheO-HoeheU-108
neuX=Math.round(Math.random()*SpielH)+WeiteL+48; neuY=Math.round(Math.random()*SpielV)+HoeheO+48;
var tObj= document.getElementById("bild")
tObj.style.height=GrY[3]; tObj.style.width=GrX[3];
if(bil[(akPrj+1)]){; }else{bil[(akPrj+1)]="w"; biX[(akPrj+1)]=1; biY[(akPrj+1)]=1;}
StartContFade();
window.setTimeout("BildWxl(1)",600)
window.setTimeout("BiMeWxl(akPrj)",600)
window.setTimeout("TextWxl(akPrj)",600)
window.setTimeout("ContMove()",600)
window.setTimeout("StartSchiebKr()",800)
window.setTimeout("StartContFade()",2000)
window.setTimeout("Entsperr()",2500)
};
//}
}


// --------------------------------------------------------------------- //
// ---  Hier kommen die untergeordneten, technischen Funktionsteile  --- //
// --------------------------------------------------------------------- //


function Entsperr(){
sperre=0
}


function TextWxl(akPrj){

document.getElementById("tex0").innerHTML = tex[((akPrj+1)*10+ling)]
document.getElementById("tex1").innerHTML = "<br>"+tex[((akPrj+2)*10+ling)]

for (ti=2; ti<=39; ti++){
  var tWer="tex"+ti.toString()
  var tSpn = document.getElementById(tWer);
  if (tex[((akPrj+ti+1)*10+ling)]) {
    tSpn.innerHTML = "<br><br>"+tex[((akPrj+ti+1)*10+ling)]
  } else {
    tSpn.innerHTML = " "
  };
//  if (txht[((akPrj+ti+1)*10+ling)]) {
//    document.getElementById("texu").style.height=txht[((akPrj+ti+1)*10+ling)]
//  } else {
//    document.getElementById("texu").style.height=240
//  }
}
}


function BiMeWxl(akPrj){

  var Quad = QuadNeu.indexOf("C");  var facX = Math.abs(Math.round(Quad/2+.25)-1);  // 1 positiv, 0 negativ
  var BiMeStt = 1
  if (bilpag>1) {
    document.getElementById("bim1").src="./src/w"+String(-1*facX+1)+".gif";
    document.getElementById("bim2").src="./src/w.gif";
    var BiMeStt = 3
  }
  var BiMeEnd = 15
  if (bil[(akPrj+(bilpag*11+5))]) {
    document.getElementById("bim15").src="./src/w"+String(facX)+".gif";
    document.getElementById("bim14").src="./src/w.gif";
    var BiMeEnd = 13
  }
  for (ti=BiMeStt; ti<=BiMeEnd; ti++){
    var tWer="bim"+ti.toString()
    var tSpn = document.getElementById(tWer);
    if(bil[(akPrj+(bilpag-1)*11+ti)]){
      tSpn.src="./src/"+String(bil[(akPrj+(bilpag-1)*11+ti)])+".gif";
    }else{
      tSpn.src="./src/w.gif";
    }
  }
}



function BildClk(wer){

  if(wer==1 && bilpag>1) {
    bilpag=bilpag-1; BiMeWxl(akPrj)
  } else {
    if(wer==15 && (bil[(akPrj+(bilpag*11+5))])) {
      bilpag=bilpag+1; BiMeWxl(akPrj)
    } else {
      if(wer==2 && bilpag>1) {
      }else{
        if(wer==14 && (bil[(akPrj+(bilpag*11+5))])) {
        } else {
          BildWxl((bilpag-1)*11+wer);
          if (wer==1){
            document.getElementById("text").scrollTop=0
          }else{
            document.getElementById("text").scrollTop=document.getElementById("tex"+((bilpag-1)*11+wer)).offsetTop
          };
        };
      };
    };
  };
}



function BildWxl(wer){

if(bil[(akPrj+wer)]){
  document.getElementById("bil0").src="./src/w.gif"
  var pos=QuadNeu.indexOf("D")+1
  var hor=-1*Math.abs(Math.round((pos-2.5)/2))+1
  var ver=((pos-2.5)/Math.abs(pos-2.5))/-2+0.5
  var tSpn = document.getElementById("bile");
  tSpn.style.width=biX[(akPrj+wer)]
  tSpn.style.height=biY[(akPrj+wer)]
  tSpn.style.left=hor*(GrX[3]-biX[(akPrj+wer)])
  tSpn.style.top=ver*(GrY[3]-biY[(akPrj+wer)])
  document.getElementById("bil0").src="./src/"+String(bil[(akPrj+wer)])+".jpg";
}
}



function JahrSort(){
//---- In welchem Jahr sind welche Projekte? Erstellen der Jahreslisten
//---- anhand der verfügbaren Kategorien

// --- Bei Neuaufruf die Arrays lst[x] und katry[x] auf null setzen
lst=new Array()
katry=new Array()


var si=1;
while(ja1[si]){
  if (ja2[si]){
    var ti2=ja2[si];
  }else{
    var ti2=ja1[si];
  };
  for (var ti=ja1[si]; ti<=ti2; ti++){
    var tmp=(kat[si]*10000+ti);
    if (lst[tmp]){
      var temp=String(lst[tmp]);
      lst[tmp]=String(si).concat(", "+temp)
    }else{
      lst[tmp]=String(si);
    };
  };
si++;
};

for (si=2020; si>=1990; si--){
  for (ti=1; ti<=3; ti++){
    if (lst[(ti*10000+si)]){
      if (katry[ti]){
        katry[ti]=katry[ti] + ", "+si+", "+lst[(ti*10000+si)]
      }else{
        katry[ti]=si+", "+lst[(ti*10000+si)]
      };
    };
  };
};

var tmp = lst[(42000)].split(", ");
tmp.reverse();
katry[4] = tmp.join(", ");

}




function bsSize() {bsX = bsWeite();bsY = bsHoehe();}
function bsWeite () {if (window.innerWidth) {return window.innerWidth} else if (document.body && document.body.offsetWidth) {return document.body.offsetWidth;} else {return 0;};}
function bsHoehe () {if (window.innerHeight) {return window.innerHeight;} else if (document.body && document.body.offsetHeight) {return document.body.offsetHeight;} else {return 0;};}



function StartKreuzFadeIn(){i = 0; aktiv = window.setInterval("KreuzFadeIn()",15);}

function KreuzFadeIn() {

var hor = document.getElementById("hor"); 
hor.style.filter = "alpha(opacity:"+i+")"; 
hor.style.MozOpacity = (.01*i);
var ver = document.getElementById("ver"); 
ver.style.filter = "alpha(opacity:"+i+")"; 
ver.style.MozOpacity = (.01*i);
  i=i+5;
  if (i >= 100){window.clearInterval(aktiv); aktiv = "";
    var tempX = document.getElementById("ver").style.left; altX = parseInt((String(tempX)).substring(0,tempX.indexOf("p")));
    var tempY = document.getElementById("hor").style.top; altY = parseInt((String(tempY)).substring(0,tempY.indexOf("p"))); 
    i=0;
  };
}



function StartContFade(){if(CFi>=100){CFint=-10}else{CFint=10}; active = window.setInterval("ContFade()",10);}

function ContFade() {
  for (var ste=0; ste<=3; ste++){
    var CFtemp = document.getElementById(GrName[ste]); CFtemp.style.filter = "alpha(opacity:"+ (CFi) +")"; CFtemp.style.MozOpacity = (.01*CFi);
  }
var hor = document.getElementById("hor");   var ver = document.getElementById("ver");
hor.style.filter = "alpha(opacity:"+ (100-CFi) +")"; hor.style.MozOpacity = (1-CFi*.01);
ver.style.filter = "alpha(opacity:"+ (100-CFi) +")"; ver.style.MozOpacity = (1-CFi*.01);
  CFi = CFi + CFint;
  if (CFi > 100 || CFi < 0){window.clearInterval(active);};
}



function StartSchiebKr() { 
  var tempX = document.getElementById("ver").style.left; altX = parseInt((String(tempX)).substring(0,tempX.indexOf("p"))); 
  var tempY = document.getElementById("hor").style.top; altY = parseInt((String(tempY)).substring(0,tempY.indexOf("p")));
  var dXY=Math.round(Math.sqrt(Math.pow((neuX-altX),2)+Math.pow((neuY-altY),2)))
  deltaT=10; maxI=50; deltaI = 2; i=0;
  altive = window.setInterval("SchiebKr()", deltaT)
}



function SchiebKr () {
  i = i+deltaI;
  document.getElementById("ver").style.left = (altX+(neuX-altX)/maxI*i)
  document.getElementById("hor").style.top = (altY+(neuY-altY)/maxI*i)
  if (i>= maxI){window.clearInterval(altive); altive="";}
}



function BiMeAction(wer, was){
  document.getElementById("bm"+wer).style.filter="alpha(opacity:"+(77+was*23)+")";
  document.getElementById("bm"+wer).style.opacity=(.77+was*.23);
  if (was==0){
    document.body.style.cursor='crosshair';
  } else {
    document.body.style.cursor='pointer';
  };
}



function LinguaAction(wer, was){
  document.getElementById("men3").style.filter="alpha(opacity:0)";
  document.getElementById("men3").style.opacity=0;
  document.getElementById("men4").style.filter="alpha(opacity:0)";
  document.getElementById("men4").style.opacity=0;
  if (was==1){
    document.getElementById("men3").style.filter="alpha(opacity: 100)"
    document.getElementById("men3").style.opacity=1;
    document.getElementById("me31").innerHTML = menuTxt[(wer.charCodeAt(0)-65+10*(ling-1))]
  };
  if (was==2 && sperre==0){
    ling = wer.charCodeAt(0)-69
    mi=1; i=0; sperre=1; active=window.setInterval("LtrRoll()",70);
    JahrSort()
  };
}



function LtrRoll(){
  var NameTmp="menu"+String.fromCharCode(mi+64)
  var menuTmp=new Array()
  if (mi==1){menuTmp=menuA}
  if (mi==2){menuTmp=menuB}
  if (mi==3){menuTmp=menuC}
  if (mi==4){menuTmp=menuD}
  if (mi>=5){
    NameTmp="tex"+(mi-5);
    if (tex[((akPrj+(mi-4))*10+ling)]){
      menuTmp[(ling-1)]=tex[((akPrj+(mi-4))*10+ling)];
      i=(menuTmp[(ling-1)].length)+1 
    } else {
      menuTmp[(ling-1)]=" "; i=2
    }
  }

  if(i>(menuTmp[(ling-1)].length)){
      document.getElementById(NameTmp).innerHTML=menuTmp[(ling-1)];
      mi++; i=0;
      if (mi>=20){
        window.clearInterval(active); sperre=0
      }
  }else{
    var alt=document.getElementById(NameTmp).innerHTML;
    var altlgt = alt.length;
    document.getElementById(NameTmp).innerHTML=(menuTmp[(ling-1)].slice(0, i)+"+"+alt.slice(i+1,altlgt))
    i++;
  }
}


function FadeAction(was){
  if (sperre==0){
    sperre=1
    if (was == 0) {
      document.getElementById("bild").style.filter = "alpha(opacity=60)";
      document.getElementById("bild").style.opacity=.6;
      document.getElementById("text").style.filter = "alpha(opacity=60)";
      document.getElementById("text").style.opacity=.6;
      document.getElementById("bime").style.filter = "alpha(opacity=60)";
      document.getElementById("bime").style.opacity=.6;

      document.getElementById("hor").style.filter = "alpha(opacity=40)";
      document.getElementById("hor").style.opacity=.4;
      document.getElementById("ver").style.filter = "alpha(opacity=40)";
      document.getElementById("ver").style.opacity=.4;

    } else {
      document.getElementById("bild").style.filter = "alpha(opacity=100)";
      document.getElementById("bild").style.opacity=1;
      document.getElementById("text").style.filter = "alpha(opacity=100)";
      document.getElementById("text").style.opacity=1;
      document.getElementById("bime").style.filter = "alpha(opacity=100)";
      document.getElementById("bime").style.opacity=1;
      document.getElementById("hor").style.filter = "alpha(opacity=0)";
      document.getElementById("hor").style.opacity=0;
      document.getElementById("ver").style.filter = "alpha(opacity=0)";
      document.getElementById("ver").style.opacity=0;

    }
    window.setTimeout("Entsperr()",200)
  }
}



function MenuAction(wer, was){

  if (was==0){var tcol="#888"; FadeAction(1);}else{var tcol="#888"; FadeAction(0); document.getElementById("men4").scrollTop = 0;}
  for (var i = 1; i <= 4; i++) {
    document.getElementById("menu"+String.fromCharCode(64+i)).style.color=tcol;
  }

  document.getElementById("men3").style.filter = "alpha(opacity=0)";
  document.getElementById("men3").style.opacity=0;
  document.getElementById("men4").style.filter = "alpha(opacity=0)";
  document.getElementById("men4").style.opacity=0;


  if (was==1){
    document.getElementById("menu"+wer).style.color='#222'; 
    document.body.style.cursor='crosshair';
    document.getElementById("men3").style.filter = "alpha(opacity=100)";
    document.getElementById("men3").style.opacity=1;
    document.getElementById("me31").innerHTML = menuTxt[(wer.charCodeAt(0)-65+10*(ling-1))]
  };
  if (was==2){
    document.getElementById("menu"+wer).style.color='#222'; 
    document.body.style.cursor='crosshair'; 
    var tObj=document.getElementById("men4");
    tObj.style.height="188px"
    kaTmp=katry[(wer.charCodeAt(0)-64)].split(", ");
    for(ti=0; ti<=40; ti++){

      var tWer="mpt"+ti.toString()
      var tSpn=document.getElementById(tWer);
      if (kaTmp[ti]){

        tSpn.style.width="200px"
        
        if (kaTmp[ti]>1000){
          tSpn.style.height="16px"
          tSpn.innerHTML = kaTmp[ti] + "<br>"
          tSpn.className = "jahr"
        } else{
          if (bil[(kaTmp[ti]*100+1)]){
            tSpn.style.height="42px"
            tSpn.innerHTML = "<img src=\"src/"+bil[(kaTmp[ti]*100+1)]+".gif\" align=\"left\" style=\"opacity:inherit; margin-bottom:4px; margin-right:4px;\">"+tex[((kaTmp[ti]*100+1)*10+ling)] +"<br clear=\"left\">"  
            tSpn.className = "menu";
          } else {
             tSpn.innerHTML ="<img src=\"src/w.gif\" align=\"left\" style=\"opacity:inherit; margin-bottom:4px; margin-right:4px;\">"+tex[((kaTmp[ti]*100+1)*10+ling)]+"<br clear=\"left\">"  
             tSpn.className = "menu"
          }
        }
      } else {
          tSpn.innerHTML = ""
          tSpn.className = "leer"
          tSpn.style.height="0.2px"
      };
    }
    tObj.style.opacity=1; tObj.style.filter="alpha(opacity:100)"; 
  }
}


function menuFade(wer,was){

  var tmp = document.getElementById("mpt"+wer)
  if (tmp.className!="jahr"){
    document.getElementById("mpt"+wer).style.filter="alpha(opacity:"+(77+was*23)+")";
    document.getElementById("mpt"+wer).style.opacity=(.77+was*.23);
    if (was==0){document.body.style.cursor='crosshair';
    } else {
      document.body.style.cursor='pointer';
    };
  };
}

function ContMove(){
//--- i ist der Quadrant, car ist das zu platzierende Element ---//
for (var i=0; i<=3; i++){
  var car = QuadNeu.charCodeAt(i)-65;
    if (i == 0 || i == 3){
      var tmpX=neuX+26;
    } else {
      var tmpX=neuX-GrX[car]-24;
    }; document.getElementById(GrName[car]).style.left=tmpX; 
    if (i == 2 || i == 3){
      var tmpY=neuY+26;
    } else {
      var tmpY=neuY-GrY[car]-24;
    }; document.getElementById(GrName[car]).style.top=tmpY;
  };

document.getElementById("text").scrollTop = 0;
document.getElementById("men4").scrollTop = 0;


var i = QuadNeu.indexOf("A");
if (i == 0 || i == 1){
document.getElementById("men1").style.top=226;  
document.getElementById("men2").style.top=198;
document.getElementById("men3").style.top=155;
document.getElementById("men4").style.top=0;
} else {
document.getElementById("men1").style.top=0;  
document.getElementById("men2").style.top=21;
document.getElementById("men3").style.top=49;
document.getElementById("men4").style.top=52;
};


var Quad = QuadNeu.indexOf("C"); var facX = Math.abs(Math.round(Quad/2+.25)-1); var facY = Math.round(Quad/2-.1)*-1+1  // 1 positiv, 0 negativ
for (var i=1; i <=15; i++){
  document.getElementById("bm"+i).style.left=Math.round(((facX-1)*-176)+(facX*2-1)*(i/5-Math.round(i/5-.6)-.2)*220);
  document.getElementById("bm"+i).style.top=Math.round((88*facY)+(facY*-2+1)*Math.round((i-3)/5)*44);
};



}



function QuadZuteil() {
  var Quad = "ABCD"; QuadNeu = "";
  for (var i = 4; i >= 1; i--) {
    var TempNeu = Quad.charAt(Math.floor((i)*Math.random()));
    var TempQuad = Quad.split(TempNeu);
    var Quad = TempQuad[0]+TempQuad[1];
    QuadNeu = QuadNeu+TempNeu;
  };
  if (BilHoh > 300) {
    var TempX = QuadNeu.charAt((QuadNeu.indexOf("B"))-Math.cos((QuadNeu.indexOf("B")+1)*Math.PI));
    if (TempX != "D"){
      var TempQuad = QuadNeu.split(TempX); QuadNeu = TempQuad[0]+"d"+TempQuad[1];
      var TempQuad = QuadNeu.split("D"); QuadNeu = TempQuad[0]+TempX+TempQuad[1];
      var TempQuad = QuadNeu.split("d"); QuadNeu = TempQuad[0]+"D"+TempQuad[1];
    };
  };
}




