<search function="wp">
  <name>WhitePages</name>
  <category>People and Places</category>
  <contributor>Glenn Carr</contributor>
  <link>http://www.whitepages.com/9900/</link>
  <email>glenn at glenncarr dot com</email>
  <description>
  Search for people at WhitePages.com
    <div class="helpboxDescLabels">Switches:</div>
    <table class="helpboxDescTable">
      <tr><td>/city</td><td> - </td><td>/city:&lt;city&gt;</td></tr>
      <tr><td>/state</td><td> - </td><td>/state:&lt;state&gt;</td></tr>
      <tr><td>/surrounding</td><td> - </td><td>Search surrounding area</td></tr>
      <tr><td>/exact</td><td> - </td><td>Match first and last name exactly</td></tr>
      <tr><td>/email</td><td> - </td><td>Include email listing</td></tr>
    </table>
    <div class="helpboxDescLabels">Examples:</div>
    <table class="helpboxDescTable">
      <tr><td>wp George Bush, Washington, DC</td></tr>
    </table>
  </description>
  <form name="wpf"
        method="get"
        action="http://www.whitepages.com/9900/search/FindPerson">
    <input type="hidden" name="firstname_begins_with" />
    <input type="hidden" name="firstname" />
    <input type="hidden" name="name_begins_with" />
    <input type="hidden" name="name" />
    <input type="hidden" name="city_zip" />
    <input type="hidden" name="state_id" />
    <COMMENT>
      The input element above, "state_id", was a SELECT element with the following options...
      <select name="state_id">
        <option value="">Select One</option>
        <option value="United States">'All States'</option>
        <option value="AL">Alabama</option>
        <option value="AK">Alaska</option>
        <option value="AZ">Arizona</option>
        <option value="AR">Arkansas</option>
        <option value="CA">California</option>
        <option value="CO">Colorado</option>
        <option value="CT">Connecticut</option>
        <option value="DE">Delaware</option>
        <option value="DC">District Of Columbia</option>
        <option value="FL">Florida</option>
        <option value="GA">Georgia</option>
        <option value="HI">Hawaii</option>
        <option value="ID">Idaho</option>
        <option value="IL">Illinois</option>
        <option value="IN">Indiana</option>
        <option value="IA">Iowa</option>
        <option value="KS">Kansas</option>
        <option value="KY">Kentucky</option>
        <option value="LA">Louisiana</option>
        <option value="ME">Maine</option>
        <option value="MD">Maryland</option>
        <option value="MA">Massachusetts</option>
        <option value="MI">Michigan</option>
        <option value="MN">Minnesota</option>
        <option value="MS">Mississippi</option>
        <option value="MO">Missouri</option>
        <option value="MT">Montana</option>
        <option value="NE">Nebraska</option>
        <option value="NV">Nevada</option>
        <option value="NH">New Hampshire</option>
        <option value="NJ">New Jersey</option>
        <option value="NM">New Mexico</option>
        <option value="NY">New York</option>
        <option value="NC">North Carolina</option>
        <option value="ND">North Dakota</option>
        <option value="OH">Ohio</option>
        <option value="OK">Oklahoma</option>
        <option value="OR">Oregon</option>
        <option value="PA">Pennsylvania</option>
        <option value="PR">Puerto Rico</option>
        <option value="RI">Rhode Island</option>
        <option value="SC">South Carolina</option>
        <option value="SD">South Dakota</option>
        <option value="TN">Tennessee</option>
        <option value="TX">Texas</option>
        <option value="UT">Utah</option>
        <option value="VT">Vermont</option>
        <option value="VA">Virginia</option>
        <option value="WA">Washington</option>
        <option value="WV">West Virginia</option>
        <option value="WI">Wisconsin</option>
        <option value="WY">Wyoming</option>
        <option value="">---------------</option>
        <option value="Canada">'All Provinces'</option>
        <option value="AB">Alberta</option>
        <option value="BC">British Columbia</option>
        <option value="MB">Manitoba</option>
        <option value="NB">New Brunswick</option>
        <option value="NL">Newfoundland and Labrador</option>
        <option value="NT">Northwest Territories</option>
        <option value="NS">Nova Scotia</option>
        <option value="NU">Nunavut</option>
        <option value="ON">Ontario</option>
        <option value="PE">Prince Edward Island</option>
        <option value="QC">Quebec</option>
        <option value="SK">Saskatchewan</option>
        <option value="YT">Yukon Territory</option>
      </select>
    </COMMENT>

    <input type="hidden" name="default_listing" value="" />
    <input type="hidden" name="listing" value="" />
  </form>
  <script><![CDATA[
    function wp(q)
    {
      if( nullArgs("wp", q) )
        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)

      // By default match name prefixes
      document.wpf.firstname_begins_with.value = "1";
      document.wpf.name_begins_with.value = "1";

      if (result = q.match( /(\S+)\s+(\S+)[, ]+(.+)/ ))
      {
        document.wpf.firstname.value = result[1];
        document.wpf.name.value = result[2];
        if ( result[3] != "" )
        {
          var loc = result[3];
          if (result = loc.match( /(\d{5}(-\d{4})?)/ ))
          {
            document.wpf.city_zip.value = result[1];
          }
          else if (result = loc.split( /\s*,\s*/ ))
          {
            document.wpf.city_zip.value = result[0];
            document.wpf.state_id.value = result[1];
          }
        }
      }

      var args = parseArgs(q, "city, state, exact, email, surrounding");
      for (var iSwitch = 0; iSwitch < args.switches.length; iSwitch++)
      {
        switch( args.switches[iSwitch].name )
        {
          case "city":
            document.wpf.city_zip.value = args.switch_val["city"];
            break;
          case "state":
            document.wpf.state_id.value = args.switch_val["state"];
            break;
          case "exact":
            document.wpf.firstname_begins_with.value = "";
            document.wpf.name_begins_with.value = "";
            break;
          case "email":
            document.wpf.listing.value = "mixed";
            break;
          case "surrounding":
            document.wpf.default_listing.value = "mixed";
            break;
        }
      }

      submitForm(wpf);
    }
  ]]></script>
  <copyright>
    The following applies if this file is included and distributed with Dave's Quick Search Deskbar:
    Copyright (c) 2002 David Bau; Distributed under the terms of the GNU Public License, Version 2 (http://www.gnu.org/copyleft/gpl.txt)
  </copyright>
  <created_by>
    This search file was initially created on 12/31/06 at 00:28:38
    by Dave's Quick Search Deskbar Search Wizard version 1.3,
    Copyright (c) 2002 Glenn Carr; Distributed under the terms of the GNU General Public License, Version 2
  </created_by>
</search>
