$(document).ready(applyNewWindowOpeners);
  
function applyNewWindowOpeners() {

    var add_file_types = function(extension, message) {
        $('a[href$='+extension+']').addClass('external').each(function() {
            var a = $(this);
            var previous = a.find('span').remove().text();
            a.append($('<span></span>').text((previous? previous : '') + ' ' + message));
        });
    }

    $('a[href^=http]').filter(':not(a[href*='+window.location.hostname+'])')
        .addClass('external')
        .append('<span> (external link)</span>')
        .not('.info_block a, #links a, #base a').addClass('offsite-body-text-link');
    
    // pdfs etc open in new window
    add_file_types('pdf', 'PDF (new window)');
    add_file_types('doc', 'DOC (new window)');
    add_file_types('PDF', 'PDF (new window)');
    add_file_types('DOC', 'DOC (new window)');


    //remove existing click handlers first
    $('a.external').unbind('click').click(function(event) {
      event.preventDefault();
      $(this).blur();
      var href = $(this).attr('href');
      window.open(href, '_blank');
      return false;
    });
}

