function CountyLink(resultsUrl, queryString, method, sidUrl, cookieUrl, isIntermedUrl)
{
  this.resultsUrl = resultsUrl;
  this.queryString = queryString;
  this.method = method;
  this.sidUrl = sidUrl;
  this.cookieUrl = cookieUrl;
  this.isIntermedUrl = isIntermedUrl;
}

CountyLink.curCountyId = null;
CountyLink.curParcelId = null;

CountyLink.parcelizeValue = function(value, parcelId)
{
  var v = value.replace(/\[parcel_id\]/g, parcelId);
  v = v.replace(/\[parcel_id_no_dashes\]/g, parcelId.replace(/-/g,''));
  v = v.replace(/\[parcel_id_no_dots\]/g, parcelId.replace(/\./g,''));
  var pid_alphanum = parcelId.replace(/\W/g,'');
  v = v.replace(/\[parcel_id_alphanum\]/g, pid_alphanum);
  v = v.replace(/\[parcel_id_ddti_dashified\]/g, parcelId.replace(/^(.{3})(.{2})(.{2})(.{2})(.{2})(.{3})(.{2})/, '$1-$2-$3-$4-$5-$6-$7'));
  v = v.replace(/\[parcel_id_wayne_dashdotted\]/g, parcelId.replace(/^(.{2})(.{5})(.{3})/, '$1-$2.$3'));
  v = v.replace(/\[parcel_id_ddti_dashdottified\]/, parcelId.replace(/^(.{2})(.{5})(.{3}).*$/, '$1-$2.$3'));
  v = v.replace(/\[parcel_id_muskingum\]/, parcelId.substring(0,2) + parcelId);
  v = v.replace(/\[parcel_id_wood\]/, parcelId.replace(/^(.{3})(.{3})(.{12}).*$/, '$1-$2-$3'));
  var x_exp = /\[[x\d.-]+\]/;
  var xm = x_exp.exec(v);
  if (xm)
  {
    var x_str = xm[0];
    var x_res = '';
    var par_idx = 0;
    for (var i=1; i<x_str.length-1; ++i)
    {
      var x_char = x_str[i];
      if (x_char != 'x')
      {
        x_res += x_char;
      } else {
        x_res += pid_alphanum[par_idx++];
      }
    }
    v = v.replace(x_str, x_res);
  }
  var x_exp2 = /\[(parcel_id)\[(\d*):(\d*)\]\]/;
  var xm2 = x_exp2.exec(v);
  if (xm2)
  {
    var x_str = xm2[0];
    var sub_start = xm2[2];
    if (sub_start === '')
    {
      sub_start = 0;
    }
    var sub_end = xm2[3];
    if (sub_end === '')
    {
      sub_end = pid_alphanum.length;
    }
    var x_res = pid_alphanum.substring(sub_start, sub_end);
    v = v.replace(x_str, x_res);
  }
  return v;
}

CountyLink.follow_link = function(countyId, parcelId, linkDest)
{
  var formInfo = CountyLink.links[linkDest][countyId];
  if (!formInfo)
  {
    alert("Error: did not find expected link info for county " + countyId);
    return;
  }

  CountyLink.curCountyId = countyId;
  CountyLink.curParcelId = parcelId;
  CountyLink.curLinkDest = linkDest;

  if (formInfo.cookieUrl)
  {
    var cif = document.getElementById('cookieIFrame');
    if (cif)
    {
      document.body.removeChild(cif);
    }
    cif = document.createElement('iframe');
    cif.style.display = 'none';
    cif.src = formInfo.cookieUrl;
    addEventListenersToElem(cif);

    cif.addEventListener('load',CountyLink._loadCamaLink,false);

    document.body.appendChild(cif);
  } else {
    CountyLink._loadCamaLink();
  }
}

CountyLink._loadCamaLink = function()
{
  var countyId = CountyLink.curCountyId;
  var parcelId = CountyLink.curParcelId;
  var linkDest = CountyLink.curLinkDest;
  CountyLink.curCountyId = CountyLink.curParcelId = CountyLink.curLinkDest = null;

  var formInfo = CountyLink.links[linkDest][countyId];
  var sid = null;
  var intermedValue = null;

  if (formInfo.isIntermedUrl)
  {
    var h = new XMLHttpRequest();
    h.open('GET', 'cama/cama_get_intermed.php?cid=' + countyId + '&pid=' + parcelId, false);
    h.send(null);
    intermedValue = h.responseText;
  }
  if (formInfo.sidUrl)
  {
    var h = new XMLHttpRequest();
    h.open('GET', 'cama/cama_get_sid.php?cid=' + countyId, false);
    h.send(null);
    var headers = h.responseText.split(/\n/);
    for (var i=0; i<headers.length; ++i)
    {
      var hdr = headers[i];
      var hMatch;
      if (hMatch = hdr.match(/^Location: .*?sid=([^&\r]*)/))
      {
        sid = hMatch[1];
      }
    }
    if (sid == null)
    {
      alert("Warning: Could not retrieve session id from headers:\n" + hdr);
    }
  }

  if (formInfo.method.toUpperCase() == 'GET')
  {
    var resUrl = formInfo.resultsUrl + '?' + CountyLink.parcelizeValue(formInfo.queryString, parcelId);
    if (sid != null)
    {
      resUrl += '&sid=' + sid;
    }
    if (intermedValue != null)
    {
      resUrl = resUrl.replace(/\[intermed_value\]/g, intermedValue);
    }
    window.open(resUrl); 
  } else {
    var ff = document.getElementById('camaLinkForm');
    if (ff)
    {
      document.body.removeChild(ff);
    }

    ff = document.createElement('form');
    //ff.enctype="multipart/form-data";
    ff.id = 'camaLinkForm';
    ff.style.display = 'none';
    ff.target = '_blank';
  
    ff.method = formInfo.method;
  
    var paramArr = formInfo.queryString.split(/&/);
    for (var i=0; i<paramArr.length; ++i)
    {
      var param = paramArr[i];
      if (param.length > 0)
      {
        var eqPos = param.indexOf('=');
        if (eqPos == -1)
        {
          eqPos = param.length;
        }
        var field = param.substring(0,eqPos);
        var value = CountyLink.parcelizeValue(param.substring(eqPos + 1), parcelId);

        var inpElem = document.createElement('input');
        inpElem.type = 'text';
	// TODO: simplify with IE compatibility shim
	if (inpElem.setAttributeNS)
	{
          inpElem.setAttributeNS(null, 'name', field);
          inpElem.setAttributeNS(null, 'value', value);
	} else {
          inpElem.setAttribute('name', field);
	  inpElem.setAttribute('value', value);
	}
        ff.appendChild(inpElem);
      }
    }
  
    ff.action = formInfo.resultsUrl;
  
    document.body.appendChild(ff);
    
    ff.submit();  
  }
}


