
(function( jQ ){
  jQ.fn.bgImageTween = function(images, staytime, fadetime) {
    jQ(this).wrapInner('<div class="bgImageTweenfaderContent"></div>');
    var content = jQ('.bgImageTweenfaderContent', this);
    jQ(this).prepend('<div class="bgImageTweenfader"></div>');
    var fader = jQ('.bgImageTweenfader', this);
    
    content.css('position', 'absolute');
    fader.css('position', 'absolute');
    fader.css('width', jQ(this).width() );
    fader.css('height', jQ(this).height() );
    fader.css('opacity', 0);
    
    n = images.shift(); images.push(n);
    jQ(this).css('backgroundImage', 'url('+n+')');
    n= images.shift(); images.push(n);
    fader.css('backgroundImage', 'url('+n+')');
    
    function switcher() {
      fader.delay(staytime);
      fader.animate({opacity: 1},fadetime);
      fader.queue(function(){
        n = images.shift(); images.push(n);
        fader.parent().css('backgroundImage', 'url('+n+")");
        jQ(this).dequeue();
      });
      fader.delay(staytime);
      fader.animate({opacity: 0},fadetime);
      fader.queue(function(){
        n = images.shift(); images.push(n);
        fader.css('backgroundImage', 'url('+n+")", switcher() );
        jQ(this).dequeue();
      });
    };
    switcher();
  };
})( jQuery );

