jQuery.fn.teaImageSlider = function(settings) {

  settings = jQuery.extend({
    slideDelay: 5000,
    fadeSpeed: 1000,
	shiftFirstTime: false
  }, settings);
  
  if(settings.slideDelay < settings.fadeSpeed){
    settings.slideDelay = settings.fadeSpeed;
  }
  
  jQuery(this).each(function(){
    var obj = this;
      ImageSlider(obj, true, settings);
  });
  
  return this;
                  
}; 
      
function ImageSlider(wrapper, firstTime, settings){
  var img1;
  if(!firstTime)
    img1 = jQuery(wrapper).find("img:eq(0)");
  var img2 = !firstTime ? jQuery(wrapper).find("img:eq(1)") : jQuery(wrapper).find("img:eq(0)") ;
  
  if(!firstTime || ( firstTime && settings.shiftFirstTime ) ) {
      
  if(settings.imageShiftFunction){
    settings.imageShiftFunction( wrapper, firstTime, settings, img1, img2 );
  } else {
  
  if(!firstTime){
  
  img2.css({
    left : 0,
    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, false, settings)
  }, settings.slideDelay);

}