<commit_before>var HTMLCSAuditor = new function()
{
    var _prefix   = 'HTMLCS-';
    var _screen   = '';
    var _standard = '';
    var _source   = '';
    var _options  = {};
    var _messages = [];
    var _page     = 1;

    /**
     * Build the "summary section" square button.
     *
     * @return {HTMLDivElement}
     */
    var buildSummaryButton = function(id, className, title, onclick) {
        var button       = document.createElement('div');
        button.id        = id;
        button.className = _prefix + 'button';
        button.setAttribute('title', title);

        var buttonInner       = document.createElement('span');
        buttonInner.className = _prefix + 'button-icon ' + className;
        button.appendChild(buttonInner);

        var nbsp = document.createTextNode(String.fromCharCode(160));
        button.appendChild(nbsp);

        if ((onclick instanceof Function) === true) {
            button.onclick = function() {
                if (/disabled/.test(button.className) === false) {
                    onclick();
                }
            };
        }

        return button;
    };

    /**
     * Build a checkbox.
     *
     * @return {HTMLDivElement}
     */
    var buildCheckbox = function(id, title, checked) {
        if (checked === undefined) {
            checked = false;
        }

        var label   = document.createElement('label');
        label.className = _prefix + 'checkbox';
        var content = '<span class="' + _prefix + 'checkbox-title">' + title + '</span>';
        content    += '<span class="' + _prefix + 'checkbox-switch">';
        content    += '<span class="' + _prefix + 'checkbox-slider"></span>';
        content    += '<input id="' + id + '" type="checkbox"';

        if (checked === true) {
            content += ' checked="checked"';
        }

        content += '/></span>';

        label.innerHTML = content;

        return label;
    };

    /**
     * Build a radio button.
     *
     * @return {HTMLDivElement}
     */
    var buildRadioButton = function(groupName, value, title, checked) {
        if (checked === undefined) {
            checked = false;
        }

        var label   = document.createElement('label');
        label.className = _prefix + 'radio';
        var content = '<span class="' + _prefix + 'radio-title">' + title + '</span>';
        content    += '<span class="' + _prefix + 'radio-switch">';
        content    += '<span class="' + _prefix + 'radio-slider"></span>';
        content    += '<input type="radio" name="' + _prefix + groupName + '" ';
        content    += 'class="' + _prefix + 'radiobtn"';
        content    += 'value="' + value + '"';

        if (checked === true) {
            content    += ' checked="true"';
        }

        content += ' /></span>';

        label.innerHTML = content;

        return label;
    };

    /**
     * Build the "message box" interface.
     *
     * This is displayed while the tests are running.
     *
     * @return {HTMLDivElement}
     */
    var buildMessageBox = function(text) {
        var runningDiv       = document.createElement('div');
        runningDiv.className = _prefix + 'message-box';
        runningDiv.innerHTML = text;

        return runningDiv;
    };

    /**
     * Build the header section at the absolute top of the interface.
     *
     * @return {HTMLDivElement}
     */
    var buildHeaderSection = function(standard, wrapper) {
        var header       = document.createElement('div');
        header.className = _prefix + 'header';
        header.innerHTML = 'Accessibility Auditor - ' + standard;

        var dragging = false;
        var prevX    = 0;
        var prevY    = 0;
        var mouseX   = 0;
        var mouseY   = 0;

        header.addEventListener('mousedown', function(e) {
            dragging = true;
            mouseX   = e.clientX;
            mouseY   = e.clientY;
            return false;
        }, false);

        document.addEventListener('mousemove', function(e) {
            if (dragging === true) {
                var top = wrapper.offsetTop;
                var left = wrapper.offsetLeft;

                if (mouseY < e.clientY) {
                    top += (e.clientY - mouseY);
                    wrapper.style.top = top + 'px';
                } else if (mouseY > e.clientY) {
                    top -= (mouseY - e.clientY);
                    wrapper.style.top = top + 'px';
                }

                if (mouseX < e.clientX) {
                    left += (e.clientX - mouseX);
                    wrapper.style.left = left + 'px';
                } else if (mouseX > e.clientX) {
                    left -= (mouseX - e.clientX);
                    wrapper.style.left = left + 'px';
                }

                mouseX = e.clientX;
                mouseY = e.clientY;
            }//end if
        }, false);

        document.addEventListener('mouseup', function(e) {
            dragging = false;
        }, false);

        return header;
    };

    /**
     * Build the summary section of the interface.
     *
     * This includes the number of errors, warnings and notices; as well as buttons
     * to access the settings interface, and to recheck the content.
     *
     * @return {HTMLDivElement}
     */
    var buildSummarySection = function(errors, warnings, notices) {
        var self = this;

        var summary       = document.createElement('div');
        summary.className = _prefix + 'summary';

        var leftPane       = document.createElement('div');
        leftPane.className = _prefix + 'summary-left';
        summary.appendChild(leftPane);

        var rightPane       = document.createElement('div');
        rightPane.className = _prefix + 'summary-right';
        summary.appendChild(rightPane);

        var leftContents = [];
        var divider      = '<span class="' + _prefix + 'divider"></span>';

        if (errors > 0) {
            var typeName = 'Errors';
            if (errors === 1) {
                typeName = 'Error';
            }
            leftContents.push('<strong>' + errors + '</strong> ' + typeName);
        }

        if (warnings > 0) {
            var typeName = 'Warnings';
            if (warnings === 1) {
                typeName = 'Warning';
            }
            leftContents.push('<strong>' + warnings + '</strong> ' + typeName);
        }

        if (notices > 0) {
            var typeName = 'Notices';
            if (notices === 1) {
                typeName = 'Notice';
            }
            leftContents.push('<strong>' + notices + '</strong> ' + typeName);
        }

        if (leftContents.length === 0) {
            leftPane.innerHTML = '';
        } else {
            leftPane.innerHTML = leftContents.join(divider);
        }

        rightPane.appendChild(buildSummaryButton(_prefix + 'button-settings', 'settings', 'Audit Settings', function() {
            if (_screen === 'settings') {
                HTMLCSAuditor.changeScreen('issue-list');
            } else {
                HTMLCSAuditor.changeScreen('settings');
            }
        }));
        rightPane.appendChild(buildSummaryButton(_prefix + 'button-rerun', 'refresh', 'Re-run Audit', function() {
            HTMLCSAuditor.run(_standard, _source, _options);
        }));

        return summary;
    };

    /**
     * Build the summary section of the interface.
     *
     * This includes the number of errors, warnings and notices; as well as buttons
     * to access the settings interface, and to recheck the content.
     *
     * @return {HTMLDivElement}
     */
    var buildDetailSummarySection = function(issue, totalIssues) {
        var self = this;

        var summary       = document.createElement('div');
        summary.className = _prefix + 'summary-detail';

        var leftPane       = document.createElement('div');
        leftPane.className = _prefix + 'summary-left';
        summary.appendChild(leftPane);

        var rightPane       = document.createElement('div');
        rightPane.className = _prefix + 'summary-right';
        summary.appendChild(rightPane);

        var showList         = document.createElement('a');
        showList.className   = _prefix + 'back-home';
        showList.href        = 'javascript:';
        showList.innerHTML   = 'List';
        showList.onmousedown = function() {
            var list = document.getElementsByClassName('HTMLCS-inner-wrapper')[0];
            list.style.marginLeft = '0em';
            list.style.maxHeight  = null;

            summary.style.display = 'none';
            var listSummary = document.getElementsByClassName('HTMLCS-summary')[0];
            listSummary.style.display = 'block';
        };

        leftPane.appendChild(showList);

        var navDivider = document.createElement('span');
        navDivider.className = _prefix + 'issue-nav-divider';
        navDivider.innerHTML = ' &gt; ';
        leftPane.appendChild(navDivider);

        var issueCount = document.createTextNode('Issue ' + issue + ' of ' + totalIssues);
        leftPane.appendChild(issueCount);

        // Element pointer.
        rightPane.appendChild(buildSummaryButton(_prefix + 'button-settings', 'pointer', 'Point to Element', function() {
            var msg = _messages[Number(issue)];
            if (!msg.element) {
                return;
            }

            pointer.container = document.getElementById('HTMLCS-wrapper');
            pointer.pointTo(msg.element);
        }));

        rightPane.appendChild(buildSummaryButton(_prefix + 'button-settings', 'previous', 'Previous Issue', function() {
            var newIssue = Number(issue) - 1;

            if (newIssue >= 1) {
                setCurrentDetailIssue(newIssue - 1);
                wrapper = summary.parentNode;
                var newSummary = buildDetailSummarySection(newIssue, totalIssues);
                wrapper.replaceChild(newSummary, summary);
                newSummary.style.display = 'block';

                var issueList = document.getElementsByClassName('HTMLCS-issue-detail-list')[0];
                issueList.style.marginLeft = (parseInt(issueList.style.marginLeft, 10) + 35) + 'em';
            }
        }));

        rightPane.appendChild(buildSummaryButton(_prefix + 'button-rerun', 'next', 'Next Issue', function() {
            var newIssue = Number(issue) + 1;

            if (newIssue <= _messages.length) {
                setCurrentDetailIssue(newIssue - 1);
                wrapper = summary.parentNode;
                var newSummary = buildDetailSummarySection(newIssue, totalIssues);
                wrapper.replaceChild(newSummary, summary);
                newSummary.style.display = 'block';

                var issueList = document.getElementsByClassName('HTMLCS-issue-detail-list')[0];
                issueList.style.marginLeft = (parseInt(issueList.style.marginLeft, 10) - 35) + 'em';
            }
        }));

        return summary;
    };

    /**
     * Build the main issue list section of the interface.
     *
     * This is what you see when the tests have finished running. A summary list of
     * , paged five at a time.
     *
     * @return {HTMLDivElement}
     */
    var buildIssueListSection = function(messages) {
        var issueListWidth = (Math.ceil(messages.length / 5) * 35);
        var issueList      = document.createElement('div');
        issueList.id        = _prefix + 'issues';
        issueList.className = _prefix + 'details';
        issueList.setAttribute('style', 'width: ' + issueListWidth + 'em');

        var listSection = document.createElement('ol');
        listSection.className = _prefix + 'issue-list';
        listSection.setAttribute('style', 'margin-left: 0');

        for (var i = 0; i < messages.length; i++) {
            if ((i > 0) && ((i % 5) === 0)) {
                issueList.appendChild(listSection);
                var listSection = document.createElement('ol');
                listSection.className = _prefix + 'issue-list';
            }

            var msg = buildMessageSummary(i, messages[i]);
            listSection.appendChild(msg);
        }

        issueList.appendChild(listSection);

        return issueList;
    };

    var buildIssueDetailSection = function(messages) {
        var issueListWidth  = (messages.length * 35);
        var issueList       = document.createElement('div');
        issueList.id        = _prefix + 'issues-detail';
        issueList.className = _prefix + 'details';
        issueList.setAttribute('style', 'width: ' + issueListWidth + 'em');

        var listSection = document.createElement('ol');
        listSection.className = _prefix + 'issue-detail-list';
        listSection.setAttribute('style', 'margin-left: 0');

        for (var i = 0; i < messages.length; i++) {
            listSection.innerHTML += buildMessageDetail(i, messages[i]);
        }

        issueList.appendChild(listSection);

        return issueList;
    };

    var buildSettingsSection = function() {
        var settingsDiv       = document.createElement('div');
        settingsDiv.className = _prefix + 'settings';

        var listFiltersDiv = document.createElement('div');
        listFiltersDiv.id  = _prefix + 'settings-list-filters';
        settingsDiv.appendChild(listFiltersDiv);

        var listFiltersHdr       = document.createElement('h1');
        listFiltersHdr.innerHTML = 'List Filters';
        listFiltersDiv.appendChild(listFiltersHdr);

        var listFiltersExp       = document.createElement('p');
        listFiltersExp.innerHTML = 'Errors and Warnings are always shown and cannot be hidden. Notices will be automatically shown if there are not other issues.';
        listFiltersDiv.appendChild(listFiltersExp);

        var showNoticesCheckbox = buildCheckbox(_prefix + 'include-notices', 'Always include Notices', (_options && _options.alwaysShowNotices === true));
        listFiltersDiv.appendChild(showNoticesCheckbox);

        var useStandardDiv = document.createElement('div');
        useStandardDiv.id = _prefix + 'settings-use-standard';
        settingsDiv.appendChild(useStandardDiv);

        var useStandardHdr       = document.createElement('h1');
        useStandardHdr.innerHTML = 'Accessibility Standard';
        useStandardDiv.appendChild(useStandardHdr);

        var useStandardExp       = document.createElement('p');
        useStandardExp.innerHTML = 'Choose which standard you would like to check your content against.';
        useStandardDiv.appendChild(useStandardExp);

        var radioButton = buildRadioButton('standard', 'WCAG2AAA', 'WCAG 2.0 AAA');
        useStandardDiv.appendChild(radioButton);

        var radioButton = buildRadioButton('standard', 'WCAG2AA', 'WCAG 2.0 AA');
        useStandardDiv.appendChild(radioButton);

        var radioButton = buildRadioButton('standard', 'WCAG2A', 'WCAG 2.0 A');
        useStandardDiv.appendChild(radioButton);

        var recheckDiv = document.createElement('div');<commit_msg>Fixed initial value for standard radio button<commit_after>var HTMLCSAuditor = new function()
{
    var _prefix   = 'HTMLCS-';
    var _screen   = '';
    var _standard = '';
    var _source   = '';
    var _options  = {};
    var _messages = [];
    var _page     = 1;

    /**
     * Build the "summary section" square button.
     *
     * @return {HTMLDivElement}
     */
    var buildSummaryButton = function(id, className, title, onclick) {
        var button       = document.createElement('div');
        button.id        = id;
        button.className = _prefix + 'button';
        button.setAttribute('title', title);

        var buttonInner       = document.createElement('span');
        buttonInner.className = _prefix + 'button-icon ' + className;
        button.appendChild(buttonInner);

        var nbsp = document.createTextNode(String.fromCharCode(160));
        button.appendChild(nbsp);

        if ((onclick instanceof Function) === true) {
            button.onclick = function() {
                if (/disabled/.test(button.className) === false) {
                    onclick();
                }
            };
        }

        return button;
    };

    /**
     * Build a checkbox.
     *
     * @return {HTMLDivElement}
     */
    var buildCheckbox = function(id, title, checked) {
        if (checked === undefined) {
            checked = false;
        }

        var label   = document.createElement('label');
        label.className = _prefix + 'checkbox';
        var content = '<span class="' + _prefix + 'checkbox-title">' + title + '</span>';
        content    += '<span class="' + _prefix + 'checkbox-switch">';
        content    += '<span class="' + _prefix + 'checkbox-slider"></span>';
        content    += '<input id="' + id + '" type="checkbox"';

        if (checked === true) {
            content += ' checked="checked"';
        }

        content += '/></span>';

        label.innerHTML = content;

        return label;
    };

    /**
     * Build a radio button.
     *
     * @return {HTMLDivElement}
     */
    var buildRadioButton = function(groupName, value, title, checked) {
        if (checked === undefined) {
            checked = false;
        }

        var label   = document.createElement('label');
        label.className = _prefix + 'radio';
        var content = '<span class="' + _prefix + 'radio-title">' + title + '</span>';
        content    += '<span class="' + _prefix + 'radio-switch">';
        content    += '<span class="' + _prefix + 'radio-slider"></span>';
        content    += '<input type="radio" name="' + _prefix + groupName + '" ';
        content    += 'class="' + _prefix + 'radiobtn"';
        content    += 'value="' + value + '"';

        if (checked === true) {
            content    += ' checked="true"';
        }

        content += ' /></span>';

        label.innerHTML = content;

        return label;
    };

    /**
     * Build the "message box" interface.
     *
     * This is displayed while the tests are running.
     *
     * @return {HTMLDivElement}
     */
    var buildMessageBox = function(text) {
        var runningDiv       = document.createElement('div');
        runningDiv.className = _prefix + 'message-box';
        runningDiv.innerHTML = text;

        return runningDiv;
    };

    /**
     * Build the header section at the absolute top of the interface.
     *
     * @return {HTMLDivElement}
     */
    var buildHeaderSection = function(standard, wrapper) {
        var header       = document.createElement('div');
        header.className = _prefix + 'header';
        header.innerHTML = 'Accessibility Auditor - ' + standard;

        var dragging = false;
        var prevX    = 0;
        var prevY    = 0;
        var mouseX   = 0;
        var mouseY   = 0;

        header.addEventListener('mousedown', function(e) {
            dragging = true;
            mouseX   = e.clientX;
            mouseY   = e.clientY;
            return false;
        }, false);

        document.addEventListener('mousemove', function(e) {
            if (dragging === true) {
                var top = wrapper.offsetTop;
                var left = wrapper.offsetLeft;

                if (mouseY < e.clientY) {
                    top += (e.clientY - mouseY);
                    wrapper.style.top = top + 'px';
                } else if (mouseY > e.clientY) {
                    top -= (mouseY - e.clientY);
                    wrapper.style.top = top + 'px';
                }

                if (mouseX < e.clientX) {
                    left += (e.clientX - mouseX);
                    wrapper.style.left = left + 'px';
                } else if (mouseX > e.clientX) {
                    left -= (mouseX - e.clientX);
                    wrapper.style.left = left + 'px';
                }

                mouseX = e.clientX;
                mouseY = e.clientY;
            }//end if
        }, false);

        document.addEventListener('mouseup', function(e) {
            dragging = false;
        }, false);

        return header;
    };

    /**
     * Build the summary section of the interface.
     *
     * This includes the number of errors, warnings and notices; as well as buttons
     * to access the settings interface, and to recheck the content.
     *
     * @return {HTMLDivElement}
     */
    var buildSummarySection = function(errors, warnings, notices) {
        var self = this;

        var summary       = document.createElement('div');
        summary.className = _prefix + 'summary';

        var leftPane       = document.createElement('div');
        leftPane.className = _prefix + 'summary-left';
        summary.appendChild(leftPane);

        var rightPane       = document.createElement('div');
        rightPane.className = _prefix + 'summary-right';
        summary.appendChild(rightPane);

        var leftContents = [];
        var divider      = '<span class="' + _prefix + 'divider"></span>';

        if (errors > 0) {
            var typeName = 'Errors';
            if (errors === 1) {
                typeName = 'Error';
            }
            leftContents.push('<strong>' + errors + '</strong> ' + typeName);
        }

        if (warnings > 0) {
            var typeName = 'Warnings';
            if (warnings === 1) {
                typeName = 'Warning';
            }
            leftContents.push('<strong>' + warnings + '</strong> ' + typeName);
        }

        if (notices > 0) {
            var typeName = 'Notices';
            if (notices === 1) {
                typeName = 'Notice';
            }
            leftContents.push('<strong>' + notices + '</strong> ' + typeName);
        }

        if (leftContents.length === 0) {
            leftPane.innerHTML = '';
        } else {
            leftPane.innerHTML = leftContents.join(divider);
        }

        rightPane.appendChild(buildSummaryButton(_prefix + 'button-settings', 'settings', 'Audit Settings', function() {
            if (_screen === 'settings') {
                HTMLCSAuditor.changeScreen('issue-list');
            } else {
                HTMLCSAuditor.changeScreen('settings');
            }
        }));
        rightPane.appendChild(buildSummaryButton(_prefix + 'button-rerun', 'refresh', 'Re-run Audit', function() {
            HTMLCSAuditor.run(_standard, _source, _options);
        }));

        return summary;
    };

    /**
     * Build the summary section of the interface.
     *
     * This includes the number of errors, warnings and notices; as well as buttons
     * to access the settings interface, and to recheck the content.
     *
     * @return {HTMLDivElement}
     */
    var buildDetailSummarySection = function(issue, totalIssues) {
        var self = this;

        var summary       = document.createElement('div');
        summary.className = _prefix + 'summary-detail';

        var leftPane       = document.createElement('div');
        leftPane.className = _prefix + 'summary-left';
        summary.appendChild(leftPane);

        var rightPane       = document.createElement('div');
        rightPane.className = _prefix + 'summary-right';
        summary.appendChild(rightPane);

        var showList         = document.createElement('a');
        showList.className   = _prefix + 'back-home';
        showList.href        = 'javascript:';
        showList.innerHTML   = 'List';
        showList.onmousedown = function() {
            var list = document.getElementsByClassName('HTMLCS-inner-wrapper')[0];
            list.style.marginLeft = '0em';
            list.style.maxHeight  = null;

            summary.style.display = 'none';
            var listSummary = document.getElementsByClassName('HTMLCS-summary')[0];
            listSummary.style.display = 'block';
        };

        leftPane.appendChild(showList);

        var navDivider = document.createElement('span');
        navDivider.className = _prefix + 'issue-nav-divider';
        navDivider.innerHTML = ' &gt; ';
        leftPane.appendChild(navDivider);

        var issueCount = document.createTextNode('Issue ' + issue + ' of ' + totalIssues);
        leftPane.appendChild(issueCount);

        // Element pointer.
        rightPane.appendChild(buildSummaryButton(_prefix + 'button-settings', 'pointer', 'Point to Element', function() {
            var msg = _messages[Number(issue)];
            if (!msg.element) {
                return;
            }

            pointer.container = document.getElementById('HTMLCS-wrapper');
            pointer.pointTo(msg.element);
        }));

        rightPane.appendChild(buildSummaryButton(_prefix + 'button-settings', 'previous', 'Previous Issue', function() {
            var newIssue = Number(issue) - 1;

            if (newIssue >= 1) {
                setCurrentDetailIssue(newIssue - 1);
                wrapper = summary.parentNode;
                var newSummary = buildDetailSummarySection(newIssue, totalIssues);
                wrapper.replaceChild(newSummary, summary);
                newSummary.style.display = 'block';

                var issueList = document.getElementsByClassName('HTMLCS-issue-detail-list')[0];
                issueList.style.marginLeft = (parseInt(issueList.style.marginLeft, 10) + 35) + 'em';
            }
        }));

        rightPane.appendChild(buildSummaryButton(_prefix + 'button-rerun', 'next', 'Next Issue', function() {
            var newIssue = Number(issue) + 1;

            if (newIssue <= _messages.length) {
                setCurrentDetailIssue(newIssue - 1);
                wrapper = summary.parentNode;
                var newSummary = buildDetailSummarySection(newIssue, totalIssues);
                wrapper.replaceChild(newSummary, summary);
                newSummary.style.display = 'block';

                var issueList = document.getElementsByClassName('HTMLCS-issue-detail-list')[0];
                issueList.style.marginLeft = (parseInt(issueList.style.marginLeft, 10) - 35) + 'em';
            }
        }));

        return summary;
    };

    /**
     * Build the main issue list section of the interface.
     *
     * This is what you see when the tests have finished running. A summary list of
     * , paged five at a time.
     *
     * @return {HTMLDivElement}
     */
    var buildIssueListSection = function(messages) {
        var issueListWidth = (Math.ceil(messages.length / 5) * 35);
        var issueList      = document.createElement('div');
        issueList.id        = _prefix + 'issues';
        issueList.className = _prefix + 'details';
        issueList.setAttribute('style', 'width: ' + issueListWidth + 'em');

        var listSection = document.createElement('ol');
        listSection.className = _prefix + 'issue-list';
        listSection.setAttribute('style', 'margin-left: 0');

        for (var i = 0; i < messages.length; i++) {
            if ((i > 0) && ((i % 5) === 0)) {
                issueList.appendChild(listSection);
                var listSection = document.createElement('ol');
                listSection.className = _prefix + 'issue-list';
            }

            var msg = buildMessageSummary(i, messages[i]);
            listSection.appendChild(msg);
        }

        issueList.appendChild(listSection);

        return issueList;
    };

    var buildIssueDetailSection = function(messages) {
        var issueListWidth  = (messages.length * 35);
        var issueList       = document.createElement('div');
        issueList.id        = _prefix + 'issues-detail';
        issueList.className = _prefix + 'details';
        issueList.setAttribute('style', 'width: ' + issueListWidth + 'em');

        var listSection = document.createElement('ol');
        listSection.className = _prefix + 'issue-detail-list';
        listSection.setAttribute('style', 'margin-left: 0');

        for (var i = 0; i < messages.length; i++) {
            listSection.innerHTML += buildMessageDetail(i, messages[i]);
        }

        issueList.appendChild(listSection);

        return issueList;
    };

    var buildSettingsSection = function() {
        var settingsDiv       = document.createElement('div');
        settingsDiv.className = _prefix + 'settings';

        var listFiltersDiv = document.createElement('div');
        listFiltersDiv.id  = _prefix + 'settings-list-filters';
        settingsDiv.appendChild(listFiltersDiv);

        var listFiltersHdr       = document.createElement('h1');
        listFiltersHdr.innerHTML = 'List Filters';
        listFiltersDiv.appendChild(listFiltersHdr);

        var listFiltersExp       = document.createElement('p');
        listFiltersExp.innerHTML = 'Errors and Warnings are always shown and cannot be hidden. Notices will be automatically shown if there are not other issues.';
        listFiltersDiv.appendChild(listFiltersExp);

        var showNoticesCheckbox = buildCheckbox(_prefix + 'include-notices', 'Always include Notices', (_options && _options.alwaysShowNotices === true));
        listFiltersDiv.appendChild(showNoticesCheckbox);

        var useStandardDiv = document.createElement('div');
        useStandardDiv.id = _prefix + 'settings-use-standard';
        settingsDiv.appendChild(useStandardDiv);

        var useStandardHdr       = document.createElement('h1');
        useStandardHdr.innerHTML = 'Accessibility Standard';
        useStandardDiv.appendChild(useStandardHdr);

        var useStandardExp       = document.createElement('p');
        useStandardExp.innerHTML = 'Choose which standard you would like to check your content against.';
        useStandardDiv.appendChild(useStandardExp);

        var radioButton = buildRadioButton('standard', 'WCAG2AAA', 'WCAG 2.0 AAA', (_standard === 'WCAG2AAA'));
        useStandardDiv.appendChild(radioButton);

        var radioButton = buildRadioButton('standard', 'WCAG2AA', 'WCAG 2.0 AA', (_standard === 'WCAG2AA'));
        useStandardDiv.appendChild(radioButton);

        var radioButton = buildRadioButton('standard', 'WCAG2A', 'WCAG 2.0 A', (_standard === 'WCAG2A'));
        useStandardDiv.appendChild(radioButton);

        var recheckDiv = document.createElement('div');
{'fraction_non_alphanumeric': 0.12416807390483758, 'fraction_numerical': 0.003807820933081686, 'mean_word_length': 2.0093662813870066, 'pattern_counts': {'":': 0, '<': 57, '<?xml version=': 0, '>': 61, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '627339', 'n_tokens_mistral': 8113, 'n_tokens_neox': 7757, 'n_words': 1837}