"too much recursion" in my rotating banner script
<p>My rotating banner script is throwing a "Too much recursion" error when the <code>iKeyless.widget.Rotator.rotate();</code> function is called within <code>init();</code>.  I can't figure out why, <code>init();</code> is only called once and there's a defer() on the second call.... when the page loads it lags before throwing "too much recursion"</p>

<pre><code>    return {
        init: function () {
            ui.container = $("#rotating-banner");
            ui.thumbs = $("#rotating-banner .tabs .tab");
            ui.banners = $("#rotating-banner .banner");
            ui.fadeBox = $(".rotate .bd .fade-box");

            ui.thumbs.each(function (idx, el) {
                $(el).click(function () {
                    paused = true;

                    iKeyless.widget.Rotator.rotate.show(idx);
                });
            });

            iKeyless.widget.Rotator.rotate();
        },
        show: function (idx) {
            ui.fadeBox.css("display", "block");
            ui.fadeBox.animate({
                opacity: 1
            },
            .125,
            function () {
                $('.active', $(ui.banners[idx]).addClass('active').parent()).removeClass('active');

                ui.fadeBox.animate({
                    opacity: 1
                },
                .125,
                function () {
                    ui.fadeBox.css("display", "none");
                });
            });
        },
        rotate: function () {
            if (!paused) {
                this.show(counter);

                counter = counter + 1;

                if (counter === ui.thumbs.length) {
                    counter = 0;
                }

                iKeyless.widget.Rotator.rotate().defer(5000);
            }
        }
    }
</code></pre>
