View the DQSD CVS repository here:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dqsd/

Update of /cvsroot/dqsd/dqsd/addons/genealogy
In directory usw-pr-cvs1:/tmp/cvs-serv2305/addons/genealogy

Modified Files:
        census.xml everton.xml genealogy_lib.js interment.xml 
        rwres.xml sndx.xml town.xml usgx.xml 
Added Files:
        bmd.xml cens1930.xml rwsndx.xml 
Log Message:
updated genealogy_lib.js
added - bmd, cens1930, rwsndx
changed - sndx, census, town, interment, rwres, usgx, everton

--- NEW FILE: bmd.xml ---
<search function="bmd">
  <name>Birth Marriage Death Project</name>
  <category>Genealogy</category>
  <contributor>Brent Beardsley</contributor>
  <link>http://bmdproject.rootsweb.com/</link>
  <email></email>
  <description>
  Search the Birth Marriage Death Project at Rootsweb.com
    <div class="helpboxDescLabels">Switches:</div>
        <table class="helpboxDescTable">
                <tr><td>/birth</td><td> - </td><td>Search birth records</td></tr>
                <tr><td>/marriage</td><td> - </td><td>Search marriage records</td></tr>
                <tr><td>/death</td><td> - </td><td>Search death records</td></tr>
                <tr><td>/county:[county name]</td><td> - </td><td>Specify county to 
search in</td></tr>
                <tr><td>/state:[state name] (required)</td><td> - </td><td>Specify 
state to search in</td></tr>
        </table>
    <div class="helpboxDescLabels">Examples:</div>
    <table class="helpboxDescTable">
                <tr><td>bmd /d /s:ny jones</td></tr>
        </table>
  </description>
  <form name="bmdf"
        method="post"
        action="http://bmdproject.rootsweb.com/cgi-bin/search.cgi";>
    <input type="hidden" name="last" value="" />
    <input type="hidden" name="first" value="" />
    <input type="hidden" name="county" value="none" />
    <input type="hidden" name="search_by" value="Surname" />
    <input type="hidden" name="st" value="" />
    <input type="hidden" name="t" value="M" />
    <input type="hidden" name=".cgifields" value="type" />
    <input type="hidden" name="type" value="Exact" />
    <COMMENT>
      The input element above, "type" was a set of radio buttons with the following 
options...
      "Exact", "Starts with", "Soundex"
    </COMMENT>
  </form>
  <script src="addons/genealogy/genealogy_lib.js"></script>
  <script><![CDATA[
    function bmd(q)
    {
      if( nullArgs("bmd", q) )
        return;

      var validBirthStates = new Array();
      var validMarriageStates = new Array("FL", "GA", "KY", "MS", "NY", "NC", "OH", 
"OK", "TN", "VA", "WI");
      var validDeathStates = new Array("FL", "GA", "KY", "NY", "NC", "OH", "OK", "TN", 
"WI");

      document.bmdf.county.value = "none";
      document.bmdf.st.value = "";
      document.bmdf.type.value = "";
      //document.bmdf.search_by.value = "";
      //document.bmdf.t.value = "";
      //document.bmdf[".cgifields"].value = "";

      var args = parseArgs(q, "county, state, birth, marriage, death");
      var recordType = "";
      var stateAbbrev = "";
      var lastName = "";
      var firstName = "";
      var countyName = "";
      for (var iSwitch = 0; iSwitch < args.switches.length; iSwitch++)
      {
        switch( args.switches[iSwitch].name )
        {
          case "birth":
            recordType = 'B';
            break;
          case "death":
            recordType = 'D';
            break;
          case "marriage":
            recordType = 'M';
            break;
          case "county":
            countyName = args.switch_val["state"];
            break;
          case "state":
            stateAbbrev = genealogy_lookup_place_abbrev(args.switch_val["state"]);
            break;
          default:
            break;
        }
      }

      var errCount = 0;
      var errMsg = "";

      lastName = genealogy_parse_surname(args.q);
      if (lastName.length == 0) {
        errMsg = "No surname specified.";
        errCount++;
      }
    
      switch (recordType) {
      case 'B':
         if (!genealogy_in_array(stateAbbrev, validBirthStates)) {
           errCount++;
           errMsg = "State has no birth records available.";
         }
         break;
      case 'M':
         if (!genealogy_in_array(stateAbbrev, validMarriageStates)) {
           errCount++;
           errMsg = "State has no marriage records available.";
         }
         break;
      case 'D':
         if (!genealogy_in_array(stateAbbrev, validDeathStates)) {
           errCount++;
           errMsg = "State has no death records available.";
         }
         break;
      default:
        errCount++;
        errMsg = "Invalid record type specified.";
        break;
      }
      if (stateAbbrev.length == 0) {
        errMsg = "Invalid state specified.";
        errCount++;
      }

      document.bmdf.t.value = recordType;
      document.bmdf.st.value = stateAbbrev;
      document.bmdf.last.value = lastName;
      document.bmdf.first.value = genealogy_parse_givenname(args.q);
    
      if (errCount == 0) {
        submitForm(bmdf);
      } else {
        displayPopupMessage(errMsg);
      }
    }
  ]]></script>
