(function ($) {
     var opts;
     $.fn.slider = function (options) {
          var containerid = $.fn.slider.id;
          opts = $.extend({}, $.fn.slider.defaults, options);

          if (containerid == "") {
               alert("Container ID not set.  Please set ID of slider container element.");
               return;
          }

          $(containerid).css({ 'display': 'none', 'position': 'relative', 'overflow': 'hidden' });
          $(containerid + ' img').each(
               function (i) {
                    $(this).css({ 'position': 'absolute' });
               }
          );
          rotatePics(0);
          $(containerid).show();

          var timer;
          function rotatePics(idx) {
               if (timer) clearTimeout(timer);
               $('<div id="titlediv"></div>').appendTo('#slider');
               $('#titlediv').css($.fn.slider.textboxcss).fadeTo('slow', 0.7);

               var count = $(containerid + ' img').length;
               idx = idx % count;
               $(containerid + ' img').eq(idx).fadeOut(function () {
                    $(containerid + ' img').each(
                         function (i) {
                              $(this).css('zIndex', ((count - i) + idx) % count);
                         }
                    );
                    $(this).show();
                    $('#titlediv').text($(this).attr('title'));
                    setTimeout(function () {
                         $('#titlediv').fadeOut();
                         $('#titlediv').remove();
                         rotatePics(++idx);
                    }, 4000);
               });
          }
     };
     $.fn.slider.id = "";
     $.fn.slider.textboxcss = {};
     $.fn.slider.defaults = {};
})(jQuery);
