// JavaScript Document

      var Pic_index = 0;
      var Opacity = 0;
      
//Path: Pfad zu den Dateien
//Pic_approx: Grobe Überabschätzung der zu erwartenden Bilderanzahl; aus recheninternen Gründen als Type:Float angegeben

      var Path = "http://www.henn-fries.de/fileadmin/user_upload/themen/sidebar/";
      var Pic_approx = 12.0;
      

//Startfunktion, die das Zieldokument auf weiteres processing vorbereitet 
//!!MUSS VOR DEM AUFRUF VON FADEIN ODER FADEOUT AUFGERUFEN WORDEN SEIN!!

      function Init(){
        document.images["Pic1"].onerror = function(){setTimeout("Pic1change()", .1); return true;};
        document.images["Pic2"].onerror = function(){setTimeout("Pic2change()", .1); return true;}; 
        Pic1change();
        Pic2change();
        setTimeout("Fadein()", 10000);  
      }      


//Wechselt alle dynamischen Elemente im DIV mit "Group1" Tag
       
      function Pic1change(){
        Pic_index = (Math.floor(Pic_approx * Math.random())) + 1;
        document.images["Pic1"].src = Path + "pic_" + Pic_index + ".jpg";
        document.getElementById("Text1").firstChild.nodeValue = IO(Path + "text_" + Pic_index + ".txt");
        document.getElementById("Name1").firstChild.nodeValue = IO(Path + "name_" + Pic_index + ".txt");
      }


//Wechselt alle dynamischen Elemente im DIV mit "Group2" Tag
      
      function Pic2change(){
        Pic_index = parseInt(Pic_approx * Math.random());
        document.images["Pic2"].src = Path + "pic_" + Pic_index + ".jpg";
        document.getElementById("Text2").firstChild.nodeValue = IO(Path + "text_" + Pic_index + ".txt");
        document.getElementById("Name2").firstChild.nodeValue = IO(Path + "name_" + Pic_index + ".txt");
      }


//Synchroner handler für dynamischen Dateiaustausch
      
      function IO(U, V) {
        //LA MOD String Version. A tiny ajax library.  by, DanDavis
        var X = !window.XMLHttpRequest ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest();
        X.open(V ? 'PUT' : 'GET', U, false );
        X.setRequestHeader('Content-Type', 'text/html')
        X.send(V ? V : '');
        return X.responseText;
      }


//Folgende 2 Funktionen faden die DIV container "Group1" und "Group2" ineinander über und rufen sich gegenseitig immer wieder auf
//In den letzten Zeilen beider Funktionen kann das Aufrufintervall eingestellt werden
      
      function Fadein(){
        if(Opacity < 100) {
          Opacity++;
          document.getElementById("Group2").style.opacity = Opacity/25;
          document.getElementById("Group2").style.filter = "alpha(opacity=" + (4*Opacity) + ")";
          document.getElementById("Group2").style.MozOpacity = Opacity/25;
          setTimeout("Fadein()", 40);
        } else {
          document.getElementById("Group1").style.opacity = 0;
          document.getElementById("Group1").style.filter = "alpha(opacity=0)";
          document.getElementById("Group1").style.MozOpacity = 0;
          Pic1change();
          document.getElementById("Group1").style.opacity = 1;
          document.getElementById("Group1").style.filter = "alpha(opacity=100)";
          document.getElementById("Group1").style.MozOpacity = 1;
          setTimeout("Fadeout()", 10000);      
        }        
      }
      
      function Fadeout(){
        if(Opacity > 0) {
          Opacity--;
          document.getElementById("Group2").style.opacity = Opacity/25;
          document.getElementById("Group2").style.filter = "alpha(opacity=" + (4*Opacity) + ")";
          document.getElementById("Group2").style.MozOpacity = Opacity/25;
          setTimeout("Fadeout()", 40);
        } else {
          Pic2change();
          setTimeout("Fadein()", 10000);        
        } 
      }