</search>
--- NEW FILE: cens1930.xml ---
<search function="cens1930">
  <name>Census - 1930 Microfilm Locator </name>
  <category>Genealogy</category>
  <contributor>Brent Beardsley</contributor>
  <link>http://1930census.archives.gov/beginSearch.asp</link>
  <email></email>
  <description>
  Find the microfilm for the 1930 census.
    <div class="helpboxDescLabels">Examples:</div>
    <table class="helpboxDescTable">
      <tr><td></td></tr>
      <tr><td></td></tr>
    </table>
  </description>
  <form name="cens1930f"
        method="post"
        action="http://1930census.archives.gov/stateSearch.asp";>
    <input type="hidden" name="lstStates" value="" />
    <COMMENT>
      The input element above, "lstStates", was a SELECT element with the following 
options...
      <select name="lstStates">
        <option value="ALAlabama">Alabama</option>
        <option value="AKAlaska">Alaska</option>
        <option value="ASAmerican Samoa">American Samoa</option>
        <option value="AZArizona">Arizona</option>
        <option value="ARArkansas">Arkansas</option>
        <option value="CACalifornia">California</option>
        <option value="COColorado">Colorado</option>
        <option value="CTConnecticut">Connecticut</option>
        <option value="DEDelaware">Delaware</option>
        <option value="DCDistrict of Columbia">District of Columbia</option>
        <option value="FLFlorida">Florida</option>
        <option value="GAGeorgia">Georgia</option>
        <option value="GUGuam">Guam</option>
        <option value="HIHawaii">Hawaii</option>
        <option value="IDIdaho">Idaho</option>
        <option value="ILIllinois">Illinois</option>
        <option value="INIndiana">Indiana</option>
        <option value="IAIowa">Iowa</option>
        <option value="KSKansas">Kansas</option>
        <option value="KYKentucky">Kentucky</option>
        <option value="LALouisiana">Louisiana</option>
        <option value="MEMaine">Maine</option>
        <option value="MDMaryland">Maryland</option>
        <option value="MAMassachusetts">Massachusetts</option>
        <option value="MIMichigan">Michigan</option>
        <option value="MNMinnesota">Minnesota</option>
        <option value="MSMississippi">Mississippi</option>
        <option value="MOMissouri">Missouri</option>
        <option value="MTMontana">Montana</option>
        <option value="NENebraska">Nebraska</option>
        <option value="NVNevada">Nevada</option>
        <option value="NHNew Hampshire">New Hampshire</option>
        <option value="NJNew Jersey">New Jersey</option>
        <option value="NMNew Mexico">New Mexico</option>
        <option value="NYNew York">New York</option>
        <option value="NCNorth Carolina">North Carolina</option>
        <option value="NDNorth Dakota">North Dakota</option>
        <option value="OHOhio">Ohio</option>
        <option value="OKOklahoma">Oklahoma</option>
        <option value="OROregon">Oregon</option>
        <option value="PCPanama Canal">Panama Canal</option>
        <option value="PAPennsylvania">Pennsylvania</option>
        <option value="PRPuerto Rico">Puerto Rico</option>
        <option value="RIRhode Island">Rhode Island</option>
        <option value="SCSouth Carolina">South Carolina</option>
        <option value="SDSouth Dakota">South Dakota</option>
        <option value="TNTennessee">Tennessee</option>
        <option value="TXTexas">Texas</option>
        <option value="UTUtah">Utah</option>
        <option value="VTVermont">Vermont</option>
        <option value="VIVirgin Islands">Virgin Islands</option>
        <option value="VAVirginia">Virginia</option>
        <option value="WAWashington">Washington</option>
        <option value="WVWest Virginia">West Virginia</option>
        <option value="WIWisconsin">Wisconsin</option>
        <option value="WYWyoming">Wyoming</option>
      </select>
    </COMMENT>

  </form>
  <script src="addons/genealogy/genealogy_lib.js"></script>
  <script><![CDATA[
    function cens1930(q)
    {
      if( nullArgs("cens1930", q) )
        return;

      if (!genealogy_check_lib_version("1.3")) 
        return;

      var state = genealogy_parse_place_state(q);
      var county = genealogy_parse_place_county(q);
      var stateAbbrev = genealogy_lookup_place_abbrev(state);
      var stateFullname = genealogy_lookup_place_name(state);

      document.cens1930f.lstStates.value = stateAbbrev+stateFullname;

      submitForm(cens1930f);
    }
  ]]></script>
