Preview and Accept MTurk HITs

Automatically accept HITs. Please be careful while using this. I'm NOT responsible for drop in your returned or abandoned HITs.

// ==UserScript==
// @name                Preview and Accept MTurk HITs
// @author              Chet Manley
// @version             0.4.8
// @description         Automatically accept HITs. Please be careful while using this. I'm NOT responsible for drop in your returned or abandoned HITs.
// @include             https://www.mturk.com/mturk/findhits*
// @include             https://www.mturk.com/mturk/preview*
// @include             https://www.mturk.com/mturk/searchbar*
// @include             https://www.mturk.com/mturk/sorthits*
// @include             https://www.mturk.com/mturk/sortsearchbar*
// @include             https://www.mturk.com/mturk/viewhits*
// @include             https://www.mturk.com/mturk/viewsearchbar*
// @namespace https://greasyfork.org/users/710
// ==/UserScript==

// v0.4.8, 2013-08-11   Added @includes `sorthits` and `sortsearchbar`.
//                      ---------------------------------------------------------------------------
// v0.4.7, 2013-08-11   Style tweaks and code cleanup
//                      ---------------------------------------------------------------------------
// v0.4.6, 2013-08-11   Removed the confusing checkbox generated by `Discover Fake Availabilities`.
//                      ---------------------------------------------------------------------------
// v0.4.5, 2013-08-11   Improved P&A link generation
//                      ---------------------------------------------------------------------------
// v0.4, 2013-08-11     Script generates link only if preview is possible.
//                      ---------------------------------------------------------------------------
// v0.3, 2013-08-11     Removed @updateURL until I figure it out.
//                      ---------------------------------------------------------------------------
// v0.2, 2013-08-11     Added @includes `preview`, `viewhits` and `viewsearchbar`.
//                      ---------------------------------------------------------------------------
// v0.1, 2013-08-11     Grab the preview link, split it, add `andaccept`, put it back together and voila! A shiny new linky.
//                      ---------------------------------------------------------------------------

var previewLinkEls = document.querySelectorAll('span.capsulelink a');

for (var i = 0; i < previewLinkEls.length; i++) {
    var previewLink = previewLinkEls[i].getAttribute('href');

    if (previewLink && previewLink.split('?')) {
        var previewLinkArray = previewLink.split('?');
        if (previewLinkArray[0] == '/mturk/preview') {
            var previewAndAcceptLink = previewLinkArray[0] + 'andaccept?' + previewLinkArray[1];

            var previewAndAcceptEl = document.createElement('a');
            previewAndAcceptEl.setAttribute('href', previewAndAcceptLink);
            previewAndAcceptEl.setAttribute('target', 'mturkhits');
            previewAndAcceptEl.setAttribute('style', 'margin-right: 20px;');
            previewAndAcceptEl.innerHTML = 'Preview & Accept this HIT';

            var parentSpan = previewLinkEls[i].parentNode;
            parentSpan.insertBefore(previewAndAcceptEl, parentSpan.firstChild);
        }
    }
}