$(document).ready(function(){

    if ($('.make-toc').length > 0)
    {
        var i = 0;
        var isFirst = 1;
        var container = 'toc';
        var list;

        $('.make-toc:first').before( ('<div class="toc" id="' + container + '"><a name="toc_top" class="nobg"></a></div>') );
        container = '#' + container;

        $('.make-toc h2,h3').each(function(){
            i++;

            if ($(this).get(0).tagName.toLowerCase() == 'h2')
            {
                // If there is a link list created from previous H2, add it and create new list
                if (list && list.find('li').length > 0)
                {
                    $(container).append(list);
                }
                list = $('<ul class="linklist"></ul>');

                // Separator between H2 blocks
                if (!isFirst)
                {
                    $(container).append('<hr size="1">');
                }

                $(container).append('<h2>' + $(this).text() + '</h2>');
                isFirst = 0;
            }
            else
            {
                // Add current H3 to list
                if (list)
                {
                    list.append( ('<li><a href="#toc' + i + '">' + $(this).text() + '</a></li>') );
                }
                // Add anchor to H3
                $(this).prepend( ('<a name="toc' + i + '" class="nobg"></a>') );
            }
        });

        // Add last list to container
        if (list && list.find('li').length > 0)
        {
            $(container).append(list);
        }

        $('.make-toc p').append('<a href="#toc_top">nach oben</a>');
    }

});
