// Use jQuery to set IDs on every h3, and add share buttons after each one
$(document).ready(function() {
    loadA2A();
    $('#content > h3').each(function() {
        var id = buildId($(this));
        var button = buildButton(id);
        $(this).attr('id', id).attr('name', id).after(button);
    });
});

// Configure AddToAny, with "onReady" callback
var a2a_config = {
    tracking_callback:  { ready: configureButtons },
    templates:          { twitter: "${title}. Jersey Bat Group ${link}" },
    show_title: 1,
    onclick:	true
};

// A custom "onReady" function for AddToAny
function configureButtons() {
    var url = cleanUrl();
    $('#content > h3').each(function() {
        var id = buildId($(this));
        a2a_config.linkname = $(this).text();
        a2a_config.linkurl = url + '#' + id;
        a2a_config.target = "#a2a_" + id;
        a2a.init("page");
    });
}

// Load AddToAny script asynchronously
function loadA2A() {
    var a = document.createElement('script');
    a.type = 'text/javascript';
    a.async = 'async';
    a.src = 'http://static.addtoany.com/menu/page.js';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(a, s);
}

// ID is h3 title with the 8 most common English words and any odd characters removed, then spaces changed to underscores
function buildId(headerElement) {
    var id = headerElement.text()
        .replace(/\b(the|of|to|and|a|in|is|it)\b|[^a-z0-9 _]/gi, '')
        .trim()
        .replace(/\s+/g, '_');
    return id;
}

// Remove any previous #fragment suffix on URL, so they don't build up
function cleanUrl() {
    var url = document.URL.replace(/#.*$/, '');
    return url;
}

// HTML for share button
function buildButton(id) {
    var text =  '<a id="a2a_' + id + '" class="a2a_dd" href="http://www.addtoany.com/share_save">' +
                '<img src="http://static.addtoany.com/buttons/share_save_171_16.png" width="171" height="16" alt="Share" />' +
                '</a>';
    return text;
}