</search>
--- NEW FILE: rwsndx.xml ---
<search function="rwsndx">
  <name>Rootsweb Soundex Calculator</name>
  <category>Genealogy</category>
  <contributor>Brent Beardsley</contributor>
  <link>http://resources.rootsweb.com/cgi-bin/soundexconverter</link>
  <email></email>
  <description>
  Calculate soundex for surnames from Rootsweb.com
    <div class="helpboxDescLabels">Examples:</div>
    <table class="helpboxDescTable">
      <tr><td>sndx Beardsley</td></tr>
      <tr><td>sndx MacBeth</td></tr>
    </table>
  </description>
  <form name="rwsndxf"
        method="post"
        action="http://resources.rootsweb.com/cgi-bin/soundexconverter";>
    <input type="hidden" name="surname" value="" />
  </form>
  <script src="addons/genealogy/genealogy_lib.js"></script>
  <script><![CDATA[
    function rwsndx(q)
    {
      if( nullArgs("rwsndx", q) )
        return;

      document.rwsndxf.surname.value = genealogy_parse_surname(q);
      submitForm(rwsndxf);
    }
  ]]></script>
</search>
Index: census.xml
===================================================================
RCS file: /cvsroot/dqsd/dqsd/addons/genealogy/census.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** census.xml  22 Aug 2002 20:23:50 -0000      1.2
--- census.xml  21 Sep 2002 07:26:55 -0000      1.3
***************
*** 22,29 ****
          return false;
  
        var census_links = 
genealogy_get_known_page_links("http://www.census-online.com/links/";);
!       var search_place_num = genealogy_lookup_place(q);
        if (search_place_num >= 0) {
!         openSearchWindow(census_links[search_place_num]);
        } else {
        openSearchWindow("http://www.census-online.com/links/";);
--- 22,46 ----
          return false;
  
+       if (!genealogy_check_lib_version("1.3")) {
+       return false;
+       }
+ 
        var census_links = 
genealogy_get_known_page_links("http://www.census-online.com/links/";);
!       var state = genealogy_parse_place_state(q);
!       var county = genealogy_parse_place_county(q);
!       var search_place_num = genealogy_lookup_place(state);
        if (search_place_num >= 0) {
!       if (county.length > 0) {
!         var webpage = genealogy_get_webpage(census_links[search_place_num]);
!         var links = genealogy_get_page_links(webpage, county);
!         if (links != null && links.length > 0) {
!               var linkToOpen = genealogy_build_url(census_links[search_place_num], 
genealogy_link_get_href(links[0]));
!               openSearchWindow(linkToOpen);
!         } else {
!           openSearchWindow(census_links[search_place_num]);
!         }
!       } else {
!           openSearchWindow(census_links[search_place_num]);
!       }
        } else {
        openSearchWindow("http://www.census-online.com/links/";);

Index: everton.xml
===================================================================
RCS file: /cvsroot/dqsd/dqsd/addons/genealogy/everton.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** everton.xml 22 Aug 2002 20:23:50 -0000      1.2
--- everton.xml 21 Sep 2002 07:26:55 -0000      1.3
***************
*** 1,13 ****
  <search function="everton">
-   <COMMENT>
- 
-     This search file was initially created by Dave's Quick Search Deskbar
-     Search Wizard version 0.5 (beta) on 08/21/02 at 17:44:54
- 
-     Even though this XML search will probably load and is a healthy start
-     toward a completed search, please be aware that this search will probably
-     not work as is and will require some human inspection and modification.
- 
-   </COMMENT>
    <name>Everton Publishers</name>
    <category>Genealogy</category>
--- 1,3 ----
***************
*** 18,31 ****
    Search Everton Publishers for your ancestors
    </description>
-   <form name="evertonf"
-         method="post"
-         action="http://www.everton.com/search/simple.php";>
-     <input type="hidden" name="submit" value="Search" />
-     <input type="hidden" name="given_name" value="" />
- 
-     <COMMENT> The following field was active (i.e. had focus) when the search was 
generated. </COMMENT>
- 
-     <input type="hidden" name="surname" value="" />
-   </form>
    <script src="addons/genealogy/genealogy_lib.js"></script>
    <script><![CDATA[
--- 8,11 ----
***************
*** 35,57 ****
          return;
  
-       if( q == "" )
-       {
-         openSearchWindow("http://www.everton.com/";);
-         return;
-       }
- 
        openSearchWindow("http://www.everton.com/search/simple.php?submit=Search"+
!                        "&surname="+genealogy_parse_surname(q)+
!                      "&given_name="+genealogy_parse_givenname(q));
!       // FORM variables for evertonf
!       //document.evertonf["submit"].value = "";
!       //document.evertonf.given_name.value = "";
! 
!       // The wizard assigned the search string to this form field value because
!       // this field was the active element when the search file was generated.
!       // Change this to args.q if the search string is parsed with parseArgs.
!       //document.evertonf.given_name.value = genealogy_parse_givenname(q);
!       //document.evertonf.surname.value = genealogy_parse_surname(q);
!       //submitForm(evertonf);
      }
    ]]></script>
--- 15,21 ----
          return;
  
        openSearchWindow("http://www.everton.com/search/simple.php?submit=Search"+
!                        "&amp;surname="+genealogy_parse_surname(q)+
!                      "&amp;given_name="+genealogy_parse_givenname(q));
      }
    ]]></script>

