var current = new Array;
var lastitem = new Array;
var max = new Array;
var intervals = new Array;

   $.fn.extend(
   {        
        carousel: function(parentselector, interval, length) 
        {        
            current[parentselector] = 2;
            lastitem[parentselector] = 1;
            max[parentselector] = length;
            intervals[parentselector] = interval;
            
		    return $(document).carouselStart(parentselector);            
            
        },
        carouselSetPage: function(parentselector, pagenum)
        {
            $(document).stopTime();
            if(pagenum)
            {
                current[parentselector] = pagenum;
            }
            $(document).carouselNext(parentselector);
            $(document).carouselStart(parentselector);        
        },
        carouselStart: function(parentselector)
        {
            return $(document).everyTime(intervals[parentselector],function()
            {
                $(document).carouselNext(parentselector);
            },0);    
        },
        carouselNext: function(parentselector)
        {
            $(parentselector + ' .carouselitem.item' + lastitem[parentselector]).fadeOut(function()
            {
                $(parentselector + ' .carouselitem.item' + (current[parentselector])).fadeIn();
                if(current[parentselector] < max[parentselector])
                {
                    lastitem[parentselector] = current[parentselector];
                    current[parentselector]++;                
                }
                else
                {
                    current[parentselector] = 1;
                    lastitem[parentselector] = max[parentselector];
                }
            }); 
        }
        
   });
   
