jQuery.fn.rotator = function(settings) {
  settings = jQuery.extend({displayTime:5000, startDelay:0}, settings);    
 
  function setZIndexes(listElements) {
    listElements.each(function(ii) {
      $(this).css({zIndex: listElements.length - ii,
                  position:"absolute"});
    })
    return;
  }
 
  return this.each(function() {
    var list = jQuery(this);
    var listElements = $("li", this);
    
    setZIndexes(listElements);

    window.setTimeout(function() {
      window.setInterval(function() {
        var li = $("li:first", list);
        li.fadeOut(2000, function() {
          //
          // Move element to end of list
          //
          li.parent().append(li);

          //
          // Reset z-indexes
          //
          setZIndexes($("li", list));
          li.show();

        });
      }, settings.displayTime);
    }, settings.startDelay);
  }); 
};