            jQuery.fn.mvoTextSlider = function() { 
                return $(this).each(
                    function () {
                        var obj = this;
                        this.selectSliderPage = function (ele, id) {
                            $('.mvoTextSliderContent > *.on > *', ele).removeClass('on');
                            $('.mvoTextSliderContent > *.on > *', ele).eq(id).addClass('on');
                            $('.mvoTextSliderPagination .mvoTextSliderPageNum', ele).removeClass('on').addClass('off');
                            $('.mvoTextSliderPagination .mvoTextSliderPageNum', ele).eq(id).removeClass('off').addClass('on');
                        }
                        this.selectSlider = function (ele, id) {
                            $('.mvoTextSliderPagination', ele).remove();
                            $('.mvoTextSliderContent > *', ele).removeClass('on');
                            $('.mvoTextSliderContent > *:eq('+id+')', ele).eq(0).addClass('on');
                            $('.mvoTextSliderContent > *:eq('+id+') > *', ele).removeClass('on');
                            $('.mvoTextSliderContent > *:eq('+id+') > *', ele).eq(0).addClass('on');
                            $('.mvoTextSliderMenu > *', ele).removeClass('on');
                            $('.mvoTextSliderMenu > *', ele).eq(id).addClass('on');
                            var pages = $('.mvoTextSliderContent > *:eq('+id+') > *', ele).length;
                            var pagination_bar = $('<span class="mvoTextSliderPagination pagi" style="display:block;margin-top:4px;">Seite:<span class="trailing">I</span></span>');
                            var pagination = $('<span class="num"></span>');
                            for (i = 1; i <= pages; i++) {
                                var num = $('<span class="off mvoTextSliderPageNum">0'+i+'</span>');
                                num.click(
                                    function () {
                                        var nb = $(this).prevAll('.mvoTextSliderPageNum').length;
                                        obj.selectSliderPage($(this).parent().parent().parent(), nb);
                                    }
                                );
                                pagination.append(num);
                                pagination.append($('<span class="trailing">I</span>'));
                            }
                            pagination_bar.append(pagination);
                            ele.append(pagination_bar);
                            obj.selectSliderPage(ele, 0);
                        }
                        this.selectSlider($(this), 0);
                        
                        $('.mvoTextSliderMenu > *', $(this)).click(
                            function () {
                                var nb = $(this).prevAll().length;
                                obj.selectSlider($(this).parent().parent(), nb);
                            }
                        );
                    }
                );
            };

            jQuery.fn.tasteGame = function() {
                $('*', $(this)).data('game', $(this));
                $('label', $(this)).click(
                    function () {
                        $('input', $(this).parent()).attr('checked', 'checked');
                    }
                );
                $('.tg_next', $(this)).click(
                    function () {
                        active = $(this).parents('.tg_question').prevAll('.tg_question').length;
                        if ($('.tg_question', $(this).parents('.tg_question').parent()).length > (active + 1)) {
                            $(this).parents('.tg_question').hide();
                            $('.tg_question', $(this).parents('.tg_question').parent()).eq(active + 1).show();
                        }
                        else {
                            $('.tg_answers .tg_answer', $(this).data('game')).data('hits', 0);
                            $('.tg_question input:checked', $(this).parents('.tg_question').parent()).each(
                                function () {
                                    classes = $(this).val().split(/\s+/);
                                    for (i = 0; i < classes.length; i++) {
                                        if (classes[i] != '') {
                                            hits = $('.tg_answers .tg_answer.'+classes[i]+'', $(this).data('game')).data('hits');
                                            $('.tg_answers .tg_answer.'+classes[i]+'', $(this).data('game')).data('hits', hits + 1);
                                        }
                                    }
                                }
                            );

                            best = false;
                            for (i = 0; i < $('.tg_answers .tg_answer').length; i++) {
                                if (!best || best.data('hits') < $('.tg_answers .tg_answer', $(this).data('game')).eq(i).data('hits')) {
                                    best = $('.tg_answers .tg_answer', $(this).data('game')).eq(i);
                                }
                            }
                            if (best) {
                                $('.tg_questions', $(this).data('game')).hide();
                                $('.tg_answers .tg_answer', $(this).data('game')).hide();
                                $('.tg_answers', $(this).data('game')).show();
                                best.show();
                            }
                        }
                    }
                );
            };

jQuery.fn.fullsizeSlider = function(params, value ) { 
    var conf = {page:1};
    var methods = {
        selectTab : function(tab) {
            this.selectTab(tab);
        }
    }
    $.extend(conf, params);
    return $(this).each(
        function () {
            var init = false;
            var i;

            if ( methods[params] ) {
                return this[params].apply(this, [value]);
            } else if ( typeof params === 'object' || ! method ) {
                init = true;
            }

            if (typeof this.active == 'undefined') {
                $.extend(this, methods);
            }
            var obj = this;
            var active = 1;
            var shifter, rwdbutton, fwdbutton, anker;
            this.active = conf.page;
            this.tabcount = $('.tab', $(this)).size();
            $('.tab', $(this)).hide().css('position','absolute').css('top','0px').css('left','0px');
            shifter = $('<div class="pagi" style="margin-top:6px;position:relative;"><span>Seite</span></div>');
            for (i = 1; i <= this.tabcount; i++) {
                j = (i < 10) ? '0'+''+i : i;
                anker = $('<span class="off fsst">'+j+'</span>').click(function(){obj.selectTab($(this).text()*1);});
                shifter.append('<span class="trailing">I</span>').append(anker);
            }
            rwdbutton = $('<span class="off fssrwd" style="display:none;">‹&nbsp;zurück</span>');
            fwdbutton = $('<span class="off fssfwd" style="display:none;position:absolute;top:0px;right:0px;">weiter&nbsp;›</span>');
            rwdbutton.click(function () { obj.rwd(); });
            fwdbutton.click(function () { obj.fwd(); });
            shifter.append('<span class="trailing">I</span>').append(rwdbutton).append(fwdbutton);
            $(this).append(shifter);
            this.selectTab = function (tab) {
                if (tab < 1 || tab > obj.tabcount) return false;
                if (obj.active != tab) {
                    $('.tab', $(obj)).eq(obj.active - 1).fadeOut();
                    $('.pagi .fsst', $(obj)).eq(obj.active - 1).removeClass('on').addClass('off');
                }
                $('.tab', $(obj)).eq(tab - 1).fadeIn();
                $('.pagi .fsst', $(obj)).eq(tab - 1).removeClass('off').addClass('on');
                if (tab < obj.tabcount) $('.fssfwd', $(obj)).show();
                else $('.fssfwd', $(obj)).hide();
                if (tab > 1) $('.fssrwd', $(obj)).show();
                else $('.fssrwd', $(obj)).hide();
                obj.active = tab;
            }
            this.fwd = function () { this.selectTab(obj.active + 1); }
            this.rwd = function () { this.selectTab(obj.active - 1); }
            this.selectTab(this.active);
        }
    );
};

