//**********************************************************************
//  WA-SHOP
//  JAVASCRIPT using JQuery f Bilderwechsel auf Home
//  jquery.home.banner.js
//  Jörg Reisenbichler  - Version: 2007-09-30
//**********************************************************************
function bannerSelectClass() {  
  this._links = 'div.links > a.bannerNav';

  this.selClick = function(obj) {
    $('a.bannerNav').removeClass("active");
    $(obj).addClass("active");  
    var loa = new ImageLoader('bannerBIG', obj.href, obj.target, unescape(obj.name)); 
    loa.loadImage();
  };
  
  this.init = function() {
    $('div.nav').append('<img src="'+loader_img+'" width="32" height="32" alt="lade..." id="loader" />');
    var pt = Number( ($('#bannerBIG').height() - $('#loader').height()) / 2).toFixed(0);  
    var pr = Number( ($('#bannerBIG').width() - $('#loader').width()) / 2).toFixed(0);    
    var pb = Number( $('#bannerBIG').height() - $('#loader').height() - pt).toFixed(0);
    var pl = Number( $('#bannerBIG').width() - $('#loader').width() - pr).toFixed(0);

    var pt = pt + 'px';  
    var pr = pr + 'px';    
    var pb = pb + 'px';
    var pl = pl + 'px';

    $('#loader').css({left: "0", top: "0", background: "#FFFFFF"});
    $('#loader').css("padding-top", pt);
    $('#loader').css("padding-bottom", pb);
    $('#loader').css("padding-left", pl);
    $('#loader').css("padding-right", pr);    
		
    $(links._links).click(function(){
      links.selClick(this);
      return false;
    });

    var link_anzahl = Number($(links._links).size());
    var obj         = $(links._links).get(link_anzahl);
    $('#loader').fadeOut("slow");
    autoPlay(link_anzahl);
  };
}

function autoPlay(banner) {
  var next_banner  = banner-1;
  var links_banner = $(links._links).size()-1; 
  if(next_banner < 0) { next_banner = links_banner; }
  var obj          = $(links._links).get(next_banner); 
  links.selClick(obj);
  setTimeout('autoPlay('+next_banner+')', 8000);
}

function ImageLoader(id,source,target,name) { 
  this.i       = new Image();
  this.id      = id;
  this.source  = source;
  this.imEl = document.getElementById(id); 
	
  this.changeLink = function() {  
    $('#bannerLink').attr({ href: name });
    $('#bannerLink').attr({ target: target });
  };
  
  this.loadImage = function() {    
    //Link anpassen
    this.changeLink();    
    
    // prufen ob load notwendig ist
    if (this.imEl.src == this.source){
      return false;
    }
    objRef = this;      
    this.i.src = this.source;
    if(!this.i.complete) {
      $('#loader').fadeIn(1);
      objRef.waitForImage();
    } else {      
      this.imEl.src = this.i.src;
    }
  };
  this.waitForImage = function(){ 
    if(objRef.i.complete){ 
      objRef.imEl.src = objRef.i.src;
      $('#loader').fadeOut(300);
    }else{ 
      setTimeout('objRef.waitForImage()', 100); 
    } 
  };
}

var links = new bannerSelectClass();
$(links.init);