CountyLink.links = new Object();

CountyLink.links['auditor'] = new Object();
CountyLink.links['auditor'][6075] = new CountyLink('http://gispubweb.sfgov.org/website/sfparcel/showlotinfo.asp','LotIDValue=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12005] = new CountyLink('http://maps.qpublic.net/cgi-bin/bay_display.cgi','KEY=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12007] = new CountyLink('http://www.bradfordappraiser.com/GIS/Show_FieldCard.asp','PIN=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12011] = new CountyLink('http://www.bcpa.net/RecInfo.asp','URL_Folio=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12013] = new CountyLink('http://www.qpublic.net/cgi-bin/calhoun_display.cgi','KEY=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12015] = new CountyLink('http://www.ccappraiser.com/Show_parcel.asp','acct=[parcel_id]%20%20&gen=T&tax=T&bld=T&oth=T&sal=T&lnd=T&leg=T','GET','','','f');
CountyLink.links['auditor'][12019] = new CountyLink('http://www.qpublic.net/cgi-bin/clay_display.cgi','KEY=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12021] = new CountyLink('http://www.collierappraiser.com/RecordDetail.asp','Map=&FolioID=00000[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12023] = new CountyLink('http://g2.columbia.floridapa.com/GIS/Show_FieldCard.asp','PIN=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12027] = new CountyLink('http://www.desotopa.com/GIS/Show_FieldCard.asp','PIN=[xx-xx-xx-xxxx-xxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12029] = new CountyLink('http://www.qpublic.net/fl_display.php','KEY=[xx-xx-xx-xxxx-xxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12031] = new CountyLink('http://apps.coj.net/PAO_PropertySearch/Basic/Detail.aspx','RE=[xxxxxxxxxx]','GET','','','f');
CountyLink.links['auditor'][12033] = new CountyLink('http://www.escpa.org/Detail_a.aspx','s=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12035] = new CountyLink('http://qpublic1.qpublic.net/cgi-bin/flagler_display.cgi','KEY=[xx-xx-xx-xxxx-xxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12037] = new CountyLink('http://www.qpublic.net/cgi-bin/franklin_display.cgi','KEY=[xx-xxx-xxx-xxxx-xxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12039] = new CountyLink('http://www.qpublic.net/cgi-bin/gadsden_display.cgi','KEY=[x-xx-xx-xx-xxxx-xxxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12041] = new CountyLink('http://www.qpublic.net/cgi-bin/gilchrist_display.cgi','KEY=[xx-xx-xx-xxxx-xxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12043] = new CountyLink('http://www.qpublic.net/cgi-bin/glades_display.cgi','KEY=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12045] = new CountyLink('http://www.qpublic.net/cgi-bin/gulf_display.cgi','KEY=[xxxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12047] = new CountyLink('http://www.qpublic.net/cgi-bin/hamilton_display.cgi','KEY=[xxxx-xxx]','GET','','','f');
CountyLink.links['auditor'][12049] = new CountyLink('http://www.qpublic.net/cgi-bin/hardee_display.cgi','KEY=[xx-xx-xx-xxxx-xxxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12051] = new CountyLink('http://www.hendryprop.com/GIS/Show_FieldCard.asp','PIN=[x-xx-xx-xx-xxx-xxxx-xxx.x]','GET','','','f');
CountyLink.links['auditor'][12055] = new CountyLink('http://www.appraiser.co.highlands.fl.us/perl/re2html.pl','strap=[parcel_id]&c0=1&c1=1&c2=1&c3=1&c4=1&c5=1&c6=0','GET','','','f');
CountyLink.links['auditor'][12057] = new CountyLink('http://www.hcpafl.org/CamaDisplay.aspx','OutputMode=Display&SearchType=RealEstate&ParcelID=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12059] = new CountyLink('http://www.qpublic.net/cgi-bin/holmes_display.cgi','KEY=[xxxx.xx-xxx-xxx-xxx.xxx]','GET','','','f');
CountyLink.links['auditor'][12061] = new CountyLink('http://www.ircpa.org/Data.aspx','ParcelID=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12063] = new CountyLink('http://www.qpublic.net/cgi-bin/jackson_display.cgi','KEY=[xx-xx-xx-xxxx-xxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12065] = new CountyLink('http://www.qpublic.net/cgi-bin/jefferson_display.cgi','KEY=[xx-xx-xx-xxxx-xxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12067] = new CountyLink('http://www.lafayettepa.com/GIS/Show_FieldCard.asp','PIN=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12069] = new CountyLink('http://www.lakecopropappr.com/property-details.aspx','?AltKey=3856251#sect_general','GET','','','f');
CountyLink.links['auditor'][12071] = new CountyLink('http://www.leepa.org/Scripts/ParcelSearch.aspx','STRAP=[parcel_id]&OwnerName=&SiteNumber=&SiteStreet=&SiteZIP=&submit1=Start+Search','GET','','','f');
CountyLink.links['auditor'][12073] = new CountyLink('http://www.leonpa.org/ACCT.cfm','ACCOUNT=[xxxxxx++xxxxx]','GET','','','f');
CountyLink.links['auditor'][12075] = new CountyLink('http://www.levypa.com/CamaDisplay.aspx','OutputMode=Display&SearchType=RealEstate&Page=FindByOwnerName&ParcelID=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12077] = new CountyLink('http://www.qpublic.net/cgi-bin/liberty_display.cgi','KEY=[xxx-xx-xx-xxxxx-xxx]','GET','','','f');
CountyLink.links['auditor'][12079] = new CountyLink('http://www.madisonpa.com/gis/Show_FieldCard.asp','PIN=[xx-xx-xx-xxxx-xxx-xxx]','GET','','','f');
CountyLink.links['auditor'][12081] = new CountyLink('http://www.manateepao.com/Forms/PrintDatalet.aspx','pin=[parcel_id]&gsp=IDAMAINPAGE&taxyear=2009&jur=51&ownseq=1&card=1&State=1&item=1&items=-1&all=all&ranks=Datalet','GET','','','f');
CountyLink.links['auditor'][12083] = new CountyLink('http://216.255.243.134/htbin/MCPAHTM','[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12085] = new CountyLink('https://taxcol.martin.fl.us/ITM/itm.asp','Acctno=++++++++++++++++[parcel_id]&Acctyear=2008&Acctbtyear=&Owner=&Page=1','GET','','','f');
CountyLink.links['auditor'][12086] = new CountyLink('http://egvsys.miamidade.gov:1608/wwwserv/ggvt/txcaw01.dia','folio=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12087] = new CountyLink('http://www.mcpafl.org/PropSearch.aspx','ctl00_cphPageContent_txtRealRecords_PID=[xxxxxxxx-xxxxxx]','POST','','','f');
CountyLink.links['auditor'][12089] = new CountyLink('http://qpublic1.qpublic.net/cgi-bin/nassau_display.cgi','KEY=[xx-xx-xx-xxxx-xxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12091] = new CountyLink('http://www.qpublic.net/cgi-bin/okaloosa_display.cgi','KEY=[xx-xx-xx-xxxx-xxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12093] = new CountyLink('http://www.okeechobeepa.com/Fieldcard/','[x-xx-xx-xx-xxxx-xxxxx-xxxx].pdf','GET','','','f');
CountyLink.links['auditor'][12095] = new CountyLink('http://www.ocpafl.org/pls/webappI/get_parcel_master','pid=[parcel_id]&query_data=1111111O&tax_year=2009','GET','','','f');
CountyLink.links['auditor'][12097] = new CountyLink('http://ira.property-appraiser.org/PropertySearch/AjaxControls/ParcelFull.aspx','_=1249658868098&pid=[parcel_id]&type=basic&current=tr-current&url=','GET','','','f');
CountyLink.links['auditor'][12099] = new CountyLink('http://www.co.palm-beach.fl.us/papa/aspx/web/detail_info.aspx','p_entity=[parcel_id]&geonav=Y&styp=general&owner=limbaugh&city=-1&zip=&method=owner&cidx=-1&sdiv=&sdivnam=&stno=&pdir=&st=&strnm=&sufx=&ptdir=&cty=&rng=&twp=&sct=&blk=&lot=&book=&page=&tangid=&condo=&condoname=&use=&usnam=&sloc=&prd=&pedir=&podir=&famt=&tamt=&fsqft=&tsqft=&srt1=&srt2=&srt3=&stpage=0&adlfilter=','GET','','','f');
CountyLink.links['auditor'][12101] = new CountyLink('http://www.appraiser.pascogov.com/search/parcel.aspx','sec=[xx]&twn=[xx]&rng=[xx]&sbb=[xxxx]&blk=[xxxxx]&lot=[xxxx]','GET','','','f');
CountyLink.links['auditor'][12103] = new CountyLink('http://www.pcpao.org/general.php','strap=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12105] = new CountyLink('http://www.polkpa.org/CamaDisplay.aspx','OutputMode=Display&SearchType=RealEstate&Page=FindByOwnerName&ParcelID=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12107] = new CountyLink('http://www.putnam-fl.com/palookup/view.php','pin=[xx-xx-xx-xxxx-xxxx-xxxx]','GET','','','f');
CountyLink.links['gis'] = new Object();
CountyLink.links['gis'][12107] = new CountyLink('http://gis.putnam-fl.com/website/pcsales/viewer.htm','ActiveLayer=10&Query=PARCELID=\'[xxxx-xx-xx-xxxx-xxxx-xxxx]\'&QueryZoom=Yes','GET','','','f');
CountyLink.links['auditor'][12109] = new CountyLink('http://gis2.sjcpa.us/sjcpa/App/webpropcardv4.cfm','strap=[xxxxxx xxxx]','GET','','','f');
CountyLink.links['auditor'][12111] = new CountyLink('http://www.paslc.org/prc.asp','prclid=[parcel_id_no_dashes]','GET','','','f');
CountyLink.links['auditor'][12113] = new CountyLink('http://qpublic1.qpublic.net/cgi-bin/santarosa_display.cgi','KEY=[xx-xx-xx-xxxx-xxxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12115] = new CountyLink('http://www.sc-pa.com/search/parcel_detail.asp','year=2009&account=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12117] = new CountyLink('http://www.scpafl.org/web/re_web.seminole_county_title','PARCEL=[parcel_id]&cowner=%&cctr=&ctotal=&cfparcel=&cmap=Y&cdor=&crank=','GET','','','f');
CountyLink.links['auditor'][12119] = new CountyLink('http://sumterpa.com/GIS/Show_FieldCard.asp','PIN=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12121] = new CountyLink('http://www.suwanneepa.com/GIS/Show_FieldCard.asp','PIN=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][12125] = new CountyLink('http://qpublic.net/cgi-bin/uctc_display.cgi','Type=Real_Property&KEY=[xx-xx-xx-xx-xxx-xxxx-x]','GET','','','f');
CountyLink.links['auditor'][12129] = new CountyLink('http://www.qpublic.net/cgi-bin/wakulla_display.cgi','KEY=[xx-xx-xxx-xxx-xxxxx-xxx]','GET','','','f');
CountyLink.links['auditor'][12131] = new CountyLink('http://qpublic1.qpublic.net/cgi-bin/walton_display.cgi','KEY=[xx-xx-xx-xxxxx-xxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][12133] = new CountyLink('http://www.qpublic.net/cgi-bin/washington_display.cgi','KEY=[xxxxxxxx-xx-xxxx-xxxx]','GET','','','f');
CountyLink.links['auditor'][18057] = new CountyLink('http://www.co.hamilton.in.us/apps/reports/rptparcelinfo.asp','?sparcelno=[parcel_id]&dSearch=parcelno&dreport=parcelinfo&dReportName=Parcel%20Information','GET','','','f');
CountyLink.links['auditor'][18105] = new CountyLink('http://in53.plexisgroup.com/map/PropDetailReport_print.cfm','parcelnum=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39001] = new CountyLink('http://adamspropertymax.governmaxa.com/propertymax/agency/Adams/Adams_tab_base.asp','t_nm=base&l_cr=1&t_wc=|parcelid=[parcel_id]+++++++++++++','GET','','','f');
CountyLink.links['auditor'][39003] = new CountyLink('http://oh-allen-auditor.governmax.com/propertymax/tab_base.asp','t_nm=base&l_cr=1&t_wc=|parcelid=[parcel_id]++++++++++++','GET','','','f');
CountyLink.links['auditor'][39005] = new CountyLink('http://www.ashlandcoauditor.org/propertymax/search_property.asp','go.x=1','POST','','','f');
CountyLink.links['auditor'][39007] = new CountyLink('http://oh-ashtabula-auditor.governmax.com/propertymax/agency/OH-Ashtabula-Auditor/OH-Ashtabula-Auditor_super_tab_base.asp','t_nm=base&l_cr=1&t_wc=|parcelid=[parcel_id_alphanum]++++++++++++++','GET','http://oh-ashtabula-auditor.governmax.com/propertymax/agency/oh-ashtabula-auditor/oh-ashtabula-auditor_home.asp','','f');
CountyLink.links['auditor'][39009] = new CountyLink('http://www.athenscountyauditor.org/Data.aspx','ParcelID=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39011] = new CountyLink('http://www.auglaizeauditor.ddti.net/Data.aspx','ParcelID=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39013] = new CountyLink('http://belmontpropertymax.governmaxa.com/propertymax/agency/Belmont/Belmont_Atek_tab_base.asp','t_nm=base&l_cr=1&t_wc=|parcelid=[parcel_id]++++++++++++++++','GET','','','f');
CountyLink.links['auditor'][39015] = new CountyLink('http://www.brownauditor.ddti.net/base.asp','Parcel=[parcel_id]&Card=0&MapNum=1&Page=base','GET','','','f');
CountyLink.links['auditor'][39017] = new CountyLink('http://propertysearch.butlercountyohio.org/butler/Search/GenericSearch.aspx','mode=PARID','POST','','','f');
CountyLink.links['auditor'][39019] = new CountyLink('http://carrollpropertymax.governmaxa.com/propertymax/agency/atek/Atek_tab_base.asp','t_nm=base&l_cr=1&t_wc=|parcelid=[parcel_id]++++++++++++++++','GET','','','f');
CountyLink.links['auditor'][39021] = new CountyLink('http://champaignoh.ddti.net/Data.aspx','ParcelID=[xxx-xx-xx-xx-xx-xxx-xx]','GET','','','f');
CountyLink.links['auditor'][39023] = new CountyLink('http://www.gis.co.clark.oh.us/Results.aspx','SearchType=Parcel&Criteria1=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39025] = new CountyLink('http://www.clermontauditorrealestate.org/Forms/Datalets.aspx?idx=1&sIndex=0','inpParid=[parcel_id]','POST','','','f');
CountyLink.links['auditor'][39027] = new CountyLink('http://clintonoh.ddti.net/Results.aspx','SearchType=Parcel&Criteria1=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39029] = new CountyLink('http://www.columbianacntyauditor.org/propertymax/search_property.asp','go.x=1','POST','','','f');
CountyLink.links['auditor'][39031] = new CountyLink('http://www.coshcoauditor.org/Forms/Datalets.aspx?idx=1&sIndex=0','inpParcel=[parcel_id]','POST','http://www.coshcoauditor.org/Search/GenericSearch.aspx?mode=ACCOUNT','','f');
CountyLink.links['auditor'][39033] = new CountyLink('http://realestate.crawford-co.org/cgi-bin/db2www.pgm/req.mbr/default','','POST','','','f');
CountyLink.links['auditor'][39035] = new CountyLink('http://auditor.cuyahogacounty.us/REPI/General.asp','par_id=[parcel_id]','POST','','','f');
CountyLink.links['recorder'] = new Object();
CountyLink.links['recorder'][39035] = new CountyLink('http://recorder.cuyahogacounty.us/searchs/Parcellist.aspx','Parcel=[parcel_id]&start=1/1/1975&end=1/1/2020&sort=1','GET','','','f');
CountyLink.links['auditor'][39037] = new CountyLink('http://darkepropertymax.governmax.com/propertymax/agency/Ohio/OH_tab_base.asp','t_nm=base&l_cr=1&t_wc=|parcelid=[parcel_id]++++++++','GET','http://darkepropertymax.governmax.com/propertymax/agency/darke/darke_homepage.asp','','f');
CountyLink.links['auditor'][39039] = new CountyLink('http://defiance.ddti.net/Results.aspx','SearchType=Parcel&Criteria1=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39041] = new CountyLink('http://oh-delaware-auditor.governmax.org/propertymax/agency/ohdelaware/ohdelaware_tab_base_leo.asp','t_nm=base_leo&l_cr=1&t_wc=|parcelid=[parcel_id]++++++++++++','GET','http://oh-delaware-auditor.governmax.org/propertymax/agency/oh-delaware-auditor/oh-delaware-auditor_home.asp','','f');
CountyLink.links['auditor'][39043] = new CountyLink('http://www.erie.iviewtaxmaps.com/Results.aspx','SearchType=Parcel&Criteria1=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39045] = new CountyLink('http://realestate.co.fairfield.oh.us/Data.aspx','ParcelID=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39047] = new CountyLink('http://fayettepropertymax.governmax.com/propertymax/agency/Ohio/OH_tab_base.asp','t_nm=base&l_cr=1&t_wc=|parcelid=[parcel_id]++++++++++++','GET','','','f');
CountyLink.links['auditor'][39049] = new CountyLink('http://franklincountyoh.metacama.com/do/searchByParcelId','taxDistrict=[parcel_id[:3]]&parcelNbr=[parcel_id[3:]]','POST','','','f');
CountyLink.links['auditor'][39051] = new CountyLink('http://fultonoh-auditor.ddti.net/data.aspx','ParcelID=[xx-xxxxxx-xx.xxx]','GET','','','f');
CountyLink.links['auditor'][39053] = new CountyLink('http://www.galliaauditor.ddti.net/base.asp','Parcel=[parcel_id]&Card=1&page=base','GET','','','f');
CountyLink.links['auditor'][39055] = new CountyLink('http://www.auditor.co.geauga.oh.us/ag/results.php','svalue=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39057] = new CountyLink('http://www.co.greene.oh.us/website/gis/parcels/resultsform.asp','h_pid1=[parcel_id]&h_pid2=&h_criteria=gen','GET','','','f');
CountyLink.links['auditor'][39059] = new CountyLink('http://64.56.97.9/realestate2/search_property.asp','go.x=1','POST','','','f');
CountyLink.links['auditor'][39063] = new CountyLink('http://realestate.co.hardin.oh.us/cgi-bin/db2www.pgm/req.mbr/default','','POST','','','f');
CountyLink.links['auditor'][39069] = new CountyLink('http://www.co.henry.oh.us/cgi-bin/db2www.pgm/req.mbr/default','','POST','','','f');
CountyLink.links['auditor'][39073] = new CountyLink('http://www.realestate.co.hocking.oh.us/cgi-bin/db2www.pgm/req.mbr/default','','POST','','','f');
CountyLink.links['auditor'][39075] = new CountyLink('http://www.holmescountyauditor.org/search_by_attributes.asp','','GET','','','f');
CountyLink.links['auditor'][39077] = new CountyLink('http://www.huroncountyauditor.org/Data.aspx','ParcelID=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39079] = new CountyLink('http://www.jacksoncountygis.com/Results.aspx','SearchType=Parcel&Criteria1=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39081] = new CountyLink('http://www.jeffersoncountyoh.com/taxdata/JefPub2.dbw','Owner=[xx-xxxxx-xxx]&SelectYear=2008','POST','http://www.jeffersoncountyoh.com/realtax/','','f');
CountyLink.links['auditor'][39083] = new CountyLink('http://www.knoxcountyauditor.org/Data.aspx','ParcelID=[parcel_id_ddti_dashdottified]','GET','','','f');
CountyLink.links['auditor'][39085] = new CountyLink('http://www.lake.iviewauditor.com/Data.aspx','ParcelID=[parcel_id]','GET','','','f');
CountyLink.links['gis'][39085] = new CountyLink('http://www.lakegis.org/lakenavigator/viewer.htm','Query=M_PARCEL_ID=\'[parcel_id]\'&QueryZoom=Yes','GET','','','f');
CountyLink.links['auditor'][39087] = new CountyLink('http://www.lawrencecountyauditor.org/search_by_attributes.asp','','GET','','','f');
CountyLink.links['auditor'][39089] = new CountyLink('http://www.lcounty.com/OnTrac/frmSummary.aspx','pn=0[xx-xxxxxx-xx.xxx]','GET','','','f');
CountyLink.links['auditor'][39091] = new CountyLink('http://lcaweb.co.logan.oh.us/aweb/details/propertycard.aspx','ParcelID=[parcel_id]','POST','','','f');
CountyLink.links['auditor'][39093] = new CountyLink('http://www.loraincounty.com/auditor/summary/details.shtml','details=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39095] = new CountyLink('http://maps.co.lucas.oh.us/Areis/DataPages/Summary1.asp','Parcel=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39097] = new CountyLink('http://madisonoh.ddti.net/Results.aspx','SearchType=Parcel&Criteria1=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39099] = new CountyLink('http://ohmahoningpropertymax.governmaxa.com/propertymax/agency/OHMahoning/Mahoning_tab_base_leo.asp','t_nm=base&l_cr=1&t_wc=|parcelid=[parcel_id_alphanum]++++++++++++++','GET','http://ohmahoningpropertymax.governmaxa.com/propertymax/agency/ohmahoning/mahoning_home.asp','','f');
CountyLink.links['auditor'][39101] = new CountyLink('http://realestate.co.marion.oh.us/cgi-bin/db2www.pgm/req.mbr/default','','POST','','','f');
CountyLink.links['auditor'][39103] = new CountyLink('http://www.highwayengineer.co.medina.oh.us/cgi-bin/query.cgi','?onlayers=&mode=query&ppn=[parcel_id]&addstring=&roadname=&ownerstring=&lotstring=&substring=&tractstring=&latlong=&parbuff=100&zoomdir=1&zoomsize=10&imgxy=800+800&imgext=2083305.7+461397.558592+2230660.371408+608752.23&map=mche.map&savequery=true&mapext=shapes','GET','','','f');
CountyLink.links['auditor'][39107] = new CountyLink('http://www2.mercercountyohio.org/auditor/AuditorSearch.asp','Owner=&AddrNum=&AddrName=&MapNum=&TaxNum=[parcel_id]&SortBy1=Owner_Name&SortBy2=Pcl_Adr_Name,+Pcl_Adr_Suffix,+Pcl_Adr_Dir,+Pcl_Adr_Num&SortBy3=Pcl_Num&SortBy4=Tax_Num&SingleLine=Multi&Class=ALL&PurchCode=X&PriceL=0&PriceH=100000000&DateLow=1800-01-01&DateHigh=2100-12-31&Location=ALL&NHGroup=ALL&NHCode=ALL&AcresL=0&AcresH=1000&Grade=ALL&Cond=ALL&BuiltL=1800&BuiltH=2100&SqFtL=0&SqFtH=1000000&Style=ALL&Basement=X&Bedrooms=X&FullBaths=X&HalfBaths=X&Bldg_Class=ALL&Bldg_BuiltL=1800&Bldg_BuiltH=2100&Bldg_SqFtL=0&Bldg_SqFtH=1000000','POST','','','f');
CountyLink.links['auditor'][39109] = new CountyLink('http://www.miamicountyauditor.org/Data.aspx','ParcelID=[xxx-xxxxxx]','GET','','','f');
CountyLink.links['auditor'][39113] = new CountyLink('http://www.mcrealestate.org/Forms/Datalets.aspx?mode=PROFILEALL&taxyear=2009&ownseq=1&roll=RP_OH&jur=000&sIndex=0&idx=1&pin=&card=1&item=1&State=1&items=-1','gPin=[parcel_id]','POST','http://www.mcrealestate.org/Search/GenericSearch.aspx?mode=PARID','','f');
CountyLink.links['auditor'][39115] = new CountyLink('http://www.morgancountyauditor.org/Data.aspx','ParcelID=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39117] = new CountyLink('http://auditor.co.morrow.oh.us/iView/search_by_attributes.asp','','GET','','','f');
CountyLink.links['auditor'][39119] = new CountyLink('http://www.muskingumcountyauditor.org/iView/base.asp','Parcel=[parcel_id_muskingum]&Account=&Card=1&Page=base','GET','','','f');
CountyLink.links['auditor'][39123] = new CountyLink('http://www.ottawacountyauditor.org/Data.aspx','ParcelID=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39125] = new CountyLink('http://www.pauldingcountyauditor.com/propertymax/search_property.asp','go.x=1','POST','','','f');
CountyLink.links['auditor'][39129] = new CountyLink('http://pickaway.iviewauditor.com/iView/search_by_attributes.asp','','GET','','','f');
CountyLink.links['auditor'][39131] = new CountyLink('http://www.realestate.pike-co.org/cgi-bin/db2www.pgm/req.mbr/default','','POST','','','f');
CountyLink.links['auditor'][39133] = new CountyLink('http://portagepropertymax.governmaxa.com/propertymax/agency/portage/portage_OH_tab_base.asp','t_nm=base&l_cr=1&t_wc=|parcelid=[parcel_id_no_dashes]+++++++++++','GET','http://portagepropertymax.governmaxa.com/propertymax/agency/portage/oh_portage_homepage.asp','','f');
CountyLink.links['auditor'][39135] = new CountyLink('http://www.preblecountyauditor.org/Results.aspx','SearchType=Parcel&Criteria1=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39137] = new CountyLink('http://co.putnam.oh.us/cgi-bin/db2www.pgm/req.mbr/default','','POST','','','f');
CountyLink.links['auditor'][39139] = new CountyLink('http://www.richlandcountyauditor.org/Forms/Datalets.aspx?mode=PROFILEALL&sIndex=0&idx=1','inpParid=[parcel_id]','POST','','','f');
CountyLink.links['auditor'][39141] = new CountyLink('http://www.co.ross.oh.us/Auditor/Results.aspx','SearchType=Parcel&Criteria1=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39143] = new CountyLink('http://ohsanduskypropertymax.governmaxa.com/propertymax/agency/sanduskyoh/sandusky_tab_base_V2.asp','t_nm=base&l_cr=1&t_wc=|parcelid=[parcel_id]++++++++++++++','GET','http://ohsanduskypropertymax.governmaxa.com/propertymax/agency/sanduskyoh/sandusky_homepage.asp','','f');
CountyLink.links['auditor'][39145] = new CountyLink('http://www.sciotocountyauditor.org/propertymax/search_property.asp','go.x=1','POST','','','f');
CountyLink.links['auditor'][39147] = new CountyLink('http://www.senecacountyauditor.org/Results.aspx','SearchType=Parcel&Criteria1=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39151] = new CountyLink('http://www.auditor.co.stark.oh.us/PropertySearch/Results.aspx','SearchType=Parcel&Criteria1=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39153] = new CountyLink('http://fiscalweb.summitoh.net/clt/refstrt.do_one?','parcel=[parcel_id]&print=1&lienyear=2009&doland=ON&docard=ON&cardnum=ALL&dosales=ON&dopermits=ON&dotaxes=ON&doassess=ON&docauv=OFF&donotes=ON&dogeninf=OFF','POST','','','f');
CountyLink.links['recorder'][39153] = new CountyLink('http://fiscalweb.summitoh.net/recrcd/in_djmain.selectem','DOCTYPE=DUMMY&GRNAME=DUMMY&PARCEL=[parcel_id]','POST','','','f');
CountyLink.links['auditor'][39155] = new CountyLink('http://property.co.trumbull.oh.us/Default.aspx','p=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39157] = new CountyLink('http://www.co.tuscarawas.oh.us/Tusca208/Nav_Action.asp','Bookmark=8&DataAction=Find&detailclause=[parcel_id_no_dashes]++++++++++++++++++','GET','','http://www.co.tuscarawas.oh.us/Tusca208/LandRover.asp','f');
CountyLink.links['auditor'][39159] = new CountyLink('http://realestate.co.union.oh.us/cgi-bin/db2www.pgm/qsys.lib/cgibin.lib/mfcdweb.file/req.mbr/main','midf=MID&midn=[parcel_id]','GET','','','f');
CountyLink.links['gis'][39159] = new CountyLink('http://www3.co.union.oh.us/website/pub_webgis/viewer.htm','LAYERS=[parcel_id]&ActiveLayer=0&query=PARCEL_NO=%[parcel_id]%27&queryzoom=yes','GET','','','f');
CountyLink.links['auditor'][39161] = new CountyLink('http://www.co.vanwert.oh.us/cgi-bin/db2www.pgm/qsys.lib/cgibin.lib/mfcdweb.file/req.mbr/default','SearchType=Parcel&Criteria1=[parcel_id]','POST','','','f');
CountyLink.links['auditor'][39165] = new CountyLink('http://www.co.warren.oh.us/Auditor/property_search/summary.asp','account_nbr=100048','GET','','','f');
CountyLink.links['auditor'][39167] = new CountyLink('http://www.washingtoncountyauditor.us/PropertySearch/Data.aspx','ParcelID=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][39169] = new CountyLink('http://www.waynecountyauditor.org/Data.aspx','ParcelID=[xx-xxxxx.xxx]','GET','','','f');
CountyLink.links['auditor'][39171] = new CountyLink('http://www.williamsoh.ddti.net/Data.aspx','ParcelID=[xxx-xxx-xx-xxx.xxx]','GET','','','f');
CountyLink.links['auditor'][39173] = new CountyLink('http://auditor.co.wood.oh.us/Data.aspx','ParcelID=[xxx-xxx-xxxxxxxxxxxx]','GET','','','f');
CountyLink.links['auditor'][39175] = new CountyLink('http://realestate.co.wyandot.oh.us/cgi-bin/db2www.pgm/req.mbr/default','','POST','','','f');
CountyLink.links['auditor'][42003] = new CountyLink('http://www2.county.allegheny.pa.us/RealEstate/GeneralInfo.aspx','ParcelID=[parcel_id]%20%20%20%20&SearchType=3&SearchParcel=[parcel_id]','GET','','','f');
CountyLink.links['auditor'][48121] = new CountyLink('http://www.dentoncad.com/index.php','option=com_content&task=view&id=99&PropertyID=[parcel_id]&xRefID=&OwnerName=&DBA=&SitusNumber=&SitusName=&LegalName=&LegalBlock=&LegalLot=&City=&R=on&P=on&MN=on&MH=on&Active=on&Inactive=on&Year=2009&MinVal=0&MaxVal=&Results=10','GET','','','f');
CountyLink.links['auditor'][53055] = new CountyLink('http://www.gartrellgroup.net/sjcparcelsearch/SJCSearcher.cfm','RMPRC=[parcel_id]','POST','','','f');
CountyLink.links['auditor'][53057] = new CountyLink('http://www.skagitcounty.net/Common/Asp/Default.asp','d=Assessor&c=Search&a=ParcelSearch&p=Results.asp&st=parcelid&sv=[parcel_id]&pn=1','GET','','','f');
CountyLink.links['auditor'][53061] = new CountyLink('http://198.238.192.103/propsys/Asr-Tr-PropInq/PrpInq02-ParcelData.asp','PN=[parcel_id]&GetParcel=Get%2BData%2Bby%2BAccount','GET','','','f');
CountyLink.links['auditor'][53073] = new CountyLink('http://www.co.whatcom.wa.us/cgibin/db2www/assessor/search/RPSearch.ndt/prcSummary','prcNum=[parcel_id]&browserID=CAA48A05&page=1&rcdcnt=35&byName=N&selString=null&tr=','GET','','','f');
CountyLink.cid_cname = {"6075":"San Francisco","12005":"Bay","12007":"Bradford","12011":"Broward","12013":"Calhoun","12015":"Charlotte","12019":"Clay","12021":"Collier","12023":"Columbia","12027":"DeSoto","12029":"Dixie","12031":"Duval","12033":"Escambia","12035":"Flagler","12037":"Franklin","12039":"Gadsden","12041":"Gilchrist","12043":"Glades","12045":"Gulf","12047":"Hamilton","12049":"Hardee","12051":"Hendry","12055":"Highlands","12057":"Hillsborough","12059":"Holmes","12061":"Indian River","12063":"Jackson","12065":"Jefferson","12067":"Lafayette","12069":"Lake","12071":"Lee","12073":"Leon","12075":"Levy","12077":"Liberty","12079":"Madison","12081":"Manatee","12083":"Marion","12085":"Martin","12086":"Miami-Dade","12087":"Monroe","12089":"Nassau","12091":"Okaloosa","12093":"Okeechobee","12095":"Orange","12097":"Osceola","12099":"Palm Beach","12101":"Pasco","12103":"Pinellas","12105":"Polk","12107":"Putnam","12109":"St. Johns","12111":"St. Lucie","12113":"Santa Rosa","12115":"Sarasota","12117":"Seminole","12119":"Sumter","12121":"Suwannee","12125":"Union","12129":"Wakulla","12131":"Walton","12133":"Washington","18057":"Hamilton","18105":"Monroe","39001":"Adams","39003":"Allen","39005":"Ashland","39007":"Ashtabula","39009":"Athens","39011":"Auglaize","39013":"Belmont","39015":"Brown","39017":"Butler","39019":"Carroll","39021":"Champaign","39023":"Clark","39025":"Clermont","39027":"Clinton","39029":"Columbiana","39031":"Coshocton","39033":"Crawford","39035":"Cuyahoga","39037":"Darke","39039":"Defiance","39041":"Delaware","39043":"Erie","39045":"Fairfield","39047":"Fayette","39049":"Franklin","39051":"Fulton","39053":"Gallia","39055":"Geauga","39057":"Greene","39059":"Guernsey","39063":"Hancock","39069":"Henry","39073":"Hocking","39075":"Holmes","39077":"Huron","39079":"Jackson","39081":"Jefferson","39083":"Knox","39085":"Lake","39087":"Lawrence","39089":"Licking","39091":"Logan","39093":"Lorain","39095":"Lucas","39097":"Madison","39099":"Mahoning","39101":"Marion","39103":"Medina","39107":"Mercer","39109":"Miami","39113":"Montgomery","39115":"Morgan","39117":"Morrow","39119":"Muskingum","39123":"Ottawa","39125":"Paulding","39129":"Pickaway","39131":"Pike","39133":"Portage","39135":"Preble","39137":"Putnam","39139":"Richland","39141":"Ross","39143":"Sandusky","39145":"Scioto","39147":"Seneca","39151":"Stark","39153":"Summit","39155":"Trumbull","39157":"Tuscarawas","39159":"Union","39161":"Van Wert","39165":"Warren","39167":"Washington","39169":"Wayne","39171":"Williams","39173":"Wood","39175":"Wyandot","42003":"Allegheny","48121":"Denton","53055":"San Juan","53057":"Skagit","53061":"Snohomish","53073":"Whatcom"}