Index: genealogy_lib.js
===================================================================
RCS file: /cvsroot/dqsd/dqsd/addons/genealogy/genealogy_lib.js,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** genealogy_lib.js    8 Sep 2002 16:31:55 -0000       1.2
--- genealogy_lib.js    21 Sep 2002 07:26:55 -0000      1.3
***************
*** 1,3 ****
--- 1,4 ----
      var genealogy_debug = 0;
+     var genealogy_lib_version = "1.3";
  
        var genealogy_states = new Array(
***************
*** 180,183 ****
--- 181,296 ----
  }
  
+ function genealogy_soundex(name)
+ {
+       var i = 0;
+       var j = 0;
+       var SCode = '0';
+       var PrevCode = '0';
+       var strResult = '';
+       var CharTemp = '0';
+       var tempName = genealogy_trim(name).toUpperCase();
+ 
+       for (i = 0; (i < tempName.length && j < 4); i++) {
+               CharTemp = tempName.charAt(i);
+               if (CharTemp == 'R') {
+                       SCode = '6';
+         } else if (CharTemp == 'M' || CharTemp == 'N') {
+                       SCode = '5';
+               } else if (CharTemp == 'L') {
+                       SCode = '4';
+               } else if (CharTemp == 'D' || CharTemp == 'T') {
+                       SCode = '3';
+               } else if (CharTemp == 'C' || CharTemp == 'G' ||
+                    CharTemp == 'J' || CharTemp == 'K' ||
+                    CharTemp == 'Q' || CharTemp == 'S' ||
+                    CharTemp == 'X' || CharTemp == 'Z') {
+                       SCode = '2';
+               } else if (CharTemp == 'B' || CharTemp == 'F' ||
+                    CharTemp == 'P' || CharTemp == 'V') {
+                       SCode = '1';
+               } else {
+                       SCode = '0';
+               }
+ 
+               if (SCode > '0' || j == 0) {
+                       if (j == 0 || SCode != PrevCode) {
+                               strResult += SCode;
+                               j++;
+             }
+         }
+ 
+               if (j == 0)     {
+                       j++;
+               }
+ 
+               if (CharTemp == 'H' || CharTemp == 'W') {
+                       SCode = PrevCode;
+               }
+               PrevCode = SCode;
+       }
+ 
+       for (i = j; i <= 4; i++) {
+               strResult += '0';
+       }
+       if (name.length > 0) {
+               return name.charAt(0).toUpperCase()+strResult.substring(1,4);
+       } else {
+               return "";
+       }
+ }
+ 
+ function genealogy_parse_place(name, fmt)
+ {
+    var fmtparts = fmt.split(",");
+    if (fmtparts == null || fmtparts.length == 0) {
+          return null;
+    }
+    for (var i=0; i < fmtparts.length; i++) {
+          fmtparts[i] = genealogy_trim(fmtparts[i]).toLowerCase();
+    }
+    var placePieces = [];
+    var fmtitem = fmtparts.length-1;
+    var nameparts = name.split(",");
+    var namepart = '';
+    var fmtpart = '';
+ 
+    if (nameparts != null) {
+          for (var j=nameparts.length-1; j >= 0; j--) {
+                       namepart = genealogy_trim(nameparts[j]);
+                       fmtpart = fmtparts[fmtitem];
+                       placePieces[fmtpart] = namepart;
+                       fmtitem--;
+                       if (fmtitem < 0) {
+                               break;
+                       }
+        }
+    }
+    while (fmtitem >= 0) {
+               fmtpart = fmtparts[fmtitem];
+               placePieces[fmtpart] = "";
+               fmtitem--;
+    }
+    return placePieces;
+ }
+ 
+ function genealogy_parse_place_state(name, fmt)
+ {
+       if (fmt == null || fmt.length == 0)     {
+               fmt = "county, state";
+       }
+       var placePieces = genealogy_parse_place(name, fmt);
+       return placePieces["state"];
+ }
+ 
+ function genealogy_parse_place_county(name, fmt)
+ {
+       if (fmt == null || fmt.length == 0)     {
+               fmt = "county, state";
+       }
+       var placePieces = genealogy_parse_place(name, fmt);
+       return placePieces["county"];
+ }
+ 
+ 
  function genealogy_build_url(cur_url, link_url)
  {
***************
*** 225,230 ****
  }
  
