
function Replace (string,substitute) {
//
// Search a string for blanks and substitute
//
  sRight = string;
  string = "";
  pos = sRight.indexOf(" ");
  while (pos > -1) {
    string = string + substitute + sRight.substring(0,pos + 1);
    sRight = sRight.substring(pos + 1,sRight.length);
    pos = sRight.indexOf(" ");
    }
  string = string + substitute + sRight;
  return string;
  }

function SurnameSearch (surname,variations) {
//
// Generate search forms for a surname
//
  document.write(
    "<FONT size=4>Search other databases for " + surname + "'s</font><BR>"
    );
  if (variations != 'undefined') {
    document.write(
      "Click any of the <B>Variations</B> buttons to include the following variations in the search:<BR>&nbsp;&nbsp;&nbsp;" +
      variations +
      "<BR>"
      );
    }
  document.write("<BR>");
//
//   --------------- goggles ----------
  document.write(
    "<TABLE><tr><TD>" +
    "<FORM method=GET action='http://www.google.com/search' target='bfg_off'>" +
    "<INPUT TYPE=hidden name=q size=15 maxlength=255 value='" + surname + " +genealogy'>" +
    "<INPUT type=submit name=btnG VALUE='Web sites via Googles '>" +
    "</FORM>" +
    "</TD>"
    );
  if (variations != 'undefined') {
    srchvar = Replace(variations,"OR ");
    document.write(
      "<TD>" +
      "<FORM method=GET action='http://www.google.com/search' target='bfg_off'>" +
      "<INPUT TYPE=hidden name=q size=15 maxlength=255 value='" + surname + " " + srchvar + " +genealogy'>" +
      "&nbsp;&nbsp;<INPUT type=submit name=btnG VALUE='Variations'>" +
      "</FORM>" +
   "</TD>"
      );
    }
  document.write("</TR></TABLE>");
//
//    -------------------- Ancestry.com  ---------------
  document.write(
    "<TABLE>" +
    "<TR><TD valign=bottom>" +
    "<FORM ACTION='http://service.bfast.com/bfast/click' target='bfg_off'>" +
    "<INPUT TYPE='hidden' NAME='siteid' VALUE='30339074' >" +
    "<INPUT TYPE='hidden' NAME='bfpage' VALUE='search_box_2'>" +
    "<INPUT TYPE='hidden' NAME='bfmid' VALUE='5647408' >" +
    "<FORM action='http://www.ancestry.com/ancestry/SearchPartners/gsredir.asp' " +
    "method=GET target='bfg_srch'>" +
    "<INPUT TYPE='text'   NAME='gsfn' value='' SIZE='10'> " +
    "<INPUT TYPE='hidden' NAME='gsln' SIZE='15' value='" + surname + "'>" +
    "<INPUT TYPE='submit' NAME='Submit' VALUE='Ancestry.com'>" +
    "<INPUT TYPE='hidden' NAME='gl' VALUE='allgs'>" +
    "<INPUT TYPE='hidden' NAME='gst' VALUE='-5'>" +
    "<INPUT TYPE='hidden' NAME='prox' VALUE='0'>" +
    "<INPUT TYPE='hidden' NAME='gspl' VALUE='1'>" +
    " <select name='sx' ><option value=''>exact match</option><option value='y'>Soundex</option></select>" +
    "<br>First Name (Optional)" +
    "</FORM>" +
    "</FORM>" +
    "</TD></TR>"
    );
  document.write("</TABLE>");
//
//     -------------------- Ellis Island  --------------
  document.write(
    "<table><tr><td>" +
    "<form method=GET action='http://www.ellisisland.org/search/matchMore.asp' TARGET='bfg_off'>" +
    "<input type='text' name='FNM' size='10' maxlength=32> " +
    "<input type=hidden name='LNM' value='" + surname + "'>" +
    "<INPUT TYPE='submit' NAME='Submit' VALUE='Ellis Island &nbsp;(1892-1924)'> " +
    "<select name='kind' ><option value='exact'>exact match</option><option value='close'>close matches</option><option value='alts'>alternative spellings</option></select>" +
    "<BR>First Name (Optional)" +
    "</form></td>" +
    "<td>&nbsp;&nbsp;<A HREF='http://www.ellisisland.org/search/wsese_02a.asp?&LNM=" + surname +
    "&PLNM=" + surname + "&RF=0&' TARGET='bfg_off'>Alternative Spellings</A></TD>" +
    "</TR></table>"
    );
//
//     -------------------- RootsWeb metasearch  --------------
  document.write(
    "<table><tr><td>" +
    "<form action='http://resources.rootsweb.com/cgi-bin/metasearch/metasearch' method=post TARGET='bfg_off'>" +
    "<INPUT TYPE='text' NAME='given' value='' SIZE='10'> " +
    "<input type=hidden name='surname' value='" + surname + "'>" +
    "<input type=hidden name='type' value='surname'>" +
    "<input type=submit name=submit value='RootsWeb Metasearch'>" +
    "<BR>First Name (Optional)" +
    "</form></td>" +
    "</tr></table>"
    );
//
//     -------------------- Ancient Faces  --------------
  document.write(
    "<table><tr><td>" +
    "<form method=post action='http://www.ancientfaces.com/cgi-bin/searchdirector.cfm' TARGET='bfg_off'>" +
    "<input type='submit' name='Submit' value='Ancient Faces'>" +
    "<input type=hidden name='SearchType' value='ALL'>" +
    "<input type='hidden' name='Search' value='" + surname + "'>" +
    "<input type='hidden' name='SubmitType' value='Search'>" +
    "</form></td>" +
    "</tr></table>"
    );


//
//     -------------------- The Olive Tree Genealogy  --------------
//  document.write(
//    "<table><tr><TD>" +
//    "<FORM ACTION='http://search.freefind.com/find.html' METHOD='GET' target='bfg_off'>" +
//    "<INPUT TYPE='HIDDEN' NAME='id' SIZE='-1' VALUE='4851434'>" +
//    "<INPUT TYPE='HIDDEN' NAME='pid' SIZE='-1' VALUE='r'>" +
//    "<INPUT TYPE='HIDDEN' NAME='mode' SIZE='-1' VALUE='ALL'>" +
//    "<INPUT type='HIDDEN' name='n' value='0'>" +
//    "<INPUT TYPE='HIDDEN' NAME='query' value='" + surname + "'>" +
//    "<INPUT TYPE='SUBMIT' VALUE='The Olive Tree Genealogy'>" +
//    "</FORM>" +
//   "</td></tr></table>"
//    );

//
//     -------------------- FREEBMD at Rootsweb  --------------
  document.write(
    "<table><tr><TD>" +
    "<FORM METHOD=post action='http://freebmd.rootsweb.com/cgi/search.pl' TARGET='bfg_off'>" +
    "<input type=hidden NAME='type' value='All Types'>" +
    "<input type=hidden name='districtid' value='1'>" +
    "<input type=hidden name='surname' value='" + surname + "'>" +
    "<INPUT TYPE='text' NAME='given' value='' SIZE='10'>&nbsp;&nbsp; " +
    "<INPUT TYPE=hidden NAME='exactgiven' VALUE=''>" +
    "<input type=hidden name='countyid' value='AGY'>" +
    "<input type=hidden name='s_surname' value=''>" +
    "<input type=hidden name='s_given' value=''>" +
    "<input type=hidden name='sq' value='1'>" +
    "<input type=hidden name='start' value=''>" +
    "<input type=hidden name='eq' value='4'>" +
    "<input type=hidden name='end' value=''>" +
    "<input type=hidden name='vol' value=''>" +
    "<input type=hidden name='page' value=''>" +
    "<input type=hidden name='mono' value=''>" +
    "<INPUT TYPE='submit' NAME='action' VALUE='FREEBMD at RootsWeb'>&nbsp;&nbsp;" +
    "<INPUT TYPE='submit' NAME='action' VALUE='Count Only'>" +
    "<BR>First Name (Optional)" +
    "</FORM></td>" +
    "<td> UK and Wales</td></tr></table>"
    );
//    "<input type=hidden name='wild' value=''>" +


//
//     -------------------- Bureau of Land Management  --------------
  document.write(
    "<table><tr><td>" +
    "<form action='http://www.glorecords.blm.gov/search/wait.asp' TARGET='bfg_off' method=post >" +
    "<input type='hidden' name='formtype' value='criteria'>" +
    "<input type='hidden' name='sPatenteeLName' value='" + surname + "'>" +
    "<input type='text' name='sPatenteeFName' value='' size='22' maxlength='30'>&nbsp;&nbsp;" +
    "<input type='submit' value='Bureau of Land Mgmt' name='submitCriteria' >" +
    "<br>First Name (Optional)" +
    "</form></td>" +
    "</tr></table>"
    );

//
//     -------------------- Genalogy.com  --------------
  document.write(
    "<table><tr><td>" +
    "<FORM METHOD='get' ACTION='http://www.genealogy.com/cgi-bin/wizard_search.cgi' target='bfg_off'>" +
    "<INPUT TYPE='text' NAME='FN' value='' SIZE='15'> " +
    "<input type=hidden name='MN' value=''> " +
    "<input type=hidden name='LN' value='" + surname + "'>" +
    "<input type=hidden name='BDATE' value=''>" +
    "<input type=hidden name='BLOCATION' value=''>" +
    "<input type=hidden name='DDATE' value=''>" +
    "<input type=hidden name='DLOCATION' value=''>" +
    "<INPUT TYPE='submit' NAME='Search' VALUE='Genealogy.com'>" +
    "<br>First name &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Requires cookies)" +
    "</FORM>" +
    "</td></TR></table>"
    );

//
//     -------------------- RootsWeb Message boards  --------------
//  document.write(
//    "<table><tr><td>" +
//    "<form name='frmSearch' action='http://boards.ancestry.com/mbexec' method='GET' target='bfg_off'>" +
//    "<input type='HIDDEN' name='f' value='search'>" +
//    "<input type='HIDDEN' name='r' value='rw'>" +
//    "<input type='HIDDEN' name='p' value=''>" +
//    "<input type='HIDDEN' name='application' value='public'>" +
//    "<input type='hidden' name='query' value='" + surname + "'>" +
//    "<input type='SUBMIT' value='RootsWeb Message Boards'>" +
//    "</form>" +
//    "</td></tr></table>"
//    );

//
//     -------------------- Immigrant Ships Transcribers Guild  --------------
  document.write(
    "<table><tr><td>" +
    "<a href=http://www.google.com/custom?q=" + surname + "&sa=Google+Search&cof=T%3Ablack%3BLW%3A186%3BL%3Ahttp%3A%2F%2Fistg.rootsweb.com%2Fgraphics%2Fistglogo.gif%3BLC%3Ablue%3BLH%3A167%3BAH%3Acenter%3BVLC%3Ared%3BS%3Ahttp%3A%2F%2Fistg.rootsweb.com%3BAWFID%3Af92a5f9ee9ff9492%3B&domains=istg.rootsweb.com&sitesearch=istg.rootsweb.com target='bfg_off'>Passenger Lists at Immigrant Ships Transcribers Guild</A>" +
    "</td></tr></table>"
    );


//
//     -------------------- Genforum Message Boards  --------------
  document.write(
    "<table><tr><td>" +
    "<form METHOD=GET ACTION='http://genforum.genealogy.com/cgi-bin/jumpto.cgi' TARGET='bfg_off'>" +
    "<input TYPE=hidden NAME='find' value='" + surname + "'>" +
    "<input TYPE=submit VALUE='GenForum Messge Boards'>" +
    "</form>" +
    "</td></tr></table>"
    );

//
//     -------------------- Genealogy Portal  --------------
  document.write(
    "<table><tr><td>" +
    "<FORM METHOD='get' ACTION='http://surname.genealogyportal.com/cgi-bin/search' TARGET='bfg_off'>" +
    "<INPUT TYPE=hidden NAME='words' VALUE='" + surname + "'>" +
    "<input type=hidden name=config value=sur>" +
    "<INPUT TYPE=HIDDEN NAME=RESTRICT VALUE=''>" +
    "<INPUT TYPE=HIDDEN NAME=EXCLUDE VALUE=''>" +
    "<INPUT TYPE=HIDDEN NAME=FORMAT VALUE='detail'>" +
    "<INPUT TYPE=HIDDEN NAME=METHOD VALUE='and'>" +
    "<input Type=submit value='Genealogy Portal'>" +
    "</FORM>" +
    "</td>"
    );
  if (variations != 'undefined') {
    document.write(
      "<TD>" +
      "<FORM METHOD='get' ACTION='http://surname.genealogyportal.com/cgi-bin/search' TARGET='bfg_off'>" +
      "<INPUT TYPE=hidden NAME='words' VALUE='" + variations + "'>" +
      "<input type=hidden name=config value=sur>" +
      "<INPUT TYPE=HIDDEN NAME=RESTRICT VALUE=''>" +
      "<INPUT TYPE=HIDDEN NAME=EXCLUDE VALUE=''>" +
      "<INPUT TYPE=HIDDEN NAME=FORMAT VALUE='detail'>" +
      "<INPUT TYPE=HIDDEN NAME=METHOD VALUE='or'>" +
      "<input Type=submit value='Variations'>" +
      "</FORM>" +
      "</td>"
      );
    }
    document.write(
      "</tr></table>"
      );

//
//   end of surname buttons
  }


