jQuery.fn.teaImageSlider = function(settings) {

  settings = jQuery.extend({
    slideDelay: 5000,
    fadeSpeed: 1000
  }, settings);
  
  if(settings.slideDelay < settings.fadeSpeed){
    settings.slideDelay = settings.fadeSpeed;
  }
  
  jQuery(this).each(function(){
    var obj = this;
    setTimeout( function(){
      ImageSlider(obj, settings)
    }, settings.slideDelay);
  });
  
  return this;
                  
}; 
      
function ImageSlider(wrapper, settings){
  var img1 = jQuery(wrapper).find("img:eq(0)");
  var img2 = jQuery(wrapper).find("img:eq(1)");
  var left = ( jQuery(wrapper).width() / 2 ) - ( img2.width() / 2 );
      
  img2.css({
    left : left,
    top : 0,
    position : "absolute",
    opacity : 0
  });
  img1.animate({
    opacity : 0
  }, settings.fadeSpeed, function(){
     jQuery(wrapper).append(img1);
     img1.css({
       opacity : 1
     });
   });

  img2.animate({
    opacity : 1
  }, settings.fadeSpeed, function(){
    img2.css({
      position : "static"
    });
  });

  setTimeout( function(){
    ImageSlider(wrapper, settings)
  }, settings.slideDelay);

}