! function genealogy_get_page_links(webpage_source)
  {
        var links_regex = new RegExp("<a href=\"(.*?)\".*?>(.*?)<\/a>", "gim");
        //var links_regex = new RegExp("<a.*?\/a>", "gim");
--- 338,367 ----
  }
  
! function genealogy_link_get_href(link)
! {
!       var links_regex = new RegExp("<a href=\"(.*?)\".*?>(.*?)<\/a>", "gim");
!       var parts = links_regex.exec(link);
!       if (parts != null && parts.length > 1) {
!               return parts[1];
!       }
!       return "";
! }
! 
! function genealogy_link_get_name(link)
! {
!       var links_regex = new RegExp("<a href=\"(.*?)\".*?>(.*?)<\/a>", "gim");
!       var parts = links_regex.exec(link);
!       if (parts != null && parts.length > 2) {
!               return parts[2];
!       }
!       return "";
! }
! 
! function genealogy_get_page_links(webpage_source, matching_name)
  {
+       var matching_name_regex = null;
+       if (matching_name != null) {
+               matching_name_regex = new RegExp(matching_name, "i");
+       }
        var links_regex = new RegExp("<a href=\"(.*?)\".*?>(.*?)<\/a>", "gim");
        //var links_regex = new RegExp("<a.*?\/a>", "gim");
***************
*** 238,245 ****
--- 375,419 ----
        var i = 0;
        while ( (link = links_regex.exec(new_source)) != null) {
+               if (matching_name_regex != null) {
+                       var link_name = link[2];
+                       if (!link_name.match(matching_name_regex)) {
+                               continue;
+                       }
+               }
                arr[i] = link[0];
                i++;
        }
        return arr;
+ }
+ 
+ function genealogy_get_page_link_named(webpage_url, matching_name)
+ {
+       var webpage = genealogy_get_webpage(webpage_url);
+       var links = genealogy_get_page_links(webpage, matching_name);
+       if (links != null && links.length > 0) {
+               return genealogy_build_url(webpage_url, 
+genealogy_link_get_href(links[0]));
+       } else {
+               return "";
+       }
+ }
+ 
+ function genealogy_check_lib_version(required_version)
+ {
+       var cur_version_parts = genealogy_lib_version.split(".");
+       var required_version_parts = required_version.split(".");
+       
+       var major_cur_version = cur_version_parts[0];
+       var minor_cur_version = (cur_version_parts.length > 1) ? cur_version_parts[1] 
+: 0;
+ 
+       var major_required_version = required_version_parts[0];
+       var minor_required_version = (required_version_parts.length > 1) ? 
+required_version_parts[1] : 0;
+       
+       if (major_cur_version >= major_required_version) {
+               if (minor_cur_version >= minor_required_version) {
+                       return true;
+               }
+       }
+       genealogy_error("This search requires version '"+required_version+" of 
+genealogy_lib.js");
+       return false;
  }
  

Index: interment.xml
===================================================================
RCS file: /cvsroot/dqsd/dqsd/addons/genealogy/interment.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** interment.xml       22 Aug 2002 20:23:50 -0000      1.2
--- interment.xml       21 Sep 2002 07:26:55 -0000      1.3
***************
*** 5,9 ****
      <div class="helpboxDescLabels">Examples:</div>
      <table class="helpboxDescTable">
!       <tr><td>interment mi</td></tr>
        <tr><td>interment alaska</td></tr>
      </table>
--- 5,9 ----
      <div class="helpboxDescLabels">Examples:</div>
      <table class="helpboxDescTable">
!       <tr><td>interment branch, mi</td></tr>
        <tr><td>interment alaska</td></tr>
      </table>
***************
*** 22,33 ****
          return false;
  
        var search_url = "http://www.interment.net/us/";;
        var links = genealogy_get_known_page_links(search_url);
!       var search_place_num = genealogy_lookup_place(q);
        if (search_place_num >= 0) {
!         openSearchWindow(links[search_place_num]);
!       } else {
!       openSearchWindow(search_url);
        }
      }
      ]]>
