/**
 * Создает концевые сноски для ссылок.
 * @param container  селектор элемента содержащего ссылки
 * @param target     селектор элемента в который нужно добавить список ссылок
 * @param title      заголовок списка ссылок
 * @param printClass класс элементов добавляемых функцией
 */
function footnoteLinks(container, target, title, printClass) {
    if(!printClass)
        printClass = 'printOnly';

    var linksArray = [];  // ссылки по порядку
    var linksHash = {};   // индексы по href, для поиска дубликатов
    
    // перебор всех ссылок с атрибутом href
    // в пределах контейнера
    $(container + ' a[href]').each(function(elementIndex) {
        var index = elementIndex;
        
        if(!linksHash[this.href]) {
            // ссылка встречается впервые
            linksHash[this.href] = index;
            linksArray.push(this);
        } else {
            // такая ссылка уже была и ей присвоен индекс
            index = linksHash[this.href];
        }
        
        // добавляем номер сноски после ссылки
        $(this).after('<sup class="' + printClass + '">' + (index + 1) + '</sup>');
    });

    // создание списка с концевыми сносками, если ссылки былы
    var linksFound = linksArray.length;
    if(linksFound > 0) {
        var links = '';

        for(var i = 0; i < linksFound; i++)
            links += '<li>' + linksArray[i].href + '</li>';

        links = '<h2 class="' + printClass + '">' + title + '</h2>' +
                '<ol class="' + printClass + '">' + links + '<ol>';

        $(target).append(links);
        
        // задаем класс для элемента html
        // может быть полезно при написании CSS для печати
        $(document.documentElement).addClass('print-footnote-links');
    }
}
/*
$(document).ready(function() {
    footnoteLinks('.single .post-content', '.post-content', 'Ссылки');
});
*/
