PrePro Baseball: Difference between revisions

From Protoball
Jump to navigation Jump to search
No edit summary
(Undo revision 10164 by Dave (talk))
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
{{Ballgame_Box}}
__NOTOC__
<div style="width: 70%;">
<div id="map" class="map_ballgames" style="height: 500px"></div>
<div  class="bold" id="slider-years"><div>Years: <span id="slider-values"></span></div></div>
<div id="slider" class="slider"></div>
</div>


var google_api_key = "AIzaSyDAAtL113zvHFgk7FEb0fFgSmWx-DtcAk4";
== Ballgames ==


function set_autocomplete(target_class, filter_class, target_property, filter_property) {
{{#ask: [[Category:Ballgames]] | Sort=Date of Game }}
var additional_filter = arguments.length > 4 ? arguments[4] : "";
var target_input = $("." + target_class);
var filter_input = $("." + filter_class);
var filter = "[[" + filter_property + "::" + filter_input.val() + "]]" + additional_filter;
get_property_values(target_property, filter, function(data) { target_input.autocomplete({
source: parse_list(data.parse.text["*"]),
select: function(event, ui) { event.preventDefault(); $(this).val(ui.item.value); $(this).change(); }
})});
}


function parse_list(text) {
== Clubs ==
if(text[0] == '\n') { return []; }
return text.split("\n")[0].substring("<p>".length).split(",");
}


function api_parse(text, callback) {
{{#ask: [[Category:Clubs]] }}
var data = {action: "parse", prop: "text", format: "json", text: text };
$.getJSON("/api.php", data, callback);
}


function get_property_values(property, filter, callback) {
== Fields ==
var ask = "{{#arraydefine:array|{{#ask:" + filter + "|?" + property + "|link=none|mainlabel=-|headers=hide|limit=1000|sep=@}}|@|unique}}{{#arrayprint:array|,}}";
api_parse(ask, callback);
}


function default_to_one_and_hide() {
{{#ask: [[Category:Fields]] }}
if(!$(this).val()) {
$(this).val("1");
}
$(this).hide();
}


function modify_selected_values() {
== Players ==
var input = $(this).parent().prev('span').children('input');
var chk_value = this.value;
var selected_values = input.val() ? input.val().split(/ *, */) : [];
if(this.checked) {
selected_values.push(this.value);
selected_values.sort();
} else {
selected_values = $.grep(selected_values, function(value) { return value != chk_value; });
}
input.val(selected_values.join(", "));
}


function add_new_input() {
{{#ask: [[Category:Players]] }}
var span = this;
var input = $(this).children('input').first();
var name = input.attr('name');
var index =  "" + $(this).find('input').length - 1;
name = name.replace("[is_list]", "[" + index + "]");
var new_item = $('<span class="checkboxSpan"><span>&nbsp;<a href="" class="new_multi_property_link">new</a>&nbsp;</span><span style="display:none;">&nbsp;new&nbsp;<input name="' + name + '" /></span></span>');
$(this).append(new_item);
$(this).find(".new_multi_property_link").click(function(){ $(this).parent().parent().children('span').toggle(); return false; });
}
 
function set_salience_names() {
var names = { 1: "Prominent", 2: "Noteworthy", 3: "Informative", 4: "Incomplete" };
var inputs = $(this).find('input');
for(var i = 1; i < 5; i++) {
inputs[i].nextSibling.nodeValue = " " + names[i];
}
}
 
function populate_chron_year_number() {
var year = $('[name="Chronology Entry[Year]"]').val();
var suffix = $('[name="Chronology Entry[Year Suffix]"]').val();
if(!year) return;
var ask = "/Special:Ask/-5B-5BYear::" + year + "-5D-5D";
ask += suffix? "/-5B-5BYear Suffix::" + suffix + "-5D-5D" : "";
ask += "/-3FYear-20Number/mainlabel%3D-2D/limit%3D1/order%3DDESC/sort%3DYear_Number/searchlabel%3D/format%3Djson";
var data = {};
$.getJSON(ask, data, function (data) { 
var number = data.items.length ? (parseInt(data.items[0].year_number) + 1) : 1;
$('[name="Chronology Entry[Year Number]"]').val(number);
});
}
 
function sort_eras_chronologically() {
var spans = $(this).children('span');
/* 1700s  1800s  Contemporary  Post-1900  Pre-1700 */
$(this).append(spans[4]);
$(this).append(spans[0]);
$(this).append(spans[1]);
$(this).append(spans[3]);
$(this).append(spans[2]);
}
 
function set_none_value_for_enumerated_radio_buttons() {
var span = $(this).children('span')[0];
var input = $(span).children('input')[0];
input.value = "";
}
 
function set_date_by_type_of_date() {
var type_of_date = $(this).val();
var day = $(".dayInput");
var month = $(".monthInput");
if(type_of_date == "Day") {
day.show();
month.show();
} else {
day.val("1");
day.hide();
if (type_of_date == "Month") {
month.show();
} else {
month.hide();
}
}
}
 
function set_ballgame_name() {
var home_team = $(".home_team").val();
var away_team = $(".away_team").val();
var country = $(".country").val();
var state = $(".state").val();
var city = $(".city").val();
var region = $(".region").val();
var event = "";
if(home_team != "") {
event = home_team;
if(away_team != "") {
event += " v " + away_team;
}
}
if(home_team.indexOf(" ") == -1) {
var places = [city, region, state, country];
for(var i in places) {
if(places[i] != "") {
event += (event.length > 0 ? " " : "") + "in " + places[i];
break;
}
}
}
 
var type_of_date = $(".type_of_date").val();
var day = $(".dayInput").val();
var month = $(".monthInput option:selected").text();
var year = $(".yearInput").val();
var date = "";
if(type_of_date == "Day") {
date = "on " + day + ", " + month + " " + year;
} else if(type_of_date == "Month") {
date = "in " + month + " " + year;
} else if(type_of_date == "Year") {
date = "in " + year;
} else if(type_of_date == "Circa") {
date = "Circa " + year;
}
 
$(".ballgame_name").val(event + " " + date);
}
 
/* Maps... */
 
function set_map() {
var fairfax = new google.maps.LatLng(38.8462236, -77.3063733);
var map = $("#map")[0];
map.info_window = new google.maps.InfoWindow();
map.map = new google.maps.Map(map, {
  center: fairfax,
  zoom: 12,
  mapTypeId: 'roadmap'
});
set_map_layer();
}
 
var fusion_tables = {};
fusion_tables.ballgames = {};
fusion_tables.ballgames.id = "1UNz5h2AVTr1z5xPaz-wUnTgJTuA8pxv1A095IVU";
fusion_tables.ballgames.data_handler = ballgames_data_handler;
 
function spiral_coords(lat_long, i) {
i = (i == 1)? 0: i+1;
var r = i * 0.002
return [lat_long[0] + (r * .8 * Math.sin(.5 * (i + 2))), lat_long[1] + (r * Math.cos(.5 * (i + 2)))];
}
 
function custom_marker_and_shadow(letter, color) {
    var pinImage = new google.maps.MarkerImage("https://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=" + encodeURI(letter + "|" + color),
        new google.maps.Size(21, 34), new google.maps.Point(0,0), new google.maps.Point(10, 34));
    var pinShadow = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_shadow",
        new google.maps.Size(40, 37), new google.maps.Point(0, 0), new google.maps.Point(12, 35));
return [pinImage, pinShadow];
}
 
var _yellow_bullet_marker_and_shadow;
function yellow_bullet_marker_and_shadow() {
if (!_yellow_bullet_marker_and_shadow) {
_yellow_bullet_marker_and_shadow = custom_marker_and_shadow("•", "FFFF00");
}
return _yellow_bullet_marker_and_shadow;
}
 
function marker_click_function(map, marker, infoWindow, info_function) {
    return function() {
        infoWindow.close(map)
        infoWindow.setContent(info_function(marker));
        infoWindow.open(map, marker);
    };
}
 
function ballgames_info(marker) {
        var infoHtml = '<strong><a href="http://protoball.org/' + marker.title.replace(/ /g, "_") + '">' + marker.title + '</a></strong><br>';
var city = "", state = "", country = "", address = "";
if(marker.city) {
address = marker.city + (marker.state ? ", " + marker.state : "") + (marker.country && marker.country != "USA" ? ", " + marker.country : "");
city = '<a href="http://protoball.org/' + address.replace(/ /g, "_") + '">' + marker.city + '</a>';
}
if(marker.state) {
address = marker.state + (marker.country && marker.country != "USA" ? ", " + marker.country : "");
state = '<a href="http://protoball.org/' + address.replace(/ /g, "_") + '">' + marker.state + '</a>';
}
if(marker.country) {
country = '<a href="http://protoball.org/' + marker.country.replace(/ /g, "_") + '">' + marker.country + '</a>';
}
address = ((city ? ", " + city : "") + (state ? ", " + state : "") + (country ? ", " + country : "")).replace(/^, /, "");
infoHtml += address + "<br>";
infoHtml += marker.info + "<br>";
return infoHtml;
}
 
function ballgames_place_info(marker) {
    return '<strong><a href="http://protoball.org/' + marker.address.replace(/ /g, "_")  + '">' + marker.address + '</a></strong>';
}
 
function ballgames_data_handler(d) {
var map = $("#map")[0];
var is_first_time = true;
if(map.markers) {
for(var i in map.markers) {
map.markers[i].setMap(null);
}
is_first_time = false;
}
map.markers = [];
 
var rows = d.rows;
var fields = d.columns;
var index = {};
for (var i in fields) {
index[fields[i]] = i;
}
var location_count = {};
 
for (var i in rows) {
var row = rows[i];
var location = row[index["Location"]];
var lat_long = location.split(" ");
lat_long[0] = parseFloat(lat_long[0]);
lat_long[1] = parseFloat(lat_long[1]);
if(!(location in location_count)) {
location_count[location] = 0;
}
location_count[location]++;
lat_long = spiral_coords(lat_long, location_count[location]);
var date_of_game = row[index["Date of Game"]];
var year = parseInt(date_of_game.substring(date_of_game.length - 5))
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat_long[0], lat_long[1]),
title: row[index["Title"]],
date_of_game: date_of_game,
year: year,
city: row[index["City"]],
state: row[index["State"]],
country: row[index["Country"]],
info: row[index["Info"]],
map: map.map
});
if(is_first_time) {
if(!map.years) {
map.years = [year, year];
} else {
map.years = [Math.min(map.years[0], year), Math.max(map.years[1], year)]
}
}
map.markers.push(marker);
var click_function = marker_click_function(map.map, marker, map.info_window, ballgames_info);
google.maps.event.addListener(marker, 'click', click_function);
}
if(is_first_time) {
set_map_boundries();
slider_setup();
}
}
 
function set_map_layer(additional_filter_dict) {
if(!additional_filter_dict) { additional_filter_dict = {}; }
var map = $("#map")[0];
if(map.layers) {
for(var layer in map.layers) {
map.layers[layer].setMap(null);
delete map.layers[layer];
}
} else {
map.layers = {};
}
var classes = $(map).attr("class").split(" ");
var map_types = [];
var filter = '';
for(var i in classes) {
if(classes[i].indexOf("map") == 0) {
map_types[map_types.length] = classes[i].substring("map_".length);
} else if(classes[i].indexOf("filter") == 0) {
if(filter) { filter += " AND "; }
var this_filter = classes[i].substring("filter_".length).replace(/_/g, " ");
var pos = this_filter.indexOf(' ');
this_filter = [this_filter.slice(0,pos), this_filter.slice(pos+1)];
filter += this_filter[0] + "='" + this_filter[1] + "'";
}
}
for(var i in map_types) {
var map_type = map_types[i];
var fusion_table = fusion_tables[map_type];
var request_url = "https://www.googleapis.com/fusiontables/v1/query?key=" + google_api_key + "&sql=SELECT+*+FROM+" + fusion_table.id
var additional_filter = additional_filter_dict[map_type];
if(filter && additional_filter) {
filter += " AND " + additional_filter;
} else if(additional_filter) {
filter = additional_filter;
}
if(filter) {
request_url += encodeURI(" WHERE " + filter);
}
$.get(request_url, fusion_table.data_handler, "jsonp");
}
}
 
function set_map_boundries() {
var map = $("#map")[0];
var bound = new google.maps.LatLngBounds();
for(var i in map.markers)
{
bound.extend(map.markers[i].getPosition());
}
map.map.fitBounds(bound);
};
 
if($('#map').length > 0) {
$.getScript('http://maps.googleapis.com/maps/api/js?sensor=false&async=2&callback=set_map');
}
 
/* ...Maps */
 
/* UI slider... */
 
if($('.slider').length > 0) {
$.getScript('/jquery-ui/js/jquery-ui-1.8.23.custom.min.js', slider_setup);
}
 
function slider_setup() {
if($("#map").length > 0 && $("#map")[0].years && $("#slider").slider && $("#slider").length > 0 && !$("#slider")[0].is_setup) {
var years = $("#map")[0].years;
$('<div id="slider-one-year" style="display: none"></div>').insertAfter("#slider");
$("#slider").slider({
range: true,
min: years[0],
max: years[1],
values: years,
change: function( event, ui ) {
event.target.values = [parseInt(ui.values[0]), parseInt(ui.values[1])];
},
slide: function( event, ui ) {
var new_values = [parseInt(ui.values[0]), parseInt(ui.values[1])];
if(event.target.mode && event.target.mode == "freeze_ranges" && event.target.values) {
var old_values = event.target.values;
var old_diff = old_values[1] - old_values[0];
var new_diff = new_values[1] - new_values[0];
if(old_diff != new_diff) {
var index = (old_values[0] == new_values[0]) ? 0 : 1;
var value = index == 0 ? new_values[1] - old_diff : new_values[0] + old_diff;
$(event.target).slider("values", index, value);
new_values[index] = value;
}
} else {
$("#slider-values").text( ui.values[0] + " - " + ui.values[1] );
}
$("#slider-values").text( new_values[0] + " - " + new_values[1] );
event.target.values = new_values;
filter_map_years(parseInt(ui.values[0]), parseInt(ui.values[1]));
}
});
$("#slider-one-year").slider({
min: years[0],
max: years[1],
value: years[0],
slide: function( event, ui ) {
$("#slider-values").text(ui.value);
filter_map_years(parseInt(ui.value), parseInt(ui.value));
}
});
$("#slider")[0].is_setup = true;
$("#slider-values").text(years[0] + " - " + years[1]);
$('<div class="float_right"><input type="radio" name="slider_group" value="standard" id="standard_slide" checked="checked" /> Standard  <input type="radio" name="slider_group" value="freeze_ranges" id="freeze_slide" /> Freeze Range <input type="radio" name="slider_group" value="one_year" id="one_year_slide" /> One Year At a Time</div>').insertBefore("#slider-years div");
$("#standard_slide, #freeze_slide").click(function() { var slider = $("#slider"); slider[0].mode = $(this).val(); if(!slider.is(":visible")) { $("#slider-one-year").hide(); slider.show(); slider.slider('option', 'change').call(slider); } });
$("#one_year_slide").click(function() { var slider = $("#slider-one-year"); $("#slider").hide(); slider.show(); slider.slider('option', 'change').call(slider); });
}
}
 
function filter_map_years(min_year, max_year) {
var map = $("#map")[0];
for(var i in map.markers) {
var marker = map.markers[i];
if(marker.year) {
if(marker.year >= min_year && marker.year <= max_year) {
if(!marker.map) {
marker.setMap(map.map);
}
} else {
if(marker.map) {
marker.setMap(null);
}
}
}
}
}
 
/* ...slider UI */
 
function formPrep() {
if(wgPageName.indexOf("Special:FormEdit") > -1 || wgAction.indexOf("formedit") > -1) {
$('.allow_new .checkboxesSpan').each(add_new_input);
$('.set_none_value_for_enumerated_radio_buttons .radioButtonSpan').each(set_none_value_for_enumerated_radio_buttons);
 
/* for Chronology */
$('.salience').each(set_salience_names);
$('[name="Chronology Entry[Year]"], [name="Chronology Entry[Year Suffix]"]').change(populate_chron_year_number);
 
/* for Games */
$('.sort_eras_chronologically .checkboxesSpan').each(sort_eras_chronologically);
 
/* for Diggers */
$('[name="Digger Activity[Digger Activity Date][day]"]').each(default_to_one_and_hide);
 
/* for Ballgames... */
$(".type_of_date").change(set_date_by_type_of_date).change();
$(".ballgame_name").parents("form").submit(set_ballgame_name);
 
$(".state").change(function(){set_autocomplete("city", "state", "City", "State")});
$(".state").change(function(){set_autocomplete("home_team .away_team", "state", "Name", "State", "[[Category:" + "Clubs]]")});
$(".city").change(function(){set_autocomplete("home_team", "city", "Name", "City", "[[Category:" + "Clubs]]")});
$(".city").change(function(){set_autocomplete("field", "city", "Name", "City", "[[Category:" + "Fields]]")});
//$(".home_team").change(function(){set_autocomplete("field", "city", "Name", "Club", "[[Category:" + "Fields]]")});
/* ...Ballgames */
 
/* Editors... */
if(wgAction.indexOf("formedit") > -1) {
$('textarea.wikiEditor_on_edit').attr('class','wikiEditor');
}
 
if($('textarea.wikiEditor').length > 0) {
$(function(){mw.loader.using("ext.semanticforms.wikieditor",function(){$('textarea.wikiEditor').SemanticForms_registerInputInit(window.ext.wikieditor.init, null);});});
}
 
if($('textarea.tinymce').length == 0) return;
$.getScript("/tinymce/jscripts/tiny_mce/jquery.tinymce.js", function() {
$('textarea.tinymce').each(function() {
var id = this.id;
var opts = {
// Location of TinyMCE script
script_url : '/tinymce/jscripts/tiny_mce/tiny_mce.js',
 
// General options
theme : "advanced",
plugins : "pagebreak,style,layer,save,advhr,advimage,advlink,iespell,inlinepopups,insertdatetime,preview,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,table,spellchecker,heading",
 
// Theme options
theme_advanced_buttons1 : "spellchecker,|,tablecontrols" + ($(this).hasClass("with_headings") ? ",|,h2,h3,h4" : ""),
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,undo,redo,|,hr,nonbreaking,removeformat,visualaid,|,sub,sup,|,charmap,iespell,advhr,|,fullscreen",
theme_advanced_buttons3 : "bold,italic,underline,strikethrough,|,bullist,numlist,|,link,unlink,|,outdent,indent,blockquote,|justifyleft,justifycenter,justifyright,justifyfull,|,cleanup,help,code" ,
 
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
spellchecker_languages : "+English=en",
heading_clear_tag : "p",
extended_valid_elements: "ref,references",
 
content_css : "/tinymce/css/custom_content.css",
theme_advanced_font_sizes: "10px,12px,13px,14px,16px,18px,20px",
font_size_style_values : "10px,12px,13px,14px,16px,18px,20px",
 
width: "600",
 
oninit: function (ed) { setTimeout("tinyMCE.get('" + id + "').execCommand('mceSpellCheck', true);", 1); }
};
if($(this).hasClass("simple")) {
delete opts["theme_advanced_buttons2"];
delete opts["theme_advanced_buttons3"];
opts["theme_advanced_buttons1"] = "bold,italic,underline,|,sub,sup,|,link,unlink,|,spellchecker,|,cleanup,help,code";
}
 
$(this).tinymce(opts);
});
});
/* ...Editors */
}
}
 
function changeEditLinksToTopLinks() {
if(wgPageName.indexOf("List_of_Diggers") > -1) {
  $(".editsection a").attr("href", "#top").text("↑ top");
}
}
 
// have searches use a get so the url can be shared
$('#sfForm[action="/Special:RunQuery/Chronology_Search"]').each(function(){this.method = "get";});
 
// runquery results don't use parser functions except for within the ask call
// so, we hide the header listings
// then reveal only the lines with any values
$(".hide_unless_span_content").each(function() {
var text = $(this).children('span').text()
if(text.length > 0 && text != "No") {
$(this).show();
if(text == "Yes") {
$(this).children('span').hide();
}
}
});
 
addOnloadHook(formPrep);
addOnloadHook(changeEditLinksToTopLinks);

Revision as of 16:01, 7 September 2012

Pre-pro Baseball
Magnolia-ball-club.png

Add a Ballgame
Add a Predecessor Game
Add a Field
Add a Club
Add a Player
Add a Game Official

Base Ball Firsts
Add a Base Ball First

About Pre-pro
Waff's Game Tabulation
Bob Tholkes RIM Tabulation

Awaiting Review
Years:

Ballgames

Clubs

'Colored' Club of Decatur, 'Colored' Club of Newark, 'Colored' Club of Paducah, 'Ladies' Club of Pensacola, 'Negro' Club of Atlanta, 1001 Club of Philadelphia, 1st Ward Club of Urbana, 24th United States Infantry Base Ball Club of Vicksburg, Mississippi, 25th Infantry Club, 51st Fighter Group Club in Karachi, 71 Club of Bushnell, 91st Battalion Base Ball Club, A. A. Club of Chicago, A. B. Sands and Co. Club of New York, A. H. C. Quick Club of Amsterdam, A. S. St. Eugene Club of Algiers, Abanqui Club of Bellows Falls, Abingdon College Club of Abingdon, Academia Club of Gallipolis, Academic Club of Harrisburg, Academic Club of Macomb, Academic Club of Middletown, Academy Club of Alexandria, Academy Club of Brooklyn, Academy Club of Collamer, Academy Club of Middlebury, Academy Club of Norfolk, Academy Club of St. Johnsbury, Academy Club of Trenton, Accidental Club of Little Rock, Accidental Club of San Jose, Accommodation Club of Fort Fetterman, Achilles Club of Morrison, Achilles Club of St. Michael's College, Acme Club of Brooklyn, Acme Club of Cary, Acme Club of Chicago, Acme Club of Clayton, Acme Club of New York, Acme Club of Waukegan, Active Base Ball Club of East Hampton, Active Base Ball Club of Indianapolis, Active Base Ball Club of Kirkland, Active Base Ball Club of New York, Active Club of Albany, Active Club of Alton, Active Club of Aurora, IN, Active Club of Bainbridge, Active Club of Baltimore, Active Club of Banksville... further results

Fields

Academy Square, Active Club Grounds at Lake and Ada, Agriculture Park, Alamo Plaza, Albany Cricket Grounds, Alert grounds, Alstyne's Prairie, Amateur Club Grounds, 30th and Michigan, Armory Park, Arsenal Grounds (MacArthur Park), Arsenal grounds, Salt Lake City, Association Grounds, Cleveland, Athletic Grounds at 17th and Montgomery, Atlantic grounds, Augusta Base Ball Grounds, Babbitt Tract, Baldwin Park, Ball Commons, Louisville, Bangor ball grounds, Base Ball Club of Clarksville Home Grounds, Beacon Hill Park, Belleville BAseball Grounds, Bingaman Common, Bloomington Base Ball Club Grounds, Boston Common, Bower City Club Field, Boylan's Old Field, Brighton House Grounds, Broadway Grounds, Brown Square, Buena Vista Station, Buffalo Arsenal, Calhoun's Pasture, Camac Woods, Cambridge Common, Camden Base Ball Ground, Camp Cadwalader, Camp Curtin grounds, Camp Douglas, Camp Lamb, Camp Morton, Camp Washington, Campus Martius, Capital Club Grounds, Jefferson City, Capitol City Grounds, Capitol Hill, Capitol Square, Topeka, Capitoline Grounds, Carlton Gardens, Carolina Military Institute grounds... further results

Players

? Johnson, ? Kelly, A. Empie Gibbs, A. Gaughan, A. Hamilton, A. Kirkland, A.A. McFarlan, A.D. Wilson, A.G. Knapp, A.H. Winslow, A.J. Dayton, A.L. Edmuson, Abner Hayward, Abraham R. Lawrence Norton, Abraham W. Tucker, Adam Schildhelm, Adolph Maire, Albert H. Rogers, Albert Squires, Albro Akin, Alexander G. Babcock, Alexander H. Drummond, Alexander Joy Cartwright, Jr., Alexander V. Davidson, Alfred D. Martin, Alfred DeForest Cartwright, Alfred Vredenburgh, Alfred W. Gedney, Alfred Williams, Alonzo Slote, Alphonse Martin, Amadee Spadone, Amor Williamson, Andrew Boyd, Andrew Eliot Burr, Andrew Gedney, Andrew Gibney, Andrew Hodges Mills, Andrew J. Bixby, Andrew J. Carl, Andrew J. Dupignac, Andrew Jackson, Andrew Lester, Andrew Matthews, Andrew Peck, Andrew Whiteside, Andrew Wright, Anson B. Taylor, Anson S. Palmer, Anthony Hartman... further results