--- 22,45 ----
          return false;
  
+       if (!genealogy_check_lib_version("1.3")) {
+       return false;
+       }
+ 
+       var state = genealogy_parse_place_state(q);
+       var county = genealogy_parse_place_county(q);
+ 
        var search_url = "http://www.interment.net/us/";;
        var links = genealogy_get_known_page_links(search_url);
!       var search_place_num = genealogy_lookup_place(state);
        if (search_place_num >= 0) {
!         search_url = links[search_place_num];
!       if (county.length > 0) {
!         var linkToOpen = genealogy_get_page_link_named(search_url, county);
!         if (linkToOpen.length > 0) {
!             search_url = linkToOpen;
!         }
!       }
        }
+       openSearchWindow(search_url);
      }
      ]]>

Index: rwres.xml
===================================================================
RCS file: /cvsroot/dqsd/dqsd/addons/genealogy/rwres.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** rwres.xml   22 Aug 2002 20:23:50 -0000      1.2
--- rwres.xml   21 Sep 2002 07:26:55 -0000      1.3
***************
*** 5,9 ****
      <div class="helpboxDescLabels">Examples:</div>
      <table class="helpboxDescTable">
!       <tr><td>rwres mi</td></tr>
        <tr><td>rwres alaska</td></tr>
      </table>
--- 5,9 ----
      <div class="helpboxDescLabels">Examples:</div>
      <table class="helpboxDescTable">
!       <tr><td>rwres berrien, mi</td></tr>
        <tr><td>rwres alaska</td></tr>
      </table>
***************
*** 22,33 ****
          return false;
  
        var search_url = "http://resources.rootsweb.com/USA/";;
!       var links = genealogy_get_known_page_links(search_url);
!       var search_place_num = genealogy_lookup_place(q);
!       if (search_place_num >= 0) {
!         openSearchWindow(links[search_place_num]);
        } else {
!       openSearchWindow(search_url);
        }
      }
      ]]>
--- 22,49 ----
          return false;
  
+       if (!genealogy_check_lib_version("1.3")) {
+       return false;
+       }
+ 
        var search_url = "http://resources.rootsweb.com/USA/";;
!       var state = genealogy_parse_place_state(q);
!       var county = genealogy_parse_place_county(q);
!       if (county.length < 1) {
!         var links = genealogy_get_known_page_links(search_url);
!       var search_place_num = genealogy_lookup_place(state);
!       if (search_place_num >= 0) {
!         search_url = links[search_place_num];
!         }
        } else {
!       var state_abbrev = genealogy_lookup_place_abbrev(state);
!       if (state_abbrev.length > 0) {
!         search_url += (state_abbrev+".html");
!         var linkToOpen = genealogy_get_page_link_named(search_url, 
county.replace(new RegExp("\\s","gim"), ""));
!         if (linkToOpen.length > 0) {
!             search_url = linkToOpen;
!         }
!       }
        }
+       openSearchWindow(search_url);
      }
      ]]>

