(function($) {
    var index   = 0; 
    var img     = new Image();
    var images  = []; 
    var element = null;
    
    function shuffle (b) {
        for(var j, x, i = b.length; i; j = parseInt(Math.random() * i), x = b[--i], b[i] = b[j], b[j] = x);
        return b;
    }
    
    function cycle() {
  		if ($.browser.mozilla) window.scrollTo(window.pageXOffset, window.pageYOffset); // scrollfix
  		
        $(element).hide().css({backgroundImage:'url("'+ images[index] +'")'});
        $(element).fadeIn('slow');

        if (index < images.length-1) index++;
        else index = 0;
    }
    
    $.extend($.fn, {
        cyclebg: function (delay, imgs) {
            if ($(this).get(0)) {
                images  = imgs, element = $(this).get(0);
                for (id in images) { img.src = images[id]; } // preload
                cycle(); setInterval(cycle, delay);
            }
        }
    });
})(jQuery);