function ItalianSurnameSearch (surname,variations) {
//
// Generate search forms for a Italian surname

  document.write(
    "<FONT size=4>Search other Italian databases for " + surname + "'s</font><BR>"
    );
  document.write("<BR>");

//
//     -------------------- Italy Online destribution of a Surname  --------------
//    "<FORM method='get' action='http://elenco.iol.it/cgi-bin/ludica.cgi' target='bfg_off'>" +
  document.write(
    "<table><tr><td>" +
    "<FORM method='get' action='http://66.221.136.107/en/cognomi/genera.html' target='bfg_off'>" +
    "<INPUT type='hidden' name='cognome' value='" + surname + "'>" +
    "<input TYPE=submit VALUE='Italy Onlines Distribution of a Surname'>" +
	  "</FORM>" +
    "</td></tr></table>"
   );

//
//     -------------------- Termini Imerese  --------------
  document.write(
    "<table><tr><TD>" +
    "<form name='form1' method='get' action='http://www.termini-imerese.org/DB/DBcertresults.asp' onSubmit='MM_validateForm('who','','R');return document.MM_returnValue' target='bfg_off'>" +
    "<input type='hidden' name='who' value='" + surname + ", *'>" +
    "<input type='hidden' name='name' value='Y'>" +
    "<input type='hidden' name='father' value='Y'>" +
    "<input type='hidden' name='mother' value='Y'>" +
    "<input type='hidden' name='spouse' value='Y'>" +
    "<input type='hidden' name='SpousesFather' value='Y'>" +
    "<input type='hidden' name='SpousesMother' value='Y'>" +
    "<input type='submit' name='Submit' value='Termini Imerese Birth, Death, Marriage Indexes'>" +
    "</form>" +
    "</td></tr></table>"
    );

//
//   end of Italy buttons
  }