Index: sndx.xml
===================================================================
RCS file: /cvsroot/dqsd/dqsd/addons/genealogy/sndx.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** sndx.xml    22 Aug 2002 20:23:50 -0000      1.2
--- sndx.xml    21 Sep 2002 07:26:55 -0000      1.3
***************
*** 1,29 ****
  <search function="sndx">
!   <COMMENT>
! 
!     This search file was initially created by Dave's Quick Search Deskbar
!     Search Wizard version 0.4 (beta) on 08/18/02 at 16:42:42
! 
!     Even though this XML search will probably load and is a healthy start
!     toward a completed search, please be aware that this search will probably
!     not work as is and will require some human inspection and modification.
! 
!   </COMMENT>
!   <name>Rootsweb Soundex Converter</name>
    <category>Genealogy</category>
    <contributor>Brent Beardsley</contributor>
!   <link>http://resources.rootsweb.com/cgi-bin/soundexconverter</link>
    <email></email>
    <description>
!   Calculate soundex for surnames from Rootsweb.com
    </description>
-   <form name="sndxf"
-         method="post"
-         action="http://resources.rootsweb.com/cgi-bin/soundexconverter";>
- 
-     <COMMENT> The following field was active (i.e. had focus) when the search was 
generated. </COMMENT>
- 
-     <input type="hidden" name="surname" value="" />
-   </form>
    <script src="addons/genealogy/genealogy_lib.js"></script>
    <script><![CDATA[
--- 1,16 ----
  <search function="sndx">
!   <name>Soundex Calculator</name>
    <category>Genealogy</category>
    <contributor>Brent Beardsley</contributor>
!   <link></link>
    <email></email>
    <description>
!   Calculate soundex surnames
!     <div class="helpboxDescLabels">Examples:</div>
!     <table class="helpboxDescTable">
!       <tr><td>sndx Beardsley</td></tr>
!       <tr><td>sndx MacBeth</td></tr>
!     </table>
    </description>
    <script src="addons/genealogy/genealogy_lib.js"></script>
    <script><![CDATA[
***************
*** 33,50 ****
          return;
  
!       if( q == "" )
!       {
!         openSearchWindow("http://resources.rootsweb.com/cgi-bin/soundexconverter";);
!         return;
        }
  
!       // FORM variables for sndxf
! 
!       // The wizard assigned the search string to this form field value because
!       // this field was the active element when the search file was generated.
!       // Change this to args.q if the search string is parsed with parseArgs.
!       document.sndxf.surname.value = genealogy_parse_surname(q);
! 
!       submitForm(sndxf);
      }
    ]]></script>
--- 20,28 ----
          return;
  
!       if (!genealogy_check_lib_version("1.3")) {
!       return false;
        }
  
!       document.deff.q.value = genealogy_soundex(genealogy_parse_surname(q));
      }
    ]]></script>

Index: town.xml
===================================================================
RCS file: /cvsroot/dqsd/dqsd/addons/genealogy/town.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** town.xml    27 Aug 2002 05:50:37 -0000      1.3
--- town.xml    21 Sep 2002 07:26:55 -0000      1.4
***************
*** 1,13 ****
  <search function="town">
-   <COMMENT>
- 
-     This search file was initially created by Dave's Quick Search Deskbar
-     Search Wizard version 0.4 (beta) on 08/18/02 at 15:54:48
- 
-     Even though this XML search will probably load and is a healthy start
-     toward a completed search, please be aware that this search will probably
-     not work as is and will require some human inspection and modification.
- 
-   </COMMENT>
    <name>Rootsweb Town Search</name>
    <category>Genealogy</category>
--- 1,3 ----
***************
*** 17,27 ****
    <description>
    Search for a town on Rootsweb Town Search
    </description>
    <form name="townf"
          method="post"
          action="http://resources.rootsweb.com/cgi-bin/townco.cgi";>
- 
-     <COMMENT> The following field was active (i.e. had focus) when the search was 
generated. </COMMENT>
- 
      <input type="hidden" name="city" value="" />
      <input type="hidden" name="state" value="" />
--- 7,20 ----
    <description>
    Search for a town on Rootsweb Town Search
+     <div class="helpboxDescLabels">Examples:</div>
+     <table class="helpboxDescTable">
+       <tr><td>town preston</td></tr>
+       <tr><td>town preston, ny</td></tr>
+       <tr><td>town preston, new york</td></tr>
+     </table>
    </description>
    <form name="townf"
          method="post"
          action="http://resources.rootsweb.com/cgi-bin/townco.cgi";>
      <input type="hidden" name="city" value="" />
      <input type="hidden" name="state" value="" />
