// @author Gk___
// @date 17.10.2009 1:28 am
(function($){
    var trPause = 1;
    jQuery.fn.extend({
        gkFT: function(options){
            var options = $.extend({
                pauseTime: 5000,
                transitionTime: 2000
            }, options);
            Tr = function(obj){
                var timer = null;
                var current = 0;
                var els = $("> *", obj).css("display", "none").css("left", "0").css("top", "0").css("position", "absolute");
                $(obj).css("position", "relative");
                $(els[current]).css("display", "block");
                function transition(){
                    var next = (current + 1) % els.length | 0;
                    $(els[current]).fadeOut(options.transitionTime);
                    $(els[next]).fadeIn(options.transitionTime);
                    current = next;
                    cue();
                };
                function cue(){
                    if ($("> *", obj).length < 2) 
                        return false;
                    if (timer) 
                        clearTimeout(timer);
                    if (trPause == 0) {
                        timer = setTimeout(cue, 1000);
                    }else{
                        timer = setTimeout(transition, options.pauseTime);
                    }
                };
                cue();
            }
            return this.each(function(){
                var t = new Tr(this);
            });
        },
        pauseFT: function(){
            if (trPause == 1) {
                trPause = 0;
            }
            else {
                trPause = 1;
            }
            return this;
        }
    });
})(jQuery);
