<search function="craig">
  <name>Craig's List</name>
  <description>
    Craig's List is an Online community centered around dozens of individual cities.<br/>
    <div class="helpboxDescLabels">Switches:</div>
    <table class="helpboxDescTable">
      <tr><td>/comm</td><td> - </td><td>Search the community archives</td></tr>
      <tr><td>/hous</td><td> - </td><td>Search the housing listings</td></tr>
      <tr><td>/pers</td><td> - </td><td>Search the personals ads</td></tr>
      <tr><td>/jobs</td><td> - </td><td>Search the job listings</td></tr>
      <tr><td>/sale</td><td> - </td><td>Search the for sale archives</td></tr>
      <tr><td>/disc</td><td> - </td><td>Search the discussion archives</td></tr>
      <tr><td>/serv</td><td> - </td><td>Search the housing archives</td></tr>
      <tr><td>/gigs</td><td> - </td><td>Search the services listings</td></tr>
      <tr><td>/resm</td><td> - </td><td>Search the resume archives</td></tr>
      <tr><td>/city</td><td> - </td><td>Specify the city in which you are interested</td></tr>
      <tr><td>
        <div style="padding: 0 0 0 20px">
          /city:newyork<br/>   
          /city:manhattan <i>(a subset of the New York site)</i><br/>   
          /city:sydney<br/>   
          <i>Default is the Sanfrancisco Bay area</i>
        </div> 
      </td></tr>
      <tr><td>/sfo</td><td> - </td><td>Specify the City of San Francisco</td></tr>
      <tr><td>/sby</td><td> - </td><td>Specify the South Side of San Francisco Bay</td></tr>
      <tr><td>/eby</td><td> - </td><td>Specify the East Side of San Francisco Bay</td></tr>
      <tr><td>/nby</td><td> - </td><td>Specify the North Side of San Francisco Bay</td></tr>
      <tr><td>/pen</td><td> - </td><td>Specify the West Side of San Francisco Bay</td></tr>
    </table>
    <div class="helpboxDescLabels">Examples:</div>
    <table class="helpboxDescTable">
      <tr><td>craig /sby</td></tr>
      <tr><td>craig /sale /buffalo vcr</td></tr>
      <tr><td>craig /disc election</td></tr>
    </table>
  </description>
  <category>People and Places</category>
  <link>http://www.craigslist.org/</link>
  <contributor>Ryan Carpenter 9/22/04</contributor>
  
  <form name="craigf"
        action="http://www.craigslist.org/cgi-bin/search"
        method="get">
    <input type="hidden" name="areaID"      value=""/>
    <input type="hidden" name="subAreaID"   value=""/>
    <input type="hidden" name="type_search" value=""/>
    <input type="hidden" name="minAsk"      value=""/>
    <input type="hidden" name="maxAsk"      value=""/>
    <input type="hidden" name="cat"         value=""/>
    <input type="hidden" name="query"       value=""/>
  </form>
  
  <script><![CDATA[
    function craig(q)
    {
      var args = parseArgs(q, "sfc, sby, eby, pen, nby, cal, comm, hous, pers, jobs, sale, disc, serv, gigs, resm, city" +
                              "act, ats, kid, com, grp, pet, laf, muc, pol, rid, vol, cls, apa, roo, sub, hsw, swp, vac" +
                              "prk, off, rfs, acc, ofc, med, sci, bus, csr, edu, eng, lgg, mar, hea, npo, ret, sls, trd" +
                              "sof, sad, tch, tfr, art, wri, etc, stp, w4w, w4m, m4w, m4m, msr, cas, mis, rnr, bar, bik" +
                              "bks, zip, fur, for, spo, tix, wan, bab, car, clo, clt, sys, ele, gms, hsh, mcy, msg, cps" +
                              "crs, ers, evs, fns, lgs, lss, aos, hss, lbs, sks, rts, biz, ths, cpg, crg, cwg, dmg, evg" +
                              "lbg, wrg, tlg, about");
      var mode, sect = city = area = "";
      document.craigf.areaID.value = "1";
      document.craigf.subAreaID.value = "0";
      document.craigf.cat.value = "ccc";
      
      if( nullArgs( "craig", q ) ) return false;

      // Establish the locale and mode the search will run in.
      if( args.switches.length > 0 )
      {
        for( var j=0; j<args.switches.length; j++ )
        {
          switch( args.switches[j].name )
          {
            case "sfc": area = "sfc/"; document.craigf.subAreaID.value = "1"; break;
            case "sby": area = "sby/"; document.craigf.subAreaID.value = "2"; break;
            case "eby": area = "eby/"; document.craigf.subAreaID.value = "3"; break;
            case "pen": area = "pen/"; document.craigf.subAreaID.value = "4"; break;
            case "nby": area = "nby/"; document.craigf.subAreaID.value = "5"; break;

            case "city": city = args.switch_val["city"]; break;
            
            case "comm": sect = "ccc/"; document.craigf.cat.value = "ccc"; break;
            case "hous": sect = "hhh/"; document.craigf.cat.value = "hhh"; break;
            case "pers": sect = "ppp/"; document.craigf.cat.value = "ppp"; break;
            case "jobs": sect = "jjj/"; document.craigf.cat.value = "jjj"; break;
            case "sale": sect = "sss/"; document.craigf.cat.value = "sss"; break;
            case "disc": sect = "forums/"; break;
            case "serv": sect = "bbb/"; document.craigf.cat.value = "bbb"; break;
            case "gigs": sect = "gig/"; document.craigf.cat.value = "gig"; break;
            case "resm": sect = "res/"; document.craigf.cat.value = "res"; break;
            case "cls":  sect = "cal/#classes/"; document.craigf.cat.value = "cls"; break;

            default:     sect = args.switches[j].name+"/"; document.craigf.cat.value = args.switches[j].name; break;
          }
        }
      }

      // An alternate city is named, the bay area is not used

      switch( city )
      {
        case "seattle":      document.craigf.areaID.value = "2";  break;
        case "tacoma":       document.craigf.areaID.value = "2";  city = "seattle"; break;
        case "seatac":       document.craigf.areaID.value = "2";  city = "seattle"; break;
        case "newyork":      document.craigf.areaID.value = "3";  break;
        case "nyc":          document.craigf.areaID.value = "3";  city = "newyork"; break;
        case "manhattan":    document.craigf.areaID.value = "3";  city = "newyork"; document.craigf.subAreaID.value = "1"; sect= "mnh"; break;
        case "brooklyn":     document.craigf.areaID.value = "3";  city = "newyork"; document.craigf.subAreaID.value = "2"; sect= "brk"; break;
        case "queens":       document.craigf.areaID.value = "3";  city = "newyork"; document.craigf.subAreaID.value = "3"; sect= "que"; break;
        case "bronx":        document.craigf.areaID.value = "3";  city = "newyork"; document.craigf.subAreaID.value = "4"; sect= "brx"; break;
        case "statenisland": document.craigf.areaID.value = "3";  city = "newyork"; document.craigf.subAreaID.value = "5"; sect= "stn"; break;
        case "newjersey":    document.craigf.areaID.value = "3";  city = "newyork"; document.craigf.subAreaID.value = "6"; break;
        case "longisland":   document.craigf.areaID.value = "3";  city = "newyork"; document.craigf.subAreaID.value = "7"; break;
        case "westchester":  document.craigf.areaID.value = "3";  city = "newyork"; document.craigf.subAreaID.value = "8"; break;
        case "boston":       document.craigf.areaID.value = "4";  break;
        case "losangeles":   document.craigf.areaID.value = "7";  break;
        case "la":           document.craigf.areaID.value = "7";  city = "losangeles"; break;
        case "sandiego":     document.craigf.areaID.value = "8";  break;
        case "portland":     document.craigf.areaID.value = "9";  break;
        case "washingtondc": document.craigf.areaID.value = "10"; break;
        case "dc":           document.craigf.areaID.value = "10"; city = "washingtondc"; break;
        case "washington":   document.craigf.areaID.value = "10"; city = "washingtondc"; break;
        case "chicago":      document.craigf.areaID.value = "11"; break;
        case "sacramento":   document.craigf.areaID.value = "12"; break;
        case "denver":       document.craigf.areaID.value = "13"; break;
        case "boulder":      document.craigf.areaID.value = "13"; city = "denver"; break;
        case "atlanta":      document.craigf.areaID.value = "14"; break;
        case "austin":       document.craigf.areaID.value = "15"; break;
        case "vancouver":    document.craigf.areaID.value = "16"; break;
        case "philidelphia": document.craigf.areaID.value = "17"; break;
        case "philly":       document.craigf.areaID.value = "17"; city = "philidelphia"; break;
        case "phoenix":      document.craigf.areaID.value = "18"; break;
        case "minneapolis":  document.craigf.areaID.value = "19"; break;
        case "stpaul":       document.craigf.areaID.value = "19"; city = "minneapolis"; break; break;
        case "miami":        document.craigf.areaID.value = "20"; break;
        case "dallas":       document.craigf.areaID.value = "21"; break;
        case "ftworth":      document.craigf.areaID.value = "21"; city = "dallas"; break;
        case "detroit":      document.craigf.areaID.value = "22"; break;
        case "annarbor":     document.craigf.areaID.value = "22"; city = "detroit"; break;
        case "houston":      document.craigf.areaID.value = "23"; break;
        case "london":       document.craigf.areaID.value = "24"; break;
        case "toronto":      document.craigf.areaID.value = "25"; break;
        case "lasvegas":     document.craigf.areaID.value = "26"; break;
        case "vegas":        document.craigf.areaID.value = "26"; city = "lasvegas"; break;
        case "cleveland":    document.craigf.areaID.value = "27"; break;
        case "honolulu":     document.craigf.areaID.value = "28"; break;
        case "stlouis":      document.craigf.areaID.value = "29"; break;
        case "saintlouis":   document.craigf.areaID.value = "29"; city = "stlouis"; break;
        case "kansascity":   document.craigf.areaID.value = "30"; break;
        case "neworleans":   document.craigf.areaID.value = "31"; break;
        case "nashville":    document.craigf.areaID.value = "32"; break;
        case "pittsburgh":   document.craigf.areaID.value = "33"; break;
        case "baltimore":    document.craigf.areaID.value = "34"; break;
        case "cincinnati":   document.craigf.areaID.value = "35"; break;
        case "raleigh":      document.craigf.areaID.value = "36"; break;
        case "tampa":        document.craigf.areaID.value = "37"; break;
        case "tampabay":     document.craigf.areaID.value = "37"; city = "tampa"; break;
        case "providence":   document.craigf.areaID.value = "38"; break;
        case "orlando":      document.craigf.areaID.value = "39"; break;
        case "buffalo":      document.craigf.areaID.value = "40"; break;
        case "charlotte":    document.craigf.areaID.value = "41"; break;
        case "columbus":     document.craigf.areaID.value = "42"; break;
        case "fresno":       document.craigf.areaID.value = "43"; break;
        case "hartford":     document.craigf.areaID.value = "44"; break;
        case "indianapolis": document.craigf.areaID.value = "45"; break;
        case "memphis":      document.craigf.areaID.value = "46"; break;
        case "milwaukee":    document.craigf.areaID.value = "47"; break;
        case "norfolk":      document.craigf.areaID.value = "48"; break;
        case "montreal":     document.craigf.areaID.value = "49"; break;
        case "albuquerque":  document.craigf.areaID.value = "50"; break;
        case "anchorage":    document.craigf.areaID.value = "51"; break;
        case "boise":        document.craigf.areaID.value = "52"; break;
        case "sanantonio":   document.craigf.areaID.value = "53"; break;
        case "omaha":        document.craigf.areaID.value = "55"; break;
        case "saltlakecity": document.craigf.areaID.value = "56"; break;
        case "saltlake":     document.craigf.areaID.value = "56"; city = "saltlakecity"; break;
        case "tucson":       document.craigf.areaID.value = "57"; break;
        case "albany":       document.craigf.areaID.value = "59"; break;
        case "richmond":     document.craigf.areaID.value = "60"; break;
        case "santabarbara": document.craigf.areaID.value = "62"; break;
        case "sydney":       document.craigf.areaID.value = "64"; break;
        case "melbourne":    document.craigf.areaID.value = "65"; break;
        case "manchester":   document.craigf.areaID.value = "71"; break;
        case "dublin":       document.craigf.areaID.value = "74"; break;
        case "edinburgh":    document.craigf.areaID.value = "75"; break;
        default: city = "www"; break;
      }
     
      // No parameters, so go to the appropriate web page.
      if( args.q == "" )
      {
        var goURL = "http://" + city + ".craigslist.org/" + area + sect;
        openSearchWindow( goURL ); 
        return;
      }
      else
      {
        document.craigf.query.value = args.q;
        submitForm(craigf);
      }
    }

  ]]></script>

  <copyright>
  Copyright (c) 2002 David Bau
  Distributed under the terms of the
  GNU Public License, Version 2 (http://www.gnu.org/copyleft/gpl.txt)
  </copyright>
</search>