***************
*** 34,76 ****
          return;
  
!       // Parse switches with parseArgs:
! 
!       // parseArgs usage:
!       // Arguments:
!       //    q                - string from the search function
!       //    expectedSwitches - list or array of the expected switch values
!       //    expandSwitches   - optional parameter [default = true] used to determine 
!       //                       if the switch shortcuts should be expanded (i.e. /f 
becomes /foo)
!       // Returns an object with these properties:
!       //    q        - the input string with the switches removed
!       //    switches - array of objects with these two properties:
!       //                  name:   expanded name of the matched switch (i.e. foo as 
in /foo:bar)
!       //                  value:  value of switch (i.e. bar as in /foo:bar)
!       //    switch_val - associative array with the switch name as the key with the 
switch value 
!       //                 as the value. (i.e. switch_val["foo"] = "bar" as in 
/foo:bar)
! 
!       document.townf.city.value = "";
!       document.townf.state.value = "";
! 
!       var args = parseArgs(q, "state");
!       if ( args.switches.length > 0 )
!       {
!         switch( args.switches[0].name )
!         {
!           case "state":
!              document.townf.state.value = 
genealogy_lookup_place_abbrev(args.switch_val["state"]);
!                break;
!           default:
!                break;
!         } //end-switch
        }
- 
-       // FORM variables for townf
- 
-       // The wizard assigned the search string to this form field value because
-       // this field was the active element when the search file was generated.
-       // Change this to args.q if the search string is parsed with parseArgs.
-       document.townf.city.value = args.q;
- 
        submitForm(townf);
      }
--- 27,37 ----
          return;
  
!       var parts = q.split(",");
!       document.townf.city.value = genealogy_trim(parts[0]);
!       if (parts.length > 1) {
!         document.townf.state.value = 
genealogy_lookup_place_abbrev(genealogy_trim(parts[1]));
!       } else {
!       document.townf.state.value = "";
        }
        submitForm(townf);
      }

Index: usgx.xml
===================================================================
RCS file: /cvsroot/dqsd/dqsd/addons/genealogy/usgx.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** usgx.xml    22 Aug 2002 20:23:50 -0000      1.2
--- usgx.xml    21 Sep 2002 07:26:55 -0000      1.3
***************
*** 5,9 ****
      <div class="helpboxDescLabels">Examples:</div>
      <table class="helpboxDescTable">
!       <tr><td>usgx mi</td></tr>
        <tr><td>usgx virginia</td></tr>
      </table>
--- 5,9 ----
      <div class="helpboxDescLabels">Examples:</div>
      <table class="helpboxDescTable">
!       <tr><td>usgx berrien, mi</td></tr>
        <tr><td>usgx virginia</td></tr>
      </table>
***************
*** 22,32 ****
        if( nullArgs("usgx", q) )
          return false;
  
!       var state_abbrev = genealogy_lookup_place_abbrev(q)
        if (state_abbrev.length > 0) {
!         
openSearchWindow("http://www.genexchange.org/state.cfm?state="+state_abbrev.toLowerCase());
        } else {
!       openSearchWindow("http://www.genexchange.org/us.cfm";);
        }
      }
      ]]>
--- 22,44 ----
        if( nullArgs("usgx", q) )
          return false;
+       
+       if (!genealogy_check_lib_version("1.3")) {
+       return false;
+       }
  
!       var search_url = "http://www.genexchange.org/";;
!       var state = genealogy_parse_place_state(q);
!       var county = genealogy_parse_place_county(q).toLowerCase().replace(new 
RegExp("\\s","gim"), "");
!       var state_abbrev = genealogy_lookup_place_abbrev(state).toLowerCase();
        if (state_abbrev.length > 0) {
!         if (county.length > 0) {
!         search_url += "county.cfm?state="+state_abbrev+"&amp;County="+county;
!       } else {
!         search_url += "state.cfm?state="+state_abbrev;
!       }
        } else {
!         search_url += "us.cfm";
        }
+       openSearchWindow(search_url);
      }
      ]]>




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
DQSD-CVS mailing list
https://lists.sourceforge.net/lists/listinfo/dqsd-cvs
DQSD CVS repository:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dqsd/

Reply via email to