/************************************************/
/* Bildechsel.js: Wechselt die Hinterggrundbilder aus     */
/* (c) Joerg peschke, etone Intermedia GmbH & Co KG   */
/* i.A. Teambank                                                                  */
/************************************************/

if (typeof(TeamBank == "undefined")) {TeamBank == new Object();}
TeamBank.BildWechselManager = new Array();

/**
* @class Bildwechsel Erzeugt einen Bildwechsel für mehrere Bilder
**/

/**
* @param {String} bilder Hier können beliebig viele Hintergrundbilder angegeben werden, die durch-gecyclet werden
**/
TeamBank.BildWechsel = function (bilder) {
   // IE6 ausschliessen
   if ((navigator.userAgent.indexOf("MSIE 6") >= 0) || (navigator.userAgent.indexOf("MSIE 5") >= 0)) {return;}
   this.images = arguments;
   // Starte mit dem zweiten Bild
   this.idx = 1;
   // Registriere den Bildwechsel im Manager
   TeamBank.BildWechselManager.push(this);
   this.id = TeamBank.BildWechselManager.length-1;    
   //z-buffer für Überblendung   
   this.primaryBuffer = "#zBuffer1";
   this.secondaryBuffer = "#zBuffer2";   
   //  Array zur Synchronisation der Animation
   this.completed = [false,false];  
   this.preload();
   var scope = this;   
   window.setTimeout(function() {scope.wechsel();}, "5000");
   
}

/**
* Performance-Optimierung: Image-Preloader
**/
TeamBank.BildWechsel.prototype.preload = function () {
    // Cache für das Preloading der Bilder
   this.imageCache = new Array();
   for (var i = 0; i < this.images.length; i++) {
      this.imageCache[i] = new Image();
	  this.imageCache[i].src = this.images[i];
   }
}     


/**
*  Wechselt auf das nächste Bild
**/
TeamBank.BildWechsel.prototype.wechsel = function () {  
   var scope = this; 
   jQuery(this.secondaryBuffer).css("background-image", "url("+this.images[this.idx]+")");
   this.completed = [false, false];
   jQuery(this.primaryBuffer).fadeOut("slow", function () {scope.completed[0] = true; scope.onAnimComplete();});
   jQuery(this.secondaryBuffer).fadeIn("slow", function () {scope.completed[1] = true; scope.onAnimComplete();});
}

/**
* Wird beim FadeOut des gerade angezeigten Bildes aufgerufen ( und läd das nächste Bild)
**/
TeamBank.BildWechsel.prototype.onAnimComplete = function () { 
   if ((!this.completed[0])   || (!this.completed[1])) {return;}
   this.idx = (this.idx+1) % this.images.length;
   var temp = this.secondaryBuffer;
   this.secondaryBuffer = this.primaryBuffer;
   this.primaryBuffer = temp;        
   var scope = this;   
   window.setTimeout(function() {TeamBank.BildWechselManager[scope.id].wechsel();}, "5000");
}
   
 
   
      
      