function RootswebMailSurnameSearch (surname,listid,listname,year,nohdr) {
//
// Generate search forms for Rootsweb mail list archive surname
  if (nohdr != 'nohdr') {document.write(
    "<FONT size=4>Search Rootsweb mailing lists archives</font><BR><BR>"
    )};
  document.write(
    "<FORM METHOD='POST' ACTION='http://searches2.rootsweb.com/cgi-bin/isearch2'" +
    "ENCTYPE='application/x-www-form-urlencoded' target='bfg_off'>" +
    "<INPUT TYPE='hidden' NAME='SEARCH_TYPE' VALUE='ADVANCED'>" +
    "<INPUT TYPE='hidden' NAME='ELEMENT_SET' VALUE='SUBJECT'>" +
    "<INPUT TYPE='hidden' NAME='MAXHITS' VALUE='25'>" +
    "<INPUT TYPE='hidden' NAME='DBPATH' VALUE='" + listid + "'>" +
    "<INPUT TYPE='text' NAME='ISEARCH_TERM'  value='" + surname + "' size='20'>&nbsp;&nbsp;" +
    "<SELECT name='DATABASE'>" );
  var now = new Date();
  var nowYear = now.getYear();
  if (nowYear < 200) {nowYear += 1900};
  document.write("<option value=" + nowYear + " selected>" + nowYear);
  nowYear = nowYear - 1
  for (i=nowYear;i>=year;i--){
    document.write("<option value=" + i + ">" + i);
    }
  document.write(
    "</select>&nbsp;&nbsp;" +
    "<INPUT TYPE='submit' NAME='.submit' VALUE='" + listname + "'><br>" +
    "</form>"
    );

//
//   end of Rootsweb Mail List Archive
  }

function checkForm(FormData)    {
  if (FormData.FN.value == "" || FormData.LN.value == "")  {
    window.alert("Please insert both first name and last name." + FormData.LN.value);
    return false;
    }
  return true;
  }

function MM_validateForm() { //v3.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (val!=''+num) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}