User:Gadget850/RefErrors.js

// adapted from User:Ucucha/HarvErrors.js if(window.checkLinksToCitations === undefined) window.checkLinksToCitations = true;

jQuery(document).ready(function($) {   // first check: do links in ref templates citations point to a valid citation?    links = document.links;    for (i=0; i < links.length; i++)    {        href = links[i].getAttribute('href');        if (href.indexOf('#endnote') == 0)            if (document.getElementById(href.substring(1)) == null)                links[i].parentNode.innerHTML +=                    " Ref error: link to " +                    href +                    " doesn't point to any matching note. ";    }

// second check: do endnote IDs have citations pointing to them? if(window.checkLinksToCitations) { cites = jQuery('.citation'); for(i=0; i < cites.length; i++) { id = cites[i].getAttribute('id'); // we only need to check citations with a           if(!id || id.indexOf('endnote') !== 0) continue; // don't do cites that are inside a ref parentid = cites[i].parentNode.getAttribute('id'); if(parentid && parentid.indexOf('cite_note') === 0) continue; // check for links to this citation query = 'a[href|="#' + id + '"]'; if(jQuery(query).length == 0) { cites[i].innerHTML += " Note error: There is no Ref link pointing to this note named " + id + ". "; }       }    } });