_ _    _ _____  ___   __                       
 __      _(_) | _(_)___ / ( _ ) / /_   ___ ___  _ __ ___  
 \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ 
  \ V  V /| |   <| |___) | (_) | (_) | (_| (_) | | | | | |
   \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|

User:Gadget850/HarvErrors.js

In today's world, User:Gadget850/HarvErrors.js is a topic of great relevance and interest to a wide audience. For years, User:Gadget850/HarvErrors.js has captured the attention of experts and enthusiasts from different fields, who have sought to understand and analyze its implications in society. From its origins to its impact on the present, User:Gadget850/HarvErrors.js has been the subject of debates and reflections that have enriched knowledge about this phenomenon. In this article, we will explore the different aspects related to User:Gadget850/HarvErrors.js, its evolution over time, and its importance in the current context. Through a deep and detailed analysis, we will seek to clarify the various aspects that make User:Gadget850/HarvErrors.js a topic worthy of study and discussion.
if(window.checkLinksToCitations === undefined)
    window.checkLinksToCitations = true;

jQuery(document).ready(function($) {
    // first check: do links in Harvard citations point to a valid citation?
    links = document.links;
    for (i=0; i < links.length; i++)
    {
        href = links.getAttribute('href');
        if (href.indexOf('#CITEREF') === 0)
            if (document.getElementById(href.substring(1)) === null)
                links.parentNode.innerHTML +=
                    " <span class=error>Harv error: link from <code>" +
                    href +
                    "</code> doesn't point to any citation.</span>"; 
    }

    // second check: do CITEREF IDs have Harvard citations pointing to them?
    if(window.checkLinksToCitations) {
        cites = jQuery('.citation');
        for(i=0; i < cites.length; i++) {
            id = cites.getAttribute('id');
            // we only need to check citations with a
            if(!id || id.indexOf('CITEREF') !== 0)
                continue;
            // don't do cites that are inside a ref
            parentid = cites.parentNode.parentNode.getAttribute('id');
            if(parentid && parentid.indexOf('cite_note') === 0)
                continue;
            // check for links to this citation
            query = 'a';
            if(jQuery(query).length === 0) {
                cites.innerHTML +=
                    " <span class=error>Harv error: This citation has an anchor named <code>" + id + "</code> but there is no link to it.</span>";
            }
        }
    }
});