Skip to content

Instantly share code, notes, and snippets.

@cr4m3r
Created August 8, 2016 02:29
Show Gist options
  • Save cr4m3r/125b7fb1b8ffecc009c962f5ba65e18a to your computer and use it in GitHub Desktop.
Save cr4m3r/125b7fb1b8ffecc009c962f5ba65e18a to your computer and use it in GitHub Desktop.
// ==UserScript==
// @name Horse Race Card Transcription
// @author slothbear
// @version 999
// @icon http://i.imgur.com/Eq48683.gif
// @include https://www.mturkcontent.com/dynamic/*
// @include https://www.mturk.com/mturk/previewandaccept?prevRequester=Jeff+Lind&autoAcceptEnabled=true&hitId=39GHHAVOMFR6R05BVR8U6ILVI8J4J3*
// @require http://code.jquery.com/jquery-2.1.0.min.js
// ==/UserScript==
// FOR RACE NUMBER, Enter digits 01-20 to auto-fill race number and auto tab to race name. (01 = FIRST RACE, 02 = SECOND RACE, etc...)
// ENTER TRACK NAME, Enter name then <TAB> will auto all caps name
// FOR DATE, Enter month number (01-12), to auto-fill month and auto-insert space between month and date (don't worry about trailing space after month)
// <TAB> or <ENTER> After entering date to submit
(function () {
if ($("title:contains(to you)").length){
location.reload();
}
if ($("p:contains(no HITs)").length){
setTimeout(function(){
location.reload();
}, 500);
}
// Hide Instructions
$(".panel-primary").hide();
$(".panel-heading").hide();
//Cursor in box
$("input[name='RaceNumber']").focus();
$(document).keyup(function(e) {
switch(e.which){
case 9: // tab
$("input[name='TrackName']").val (function() {
return this.value.toUpperCase();
});
break;
case 48: case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: // 0-9
case 96: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: // 0-9 on keypad
if ($("input[name='RaceNumber']").val().length === 2){
raceNumToText();
$("input[name='TrackName']").click().focus();
}
if ($("input[name='RaceDate']").val().length === 2){
monthNameReplacer();
}
break;
case 188: // ','
$("input[name='RaceDate']").val( function() {
return this.value + " ";
});
break;
case 220: // '\' for not race
$("input[name='NotRace']").click();
break;
default: return;
}
});
function monthNameReplacer(){
var monthString = "";
var monthDigit = ($("input[name='RaceDate']").val());
if (monthDigit > 0 && monthDigit < 13){
monthDigit = Number(monthDigit);
switch(monthDigit){
case 1: monthString = "JANUARY ";
break;
case 2: monthString = "FEBRUARY ";
break;
case 3: monthString = "MARCH ";
break;
case 4: monthString = "APRIL ";
break;
case 5: monthString = "MAY ";
break;
case 6: monthString = "JUNE ";
break;
case 7: monthString = "JULY ";
break;
case 8: monthString = "AUGUST ";
break;
case 9: monthString = "SEPTEMBER ";
break;
case 10: monthString = "OCTOBER ";
break;
case 11: monthString = "NOVEMBER ";
break;
case 12: monthString = "DECEMBER ";
break;
default: return;
}
}
$("input[name='RaceDate']").val (function() {
return monthString;
});
}
function raceNumToText(){
var numString = "";
var digit = ($("input[name='RaceNumber']").val());
if (digit.length < 3){
digit = Number(digit);
switch(digit){
case 1: numString = "FIRST RACE";
break;
case 2: numString = "SECOND RACE";
break;
case 3: numString = "THIRD RACE";
break;
case 4: numString = "FOURTH RACE";
break;
case 5: numString = "FIFTH RACE";
break;
case 6: numString = "SIXTH RACE";
break;
case 7: numString = "SEVENTH RACE";
break;
case 8: numString = "EIGHTH RACE";
break;
case 9: numString = "NINTH RACE";
break;
case 10: numString = "TENTH RACE";
break;
case 11: numString = "ELEVENTH RACE";
break;
case 12: numString = "TWELFTH RACE";
break;
case 13: numString = "THIRTEENTH RACE";
break;
case 14: numString = "FOURTEENTH RACE";
break;
case 15: numString = "FIFTEENTH RACE";
break;
case 16: numString = "SIXTEENTH RACE";
break;
case 17: numString = "SEVENTEENTH RACE";
break;
case 18: numString = "EIGHTEENTH RACE";
break;
case 19: numString = "NINETEENTH RACE";
break;
case 20: numString = "TWENTIETH RACE";
break;
default: return;
}
$("input[name='RaceNumber']").val (function() {
return numString;
});
}
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment