/*======================================================================
	propertyObj(str)
	
	Description: Object to hold the final result datarow for Property.  
    Each row consists of the following:
    
    	PROPERTY RELATED - 
		owner1, owner2, paddress (stnum-stnumext street[, Unit:] unit),
		pcsz (city, state zip-plus4), pphone, oaddress, ocsz, ophone, use
		(stateuse[:] short), yearbuilt, style (buildstyle[:] short), livarea,
		grbldgarea, lotsize, lotcode, totrooms, bedrooms, 
		bathrooms (bathrooms[/]halfbaths), parktype, numparksp, rooftype,
		roofmat, extcover, heattype, heattype, fueltype, numfirepl, amenities,
		mapref, cnsstract, zoning, fy, assdvalbld, assdvallnd, assdvaltot,
		taxamt
		
		added:
		lstlspr,lstsldate

		added:
		lsunits,pstnum,pstext,pst,punit,pcity,pstate,pzip,pplus4,
		usecode,usedescript,stylecode,styledescript,
		ostnum,ostext,ost,ounit,ocity,ostate,ozip
		
		added: inactvfl, sellname
		
		str = string that is delimited by "~"
		ary = sales object array
	
====================================================================== */
function propertyObj(str,sary,mary) {
	var tmp = str.split("~");
	this.pid = tmp[0];
	this.owner1 = tmp[1];
	this.owner2 = tmp[2];
	this.paddress = tmp[3];
	this.pcity = tmp[4];
	this.pstate = tmp[5];
	this.pzip = tmp[6];
	this.pphone = tmp[7];
	this.oaddress = tmp[8];
	this.ocity = tmp[9];
	this.ostate = tmp[10];
	this.ozip = tmp[11];
	this.use = tmp[12];
	this.yearbuilt = tmp[13];
	this.style = tmp[14];
	this.livarea = tmp[15];
	this.grbldgarea = tmp[16];
	this.lotsize = tmp[17];
	this.lotcode = tmp[18];
	this.totrooms = tmp[19];
	this.bedrooms = tmp[20];
	// Combine the next 2: bathrooms/halfbath
	this.bathrooms = tmp[21];
	this.halfbath = tmp[22];
	this.parktype = tmp[23];
	this.numparksp = tmp[24];
	this.rooftype = tmp[25];
	this.roofmat = tmp[26];
	this.extcover = tmp[27];
	this.heattype = tmp[28];
	this.fueltype = tmp[29];
	this.numfirepl = tmp[30];
	this.amenities = tmp[31];
	this.mapref = tmp[32];
	this.cnsstract = tmp[33];
	this.zoning = tmp[34];
	this.fy = tmp[35];
	this.assdvalbld = tmp[36];
	this.assdvallnd = tmp[37];
	this.assdvaltot = tmp[38];
	this.taxamt = tmp[39];
	this.lstsldate = tmp[40];
	this.lstslpr = tmp[41];
	// added Apr 1999
	this.lsunits = tmp[42];
	this.pstnum = tmp[43];
	this.pstext = tmp[44];
	this.pst = tmp[45];
	this.punit = tmp[46];
	// Changed from the duplicated pcity to towncode - TKC 11/2/2004
	// this.pcity = tmp[47];
	this.towncode = tmp[47];
	//document.writeln(tmp[47]);
	// Changed from the duplicated state to fieldcard flag = Y/N - TKC 11/2/2004
	// this.pstate = tmp[48];
	this.fieldcardflag = tmp[48];
	this.pzip = tmp[49];
	this.pplus4 = tmp[50];
	this.usecode = tmp[51];
	this.usedescript = tmp[52];
	this.stylecode = tmp[53];
	this.styledescript = tmp[54];
	this.ostnum = tmp[55];
	this.ostext = tmp[56];
	this.ost = tmp[57];
	this.ounit = tmp[58];
	this.ocity = tmp[59];
	this.ostate = tmp[60];
	this.ozip = tmp[61];
	this.inactvfl = tmp[62];
	this.sellname = tmp[63];
	this.lat = tmp[64];
	this.lon = tmp[65];
	this.submtgflg = tmp[66];
	this.lstldr = tmp[67];
	this.lstlname = tmp[68];
	this.lstmtg = tmp[69];
	this.lstmtgdate = tmp[70];
	this.lstmtgcat = tmp[71];
	this.complevl = tmp[72];
	this.lstbook = tmp[73];
	this.lstpage = tmp[74];
	this.lstdocref = tmp[75];

	// Added 9/14/2004 TKC
	this.ffloorarea = tmp[76];
	this.atticarea = tmp[77];
	this.basmufarea  = tmp[78];
	this.basmfnarea  = tmp[79];
	this.basmntarea  = tmp[80];
	this.basmnttd15  = tmp[81];
	this.livareatyp  = tmp[82];
	this.livareades  = tmp[83];
	this.numfloors  = tmp[84];
	this.renoyear  = tmp[85];
	this.conditid15  = tmp[86];
	//Added 27 June 2005 KEB tt3249
	this.ccode=tmp[87];
	//Added 1/15/2009 TKC
	this.dpstatus=tmp[88];
	this.dpstatdes=tmp[89];
	this.dpstatdate=tmp[90];
		
	// Sales array, if any
	this.sAry = sary;
	// Mortgage array, if any
	this.mAry = mary;
   
   // Default to all selections to be off...this is used for radius ONLY...and does not take into account on search refinement...
	this.selection = false;
}
/*======================================================================
	salesObj(str)
	
	Description: Object to hold the final result datarow for Property.  
	Each row consists of the following:
    		
	SALES RELATED -
	price, date, bookpage, deedtype, mortgage, term, interest, buyer1,
	buyer2, seller1, seller2, lender

	str = string that is delimited by "~"
====================================================================== */
function salesObj(str) {
	var tmp = str.split("~");
	this.sid = tmp[0];
	this.price = tmp[1];
	this.date = tmp[2];
	// Combine the next 2 - book/page...
	this.book = tmp[3];
	this.page = tmp[4];
	this.deedtype = tmp[5];
	this.mortgage = tmp[6];
	this.term = tmp[7];
	this.interest = tmp[8];
	this.buyer1 = tmp[9];
	this.buyer2 = tmp[10];
	this.seller1 = tmp[11];
	this.seller2 = tmp[12];
	this.lender = tmp[13];
	this.source = tmp[14];
	this.docketref = tmp[15];
	this.saletype = tmp[16];
}
/*======================================================================
	mortObj(str)
	
	Description: Object to hold the final result datarow for Property.  
	Each row consists of the following:
    		
	MORTGAGE RELATED -
	date, bookpage, deedtype, mortgage, term, interest, buyer1,
	buyer2, seller1, seller2, lender

	str = string that is delimited by "~"
====================================================================== */
function mortObj(str) {
	var tmp = str.split("~");
	this.sid = tmp[0];
	this.date = tmp[1];
	// Combine the next 2 - book/page...
	this.book = tmp[2];
	this.page = tmp[3];
	this.deedtype = tmp[4];
	this.mortgage = tmp[5];
	this.term = tmp[6];
	this.interest = tmp[7];
	this.buyer1 = tmp[8];
	this.buyer2 = tmp[9];
	this.seller1 = tmp[10];
	this.seller2 = tmp[11];
	this.lender = tmp[12];
	this.source = tmp[13];
	// <TT 1318 - 12/23/2003 - PDW
	this.docketref = tmp[14];
	// TT 1318>
}
/////////////////////////////////////////////////////////////////////////
//
/*=======================================================================
   finalObj(a_key,p_key,d_key,u_key,cur_sort,pagesize,fAry)
	
	Description: The final object that'll contain all the information 
	that the client is looking for.
	
	Inputs:
	======
	a_key, p_key, d_key, u_key = 4 keys (strings) that contains all of the
		matched record's propid
	cur_sort = current sort value (1 of 4: address, price, date, use)
	pagesize = size of each 'Page'
	fAry = contains an array of objects each of which could contain an array
		of another object (Outter = Property & Inner = Sales)
		
	Properties:
	==========
	
	Methods:
	=======
	
====================================================================== */
//function finalObj(totalselections, rscount, cur_sort, dir, pagesize, searchtype, criteria, ccode, fAry, newtav, usernumber, addr, rsearch, distressedsearch, reportOptions) {
function finalObj(totalselections, rscount, cur_sort, dir, pagesize, searchtype, criteria, ccode, fAry, newtav, usernumber, addr, rsearch, distressedsearch) {
	/////////////////////////////////////////////////////////////////////////
	//// Properties
	//
	// Seperates out the key from the input string
	var tmp = totalselections.split(",");
	
	this.totalselections = totalselections;

	// Make a copy of all Property ID to keep track of what's being selected or not...
	var pidkeeper = new Array();
	var pcnt = 0;
	for (var p=0;p<rscount;p++) {
		// Default everything to SELECTED
		pidkeeper[tmp[p]] = true;
		pcnt++;
	}
	this.pkeeper = pidkeeper;
	this.plen = pcnt;
		
	this.sortNameArray = new Array("Address","Price","Date","Use");
	this.sortElmArray = new Array("address","price","date","use");
	
	this.viewName = new Array("1-Line","Multi-Line","Full Record");
	
	// Current Sorting Type (1 of 4): address, price, date, & use
	this.sort = 0;
	for (i = 0; i < this.sortElmArray.length; i++) {
		if (this.sortElmArray[i] == cur_sort)
			this.sort = i;
	}

	// Sorting direction, false = ascending...
	this.dir = false;
	this.searchtype = searchtype;
	this.criteria = criteria;
	this.tav = newtav;
	this.ccode = ccode;
	//alert (criteria);
	
	// User info...
	this.usernumber = usernumber;
		
	// Each dataset is divided into many pages to help increase performance as well
	// as to save on bandwidth.  The number of times the client need to hit the server
	// before he gets all of his dataset in this way would be key.length/pagezie
	this.pagesize = pagesize;
	this.defaultsize = pagesize;

	this.rscount = rscount;
	this.oldview = 1;
	this.raddr = addr;
	this.rsearch = rsearch;
	this.rsearchid = null;
	this.ssearchid = -1;
	
	// TKC - 1/20/2009 - Added the Distressed Radius Search Result into here
	this.distressedsearch = distressedsearch;
	
	// Any of the 4 key length is the total number of property records in this dataset
	// The fAry should contain a running total of number of records that has been 
	// transferred to the client side already.
	if (rscount >= fAry.length) {
		this.eof = false;
	} else {
		this.eof = true;
	}
	this.bof = true;

	// This is the final object, which consists of an array of objects (Property Info - mostly).
	// Each of these objects can contain an array of objects (Sales Info).
	this.fAry = fAry;
	//alert(reportOptions);
	// Current output selection...0: Single; 1: Three; 2: Full
	this.outputselection = 1;
	// Number of Record to Show - in single/three pane mode, show all sent (pagesize)
	this.numshow = pagesize;
	// Current Page Number 
	this.pagenum = 0;
	// Current Entry/Element Being Displayed (in Full Display Only)
	this.elm = 0;
	
	this.singlefull = false;
	this.checkboxsetting = true;
// TKC - 4/2010 - removed	
//	this.reportOptions = reportOptions;
	
	/////////////////////////////////////////////////////////////////////////
	//// Methods :
	// Output Methods
	this.showDataset = showDisplay;
	this.showSingleSet = showDisplay1;
	
	this.warnBof = prelimWarnBof;
	this.warnEof = prelimWarnEof;
	
	// Refine the dataset to only those that has been selected
	this.refine = refine;
	this.moveNext = moveNext;
	this.movePrev = movePrev;
	
	this.toggle = finalToggle;
	// added 8/9/01
	this.toggle2 = finalToggle2;
	
	this.searchTip = searchTip;
	this.setSort = setSort;
	this.changeView = setView;
	this.changeView1 = setView1;
	this.changebView = setbView;
	this.viewFull = jumpTo;
	this.selectAll = clientSelectAll;
	this.clearAll = clientClearAll;
	
	this.latlonCheck = latlonCheck;
	this.distress_latlonCheck = distress_latlonCheck;		// Added - 1/20/2009 TKC
	this.setrsearchid = setRSearchID;
	this.setssearchid = setSSearchID;
	this.setssearchbyid = setSSearchByID
	this.saveSelected = clientSaveSelected;
	this.warnEmptySelect = prelimEmptySelect;
	
	if (rsearch == true) {
		this.bgcolorHeader = "#99ccff";
		this.bgcolorLine = "#ccffff";
	} else {
		this.bgcolorHeader = "#EFEFEF";
		this.bgcolorLine = "#ddeeff";
	}
	// TKC - 1/20/2009 - Added/modify the header if it's a distressed radius search
	if (distressedsearch == true) {
		this.bgcolorHeader = "#99ccff";
		this.bgcolorLine = "#ccffff";
	}
	// TKC - 5/4/2010 - added multi properties map
	this.multiPropertiesMap = multipropertiesmap;
}
// 1-Line Display
function sPane(start,send,sid,skip) {

	dDoc.writeln("<table width=\"500\" border=1>");
	dDoc.writeln("<tr bgcolor=" + self.clientf.bgcolorHeader + ">");
	dDoc.writeln("<td width=\"17%\" bgcolor=\"#DDEEFF\" align=center><span class=\"smblackb\">Select Record</span></td>");
	dDoc.writeln("<td width=\"17%\" bgcolor=\"#DDEEFF\"><span class=\"smblackb\">Address</span></td>");
	dDoc.writeln("<td width=\"17%\" bgcolor=\"#DDEEFF\"><span class=\"smblackb\">Town</span></td>");
	dDoc.writeln("<td width=\"17%\" bgcolor=\"#DDEEFF\"><span class=\"smblackb\">Property<br>Use</span></td>");
	dDoc.writeln("<td width=\"17%\" bgcolor=\"#DDEEFF\"><span class=\"smblackb\">Last Sale<br>Date</span></td>");
	dDoc.writeln("<td width=\"17%\" bgcolor=\"#DDEEFF\"><span class=\"smblackb\">Last Sale<br>Price</span></td>");
	dDoc.writeln("<td width=\"17%\" bgcolor=\"#DDEEFF\"><table><tr><td><img src=\"img/radius_small.gif\"></td><td><span class=smblackb>Proximity <br>Search</span></td></tr></table></td>");
	dDoc.writeln("</tr>");

	for (var i = start; i < send; i++) {

		if (!sid || self.clientf.fAry[i].pid != sid || !skip) {
		
			dDoc.writeln("<tr valign=middle>");
		
			dDoc.writeln("<td>");
		
			if (sid != "nonav") {
		
				dDoc.write("<img src=\"img/t.gif\" width=\"20\" height=\"1\" border=\"0\">");
				dDoc.write("<input type=\"checkbox\" name=\"selection\" value=\""+self.clientf.fAry[i].pid+"\"");
				if (self.clientf.pkeeper[self.clientf.fAry[i].pid] == true)
					dDoc.write(" checked");
				dDoc.write(" onclick=\"parent.clientf.toggle("+self.clientf.fAry[i].pid+");parent.clientf.toggle2("+ i +");\" title=\"Check this box if you wanted to select this property.\">");

				var va_flag = checkInactiveFlag(self.clientf.fAry[i].inactvfl,self.clientf.fAry[i].complevl);
				if (va_flag == gAVFlagVirtual) {
					dDoc.write("<font color=\"red\">*</font>");
				}
				if (va_flag == gAVFlagArchive) {
					dDoc.write("<font color=\"red\" size=-1><sup>A</sup></font>");
				}

			} // end nonav
	
			dDoc.writeln("</td>");
			
			var prop1 = outStreet(self.clientf.fAry[i].pstnum,self.clientf.fAry[i].pstext,self.clientf.fAry[i].pst,self.clientf.fAry[i].punit);

			dDoc.writeln("<td><a href=\"\" class=\"reglinkb\" onClick=\"parent.clientf.viewFull("+i+");return false\">"+prop1+"</a></td>");

			var prop2 = outCSZ(self.clientf.fAry[i].pcity,self.clientf.fAry[i].pstate,self.clientf.fAry[i].pzip,self.clientf.fAry[i].pplus4);

			dDoc.writeln("<td width=\"16%\"><span class=\"smblack\">"+prop2+"&nbsp;</span></td>");
			dDoc.writeln("<td width=\"16%\"><span class=\"smblack\">"+formatUseCode(self.clientf.fAry[i].usecode,self.clientf.fAry[i].usedescript)+"&nbsp;</span></td>");
			dDoc.writeln("<td width=\"16%\"><span class=\"smblack\">"+noNull(self.clientf.fAry[i].lstsldate," ")+"&nbsp;</span></td>");
			dDoc.writeln("<td width=\"16%\"><span class=\"smblack\">"+formatMoney(commaIn(noZero(self.clientf.fAry[i].lstslpr," ")))+"&nbsp;</span></td>");

			// Proximity
			if ((self.clientf.fAry[i].lat != 0.0) && (self.clientf.fAry[i].lon != 0.0)) 
				dDoc.write("<td align=\"center\" width=\"16%\"><span class=\"smblack\"><img src=\"img/checkmark1.gif\"></span></td>");
			else
				dDoc.write("<td width=\"16%\"><span class=\"smblack\">&nbsp;</span></td>");

			dDoc.writeln("</tr>");
		
		}
	}

	dDoc.writeln("</table>");

}

function summaryButton(typeLabel, searchId) {
	var flabelwording;
	switch (typeLabel) {
	case "Prepare":
		var href = "href=\"JavaScript:void(parent.clientf.setssearchid("+ searchId +"))\"";
		flabelwording = "Build Report";
		break;
	case "View":
		var href = "href=\"JavaScript:void(document.forms['bundledreport'].propertyid.value="+ self.clientf.fAry[searchId].pid +");void(parent.pwin = window.open('wait_report.html','wait','height=400,width=600,resizable=1,scrollbars=1,status=1,toolbar=0,location=0,directories=0,menubar=0'));void(document.forms['bundledreport'].submit());\"";
		flabelwording = "View Report";
		break;
	}
	if (document.all)
//		return '<A style="BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=\'#A0ffd406\', EndColorStr=\'#00000000\'); BORDER-LEFT: silver 1px solid; BACKGROUND-COLOR: #ffffff; COLOR: black; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; TEXT-ALIGN: center; TEXT-DECORATION: none" '+ href +' height="17">&nbsp;'+ typeLabel +' Report Summary&nbsp;</A>';
		return '<A style="BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=\'#A0ffd406\', EndColorStr=\'#00000000\'); BORDER-LEFT: silver 1px solid; BACKGROUND-COLOR: #ffffff; COLOR: black; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; TEXT-ALIGN: center; TEXT-DECORATION: none" '+ href +' height="17">&nbsp;'+ flabelwording +'&nbsp;</A>';
	else
		return '<A style="BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; BACKGROUND-COLOR: #ffd406; COLOR: black; TEXT-DECORATION: none" height="17" '+ href +'>&nbsp;'+ flabelwording +' &nbsp;</A>'
}
function proximityButton(searchId) {
	if (document.all)
		return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=\'#A0ffd406\', EndColorStr=\'#00000000\'); BORDER-LEFT: silver 1px solid; BACKGROUND-COLOR: #ffffff; COLOR: black; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; TEXT-ALIGN: center; TEXT-DECORATION: none\" href=\"JavaScript:void(parent.clientf.setrsearchid("+ searchId +"));void(parent.clientf.latlonCheck());\">&nbsp;Find Sales&nbsp;</A>&nbsp;<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=\'#A0ffd406\', EndColorStr=\'#00000000\'); BORDER-LEFT: silver 1px solid; BACKGROUND-COLOR: #ffffff; COLOR: black; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; TEXT-ALIGN: center; TEXT-DECORATION: none\" href=\"JavaScript:void(parent.clientf.setrsearchid("+ searchId +"));void(parent.clientf.distress_latlonCheck());\">&nbsp;Find Foreclosures&nbsp;</A>";
	else
		return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; BACKGROUND-COLOR: #ffd406; COLOR: black; TEXT-DECORATION: none\" href=\"JavaScript:void(parent.clientf.setrsearchid("+ searchId +"));void(parent.clientf.latlonCheck());\">&nbsp;Find Sales&nbsp;</A>&nbsp;<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; BACKGROUND-COLOR: #ffd406; COLOR: black; TEXT-DECORATION: none\" href=\"JavaScript:void(parent.clientf.setrsearchid("+ searchId +"));void(parent.clientf.distress_latlonCheck());\">&nbsp;Find Foreclosures&nbsp;</A>";
}
function mapitButton(searchId, aHNum, aHSt, aHCity, aHState) {
		if (document.all)
			return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=\'#A0ffd406\', EndColorStr=\'#00000000\'); BORDER-LEFT: silver 1px solid; BACKGROUND-COLOR: #ffffff; COLOR: black; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; TEXT-ALIGN: center; TEXT-DECORATION: none\" href=\"/phoenixmap/mappid.asp?usernumber=" + self.clientf.usernumber + "&propid=" + self.clientf.fAry[searchId].pid + "&City=" + aHCity + "&State=" + aHState + "&reportswitch=R&app=RERS\" target=\"phoneixmap\">&nbsp;Bing Map&nbsp;</A>"
		else
			return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; BACKGROUND-COLOR: #ffd406; COLOR: black; TEXT-DECORATION: none\" href=\"/phoenixmap/mappid.asp?usernumber=" + self.clientf.usernumber + "&propid=" + self.clientf.fAry[searchId].pid + "&City=" + aHCity +  "&State=" + aHState + "&reportswitch=R&app=RERS\" target=\"phoneixmap\">&nbsp;Bing Map&nbsp;</A>"
	}
//}
function melroseMapButton(searchId) {
	if (document.all)
		return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=\'#A0ffd406\', EndColorStr=\'#00000000\'); BORDER-LEFT: silver 1px solid; BACKGROUND-COLOR: #ffffff; COLOR: black; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; TEXT-ALIGN: center; TEXT-DECORATION: none\" target=\"parcelWin\" href=\"DownLoadMap.asp?state="+ clientf.fAry[searchId].pstate +"&propertyID="+ clientf.fAry[searchId].pid +"\">&nbsp;Parcel Map&nbsp;</A>"
	else
		return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; BACKGROUND-COLOR: #ffd406; COLOR: black; TEXT-DECORATION: none\" target=\"parcelWin\" href=\"DownLoadMap.asp?state="+ clientf.fAry[searchId].pstate +"&propertyID="+ clientf.fAry[searchId].pid +"\">&nbsp;Parcel Map&nbsp;</A>"
}
function newtonMapButton(parcelRef) {
	if (document.all)
		return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=\'#A0ffd406\', EndColorStr=\'#00000000\'); BORDER-LEFT: silver 1px solid; BACKGROUND-COLOR: #ffffff; COLOR: black; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; TEXT-ALIGN: center; TEXT-DECORATION: none\" target=\"parcelWin\" href=\"/link_click/link_catch.asp?usernumber=" + self.clientf.usernumber + "&dest_url=" + escape("http://www.ci.newton.ma.us/assessors2003/InteractiveMap.asp?id=" + parcelRef[0] + parcelRef[1] + "+" + parcelRef[2] + "&mid=" + parcelRef[0] + parcelRef[1] + "+" + parcelRef[2]) + "\">&nbsp;Parcel Map&nbsp;</A>"
	else
		return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; BACKGROUND-COLOR: #ffd406; COLOR: black; TEXT-DECORATION: none\" target=\"parcelWin\" href=\"/link_click/link_catch.asp?usernumber=" + self.clientf.usernumber + "&dest_url=" + escape("http://www.ci.newton.ma.us/assessors2003/InteractiveMap.asp?id=" + parcelRef[0] + parcelRef[1] + "+" + parcelRef[2] + "&mid=" + parcelRef[0] + parcelRef[1] + "+" + parcelRef[2]) + "\">&nbsp;Parcel Map&nbsp;</A>"
}

function avmButton(searchId, aHUnit, aHNum, aHSt, aHCity, aHState, aHZip) {
	if (document.all)
		//return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=\'#A0ffd406\', EndColorStr=\'#00000000\'); BORDER-LEFT: silver 1px solid; BACKGROUND-COLOR: #ffffff; COLOR: black; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; TEXT-ALIGN: center; TEXT-DECORATION: none\" href=\"/avm/avmint3.asp?usernumber=" + self.clientf.usernumber + "&propid=" + self.clientf.fAry[searchId].pid + "&datStreetAddress="  + aHNum + "%20" + aHSt + aHUnit + "&datCity=" + aHCity + "&State=" + aHState + "&datZipCode=" + aHZip + "&savefile=true\" target=\"avmwin\">&nbsp;AVM&nbsp;</A>"
		return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=\'#A0ffd406\', EndColorStr=\'#00000000\'); BORDER-LEFT: silver 1px solid; BACKGROUND-COLOR: #ffffff; COLOR: black; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; TEXT-ALIGN: center; TEXT-DECORATION: none\" href=\"/avmcs/cstavmcheck.asp?usernumber=" + self.clientf.usernumber + "&propid=" + self.clientf.fAry[searchId].pid + "&address="  + aHNum + "%20" + aHSt + aHUnit + "&city=" + aHCity + "&state=" + aHState + "&App=RERS\" target=\"avmwin\">&nbsp;AVM&nbsp;</A>"
	else
		// return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; BACKGROUND-COLOR: #ffd406; COLOR: black; TEXT-DECORATION: none\" href=\"/avm/avmint3.asp?usernumber=" + self.clientf.usernumber + "&propid=" + self.clientf.fAry[searchId].pid + "&datStreetAddress="  + aHNum + "%20" + aHSt + aHUnit + "&datCity=" + aHCity + "&State=" + aHState + "&datZipCode=" + aHZip + "&savefile=true\" target=\"avmwin\">&nbsp;AVM&nbsp;</A>"
		return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; BACKGROUND-COLOR: #ffd406; COLOR: black; TEXT-DECORATION: none\" href=\"/avmcs/cstavmcheck.asp?usernumber=" + self.clientf.usernumber + "&propid=" + self.clientf.fAry[searchId].pid + "&address="  + aHNum + "%20" + aHSt + aHUnit + "&city=" + aHCity + "&state=" + aHState + "&App=RERS&savefile=true\" target=\"avmwin\">&nbsp;AVM&nbsp;</A>"
}
function fieldcardButton(pid, towncode) {
	if (document.all)
		return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=\'#A0ffd406\', EndColorStr=\'#00000000\'); BORDER-LEFT: silver 1px solid; BACKGROUND-COLOR: #ffffff; COLOR: black; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; TEXT-ALIGN: center; TEXT-DECORATION: none\" href=\"fieldcards.asp?usernumber=" + self.clientf.usernumber + "&propid=" + pid + "&towncode=" + towncode + "\" target=\"FieldCardWin\">&nbsp;Field Card&nbsp;</A>"
	else
		return "<A style=\"BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Arial; HEIGHT: 17px; BACKGROUND-COLOR: #ffd406; COLOR: black; TEXT-DECORATION: none\" href=\"fieldcards.asp?usernumber=" + self.clientf.usernumber + "&propid=" + pid + "&towncode=" + towncode + "\" target=\"FieldCardWin\">&nbsp;Field Card&nbsp;</A>"

}
function recordButtons(sid, i) {
	var aHNum = escape(self.clientf.fAry[i].pstnum);
	var aHSt = escape(self.clientf.fAry[i].pst);
	var aHCity = escape(self.clientf.fAry[i].pcity);
	var aHState = self.clientf.fAry[i].pstate;
	var aHZip = self.clientf.fAry[i].pzip;
	var aHUnitnum = self.clientf.fAry[i].punit;
	var aHUnitnum_avm = "";
	if (aHUnitnum.length > 0) {
		// Space + # + UnitNumber
		aHUnitnum_avm = "%20%23" + aHUnitnum;
	}

	// 7/21/2005 - TKC - create a var to hold the NH/ME exceptions -> use .toUpperCase() of the State
	var aSkipState = true;	// Default to not skip
	if ((aHState.toUpperCase() !="ME") && (aHState.toUpperCase() != "NH")) {
		aSkipState = false;
	}
	
	
	if (sid != "nonav") {
			
		if (self.clientf.fAry[i].pid == sid) {
			dDoc.write(" bgcolor=\"#ffffcc\">");
			dDoc.write("<div width=\"100%\" align=\"right\"><a class=\"dataerror\" href=\"reportDataError.asp?state="+ aHState +"&propertyID="+ self.clientf.fAry[i].pid +"\" target=\"errorWin\">Report Data Error</a></div>");
			dDoc.write("<input type=\"checkbox\" name=\"selection\" value=\""+ self.clientf.fAry[i].pid +"\"");
			if (self.clientf.pkeeper[self.clientf.fAry[i].pid] == true)
				dDoc.write(" checked");
			dDoc.write(" onclick=\"parent.clientf.toggle("+self.clientf.fAry[i].pid+"); parent.clientf.toggle2("+i+");\" title=\"Check this box if you wanted to select this property.\">");
			var va_flag = checkInactiveFlag(self.clientf.fAry[i].inactvfl,self.clientf.fAry[i].complevl);
			if (va_flag == gAVFlagVirtual) {
				dDoc.write("<font color=\"red\">*</font>");
			}
			if (va_flag == gAVFlagArchive) {
				dDoc.write("<font color=\"red\" size=-1><sup>A</sup></font>");
			}
//			if ((self.clientf.fAry[i].pstate !="ME")&&(self.clientf.fAry[i].pstate != "NH")){
			if (aSkipState == false) {
// Skip the Build a Report button - TKC - 8/11/2009
//				dDoc.writeln(summaryButton("View", i));
			}
		}
		else {
		
			dDoc.write(" bgcolor=\"#ddeeff\">");
			dDoc.write("<div height=\"17px\" width=\"100%\" align=\"right\"><a class=\"dataerror\" href=\"reportDataError.asp?state="+ aHState +"&propertyID="+ self.clientf.fAry[i].pid +"\" target=\"errorWin\">Report Data Error</a></div>");
			dDoc.write("<input type=\"checkbox\" name=\"selection\" value=\""+self.clientf.fAry[i].pid+"\"");
			if (self.clientf.pkeeper[self.clientf.fAry[i].pid] == true)
				dDoc.write(" checked");
			dDoc.write(" onclick=\"parent.clientf.toggle("+self.clientf.fAry[i].pid+");parent.clientf.toggle2("+ i +");\" title=\"Check this box if you wanted to select this property.\">");
			var va_flag = checkInactiveFlag(self.clientf.fAry[i].inactvfl,self.clientf.fAry[i].complevl);
			if (va_flag == gAVFlagVirtual) {
				dDoc.write("<font color=\"red\">*</font>");
			}
			if (va_flag == gAVFlagArchive) {
				dDoc.write("<font color=\"red\" size=-1><sup>A</sup></font>");
			}
			
//			if ((self.clientf.fAry[i].pstate !="ME") && (self.clientf.fAry[i].pstate != "NH")){
			if (aSkipState == false) {
// Skip the Build a Report button - TKC - 8/11/2009
//				dDoc.writeln(summaryButton("Prepare", i));
			}
		}

		// 7/21/2005 TKC - Only shows the Proximity Button if and only if it does not contain the 0.0 on Lat/Lon value
		if ((self.clientf.fAry[i].lat != 0.0) && (self.clientf.fAry[i].lon != 0.0)) {
			dDoc.writeln(proximityButton(i));
		}

		// Mapping Links
//		if ((self.clientf.fAry[i].pstate !="ME")&&(self.clientf.fAry[i].pstate != "NH")){
// TKC - 6/29/2010 - removed skipping of Maps
//		if (aSkipState == false) {
			dDoc.writeln(mapitButton(i, aHNum, aHSt, aHCity, aHState));
//		}
		// AVM Button
		var va_flag = checkInactiveFlag(self.clientf.fAry[i].inactvfl,self.clientf.fAry[i].complevl);
//		if ((self.clientf.fAry[i].pstate !="ME")&&(self.clientf.fAry[i].pstate != "NH")){
// TKC - 6/29/2010 - removed skipping of Maps
//		if (aSkipState == false) {
// TKC - 7/9/2010 - added UseCode check for AVM buttons - 101, 102, 104, 105 and 117
		var ucavmokaytoshow = false;
		var ucvar = self.clientf.fAry[i].use;
		if ((ucvar == '101') || (ucvar == '102') || (ucvar == '104') || (ucvar == '105') || (ucvar == '107')) {
			ucavmokaytoshow = true;
		}
		dDoc.writeln("<!-- " + ucvar + " | " + ucavmokaytoshow + " | " + aHState + " | " + self.clientf.fAry[i].inactvfl + " | " + self.clientf.fAry[i].complevl + " -->\n");
		if ((aHState != 'ME') && (ucavmokaytoshow == true)) {
			if (va_flag == gAVFlagNone) {
				dDoc.writeln(avmButton(i, aHUnitnum_avm, aHNum, aHSt, aHCity, aHState, aHZip));
			}
		}
//		}
		// Field Card Button - only in MA and the following list of towns
//		if ((self.clientf.fAry[i].pstate !="ME")&&(self.clientf.fAry[i].pstate != "NH")){
		if (aSkipState == false) {
			if ((self.clientf.fAry[i].pstate == "MA") && (self.clientf.fAry[i].fieldcardflag == "Y")) {
				dDoc.writeln(fieldcardButton(clientf.fAry[i].pid, clientf.fAry[i].towncode));
			}
		}
		
		var parcelMap;

		if (clientf.fAry[i].pstate == "MA" && clientf.ccode == "02") {
			switch (clientf.fAry[i].pcity.toLowerCase()) {
			case "melrose":
				dDoc.writeln(melroseMapButton(i) +"&nbsp;");
				parcelMap = 1;
				break;
			case "newton":
				if (self.clientf.fAry[i].mapref.length > 1) {
					var parcelmap = self.clientf.fAry[i].mapref;
					// MapRef for NEWTON is in format M:<val> B:<val> L:<val>
					var pDelim = /\s{1,}/g;
					var parcelAry = parcelmap.split(pDelim);
					var parcelRef = new Array();
					for (var pAi = 0; pAi < parcelAry.length; pAi++) {
						var pTmp = parcelAry[pAi].split(":");
						parcelRef[pAi] = pTmp[1];
					}
					// Format for Newton Assessors Map is: InteractiveMap.asp?id=<MM><BB>+<LLLL>&mid=<MM><BB>+<LLLL>
					dDoc.writeln(newtonMapButton(parcelRef));
					//dDoc.writeln("<a href=\"/link_click/link_catch.asp?usernumber=" + self.clientf.usernumber + "&dest_url=" + escape("http://www.ci.newton.ma.us/assessors2003/InteractiveMap.asp?id=" + parcelRef[0] + parcelRef[1] + "+" + parcelRef[2] + "&mid=" + parcelRef[0] + parcelRef[1] + "+" + parcelRef[2]) + "\" target=\"map_win\"><img src=\"img/parcel_map.gif\" border=\"0\" valign=\"middle\"></a>")
				}
				parcelMap = 1;
				break;
			}
		}

	}// end nonav

}

// 3-Line Display
function tPane(start,send,sid,skip) {

	dDoc.writeln("<table bgcolor=#ffffff width=490><tr><td></td></tr></table>");
	dDoc.writeln("<table cellspacing=\"0\" cellpadding=\"0\" bgcolor=#efefef border=0><tr><td>");
	dDoc.writeln("<table bgcolor=#ffffff width=490 align=left border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>");
	dDoc.writeln("<td bgcolor=#ddeeff>");
	for (var i = start; i < send; i++) {

		if (!sid || self.clientf.fAry[i].pid != sid || !skip) {
		
			dDoc.writeln("<table cellpadding=0 cellspacing=0 border=1 bgcolor=#ffffff width=\"490\">");
			dDoc.writeln("<tr>");
			dDoc.write("	<td	nowrap colspan=\"6\"");
			
			recordButtons(sid, i);
			
			dDoc.writeln("</td>");
			dDoc.writeln("</tr>");
		
			var prop1 = outStreet(self.clientf.fAry[i].pstnum,self.clientf.fAry[i].pstext,self.clientf.fAry[i].pst,self.clientf.fAry[i].punit);
		
			dDoc.writeln("<tr>");
			dDoc.writeln("	<td width=\"16%\"><span class=smblueb>&nbsp;Address: </span></td>");
			
			//dDoc.writeln("	<td width=\"17%\"><a class=\"reglinkb\" href=\"\" onClick=\"parent.clientf.viewFull("+i+");return false\">"+prop1+", "+self.clientf.fAry[i].pcity+"</a></td>");
			//KEB 27 June 2005 added state and zip for multiline.  This is shown in both 1 line and full.
			dDoc.writeln("	<td width=\"17%\"><a class=\"reglinkb\" href=\"\" onClick=\"parent.clientf.viewFull("+i+");return false\">"+prop1+", "+self.clientf.fAry[i].pcity+", "+self.clientf.fAry[i].pstate+" "+self.clientf.fAry[i].pzip+"</a></td>");
			dDoc.writeln("	<td width=\"17%\"><span class=smblueb>&nbsp;Style:</span></td>");
			dDoc.writeln("	<td width=\"17%\"><span class=\"smblue\">"+noNull(self.clientf.fAry[i].styledescript," ")+"&nbsp;</span></td>");
			dDoc.writeln("	<td width=\"17%\"><span class=smblueb>&nbsp;Last Sale Price:</span></td>");
			dDoc.writeln("	<td width=\"16%\"><span class=\"smblue\">" + formatMoney(commaIn(noZero(self.clientf.fAry[i].lstslpr," ")))+"&nbsp;</span></td>");
			dDoc.writeln("</tr><tr>");
			dDoc.writeln("	<td><span class=smblueb>&nbsp;Owner 1<br>&nbsp;Owner 2:</span></td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+noEqual(self.clientf.fAry[i].owner1,"<br>")+" <br> "+noEqual(self.clientf.fAry[i].owner2,"<br>")+"</span></td>");
			dDoc.writeln("	<td><span class=smblueb>&nbsp;Fiscal Year:</span></td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+noZero(self.clientf.fAry[i].fy,"")+"&nbsp;</span></td>");
			dDoc.writeln("	<td><span class=smblueb>&nbsp;Last Mortgage<br>&nbsp;Amount:</span></td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+formatMoney(commaIn(noZero(self.clientf.fAry[i].lstmtg," ")))+"&nbsp;</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("	<td><span class=smblueb>&nbsp;Total <br>&nbsp;Assessment:</span></td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+formatMoney(commaIn(noZero(self.clientf.fAry[i].assdvaltot,"")))+"&nbsp;</span></td>");
			dDoc.writeln("	<td valign=center><span class=smblueb>&nbsp;Living Area:</span></td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+commaIn(noZero(self.clientf.fAry[i].livarea,""))+"&nbsp;</span></td>");
			dDoc.writeln("	<td valign=center><span class=smblueb>&nbsp;Bedrooms:</span></td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+noZero(self.clientf.fAry[i].bedrooms," ")+"&nbsp;</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("	<td><span class=smblueb>&nbsp;Use:</span></td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+formatUseCode(self.clientf.fAry[i].usecode,self.clientf.fAry[i].usedescript)+"&nbsp;</span></td>");
			dDoc.writeln("	<td><span class=smblueb>&nbsp;Last Sale Date:</span></td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+noNull(self.clientf.fAry[i].lstsldate," ")+"&nbsp;</span></td>");
			dDoc.writeln("	<td><span class=smblueb>&nbsp;Book/Page:</span></td>");
			dDoc.writeln(" <td>");
	
			// Book/Page from Last Sale
			/* <TT item 2890 - PDW 11/25/2003
			var bp = this.clientf.fAry[i].sAry.length; */
			var bp = (""+ this.clientf.fAry[i].lstbook).concat(""+ this.clientf.fAry[i].lstpage).replace(/undefined|^00$/g, "").length;
			// TT item 2890>
	
			if (bp > 0) {
				// Changed sales info indice from bp-1 to 0, which is the latest sales indice...
				/* <TT item 2890 - PDW 10/08/2003
				dDoc.writeln(<span class=\"smblue\">formatBP(noZero(this.clientf.fAry[i].sAry[0].book," "),noZero(this.clientf.fAry[i].sAry[0].page," ")) + "</span></td>");
				*/
				
					//*****************************************
					//tt3249 KEB 27 June 2005
					//Bristol= 10
					//Essex = 06
					//Middlesex =21,22,02
					//Hampshire=11
					//Suffolk=04
					//Worcester=05
					//Franklin=12 new 26 Aug 2005
					//Dukes=13 new 26 Aug 2005
					//Berkshire=09 new 26 Aug 2005
					//Nantucket=14 new 26 Aug 2005
					/*if ((self.clientf.fAry[i].ccode =="10")||(self.clientf.fAry[i].ccode=="06")||(self.clientf.fAry[i].ccode=="21")||(self.clientf.fAry[i].ccode=="22")||(self.clientf.fAry[i].ccode=="02")||(self.clientf.fAry[i].ccode=="11")||(self.clientf.fAry[i].ccode=="04")||(self.clientf.fAry[i].ccode =="05")) */
						if ((self.clientf.fAry[i].ccode =="10")||(self.clientf.fAry[i].ccode=="06")||(self.clientf.fAry[i].ccode=="21")||(self.clientf.fAry[i].ccode=="22")||(self.clientf.fAry[i].ccode=="02")||(self.clientf.fAry[i].ccode=="11")||(self.clientf.fAry[i].ccode=="04")||(self.clientf.fAry[i].ccode =="05")||(self.clientf.fAry[i].ccode =="12")||(self.clientf.fAry[i].ccode =="13")||(self.clientf.fAry[i].ccode =="09")||(self.clientf.fAry[i].ccode =="14")) {
				dDoc.writeln("<a class=\"highlight\" href=\"/AOS/dtAOSPrep.asp?usernumber=" + self.clientf.usernumber + "&state=" + self.clientf.fAry[i].pstate + "&town=" + self.clientf.fAry[i].pcity + "&book=" + noZero(self.clientf.fAry[i].lstbook, " ") + "&page=" + noZero(self.clientf.fAry[i].lstpage, " ") + "\" target=\"bp_win\">" + formatBP(noZero(this.clientf.fAry[i].lstbook," "),noZero(this.clientf.fAry[i].lstpage," ")) + "</a></td></tr>");
				}
				else{
					dDoc.writeln("<span class=smblue>"+formatBP(noZero(this.clientf.fAry[i].lstbook," "),noZero(this.clientf.fAry[i].lstpage," ")) + "</span></td></tr>");
				}
				//***********************************************
				// TT item 2890>
				
			}
			
			else {

				dDoc.writeln("&nbsp;</td></tr>");
			}

			dDoc.writeln("<tr><td width=\"10%\"><span class=smblueb>&nbsp;Lot Size:</span> </td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+formatLsunits(commaInF(noZero(self.clientf.fAry[i].lotsize," ")),noNull(self.clientf.fAry[i].lsunits," "))+"&nbsp;</span></td>");
			dDoc.writeln("	<td><span class=smblueb>&nbsp;Last Mortgage<br>&nbsp;Date:</span></td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+noNull(self.clientf.fAry[i].lstmtgdate," ")+"&nbsp;</span></td>");
			dDoc.writeln("	<td width=\"10%\"><span class=smblueb>&nbsp;Parking Type:</span></td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+noNull(self.clientf.fAry[i].parktype,"<br>")+"</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"10%\"><span class=smblueb>&nbsp;Year Built:</span> </td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+noNull(self.clientf.fAry[i].yearbuilt,"<br>")+"</span></td>");
			dDoc.writeln("	<td width=\"10%\"><span class=smblueb>&nbsp;Total Rooms:</span> </td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+noZero(self.clientf.fAry[i].totrooms," ")+"&nbsp;</span></td>");
			dDoc.writeln("	<td width=\"10%\"><span class=smblueb>&nbsp;Bathrooms:</span></td>");
			dDoc.writeln("	<td><span class=\"smblue\">"+noZero(self.clientf.fAry[i].bathrooms," ")+"/"+noZero(self.clientf.fAry[i].halfbath," ")+"</span></td>");
			dDoc.writeln("</tr></table>");
		
		}
	}
	dDoc.writeln("</td></tr></table>");
	dDoc.writeln("</td></tr></table>");
}
// Full Display
function fPane(start,send,sid,skip) {

	dDoc.writeln("<table width=\"500\" bgcolor=\"#ffffff\" border=\"1\">");

	for (var i = start; i < send; i++) {

		if (!sid || self.clientf.fAry[i].pid != sid || !skip) {

			dDoc.writeln("<tr>");
			
			dDoc.write("	<td	nowrap colspan=\"6\"");

			recordButtons(sid, i);
			
			dDoc.writeln("	</td>");
			dDoc.writeln("</tr>");
			dDoc.writeln("<tr bgcolor=" + self.clientf.bgcolorHeader + ">");
			dDoc.writeln("<td align=\"left\"><span class=\"smblackb\">Owner Information</span>");
			dDoc.writeln("</td>");
			dDoc.writeln("</tr>");
			dDoc.writeln("<tr valign=\"top\"><td><table cellpadding=0 cellspacing=0 border=0 width=\"100%\">");
			dDoc.writeln("<tr><td width=\"25%\"><span class=\"medblueb\">Owner 1: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noEqual(self.clientf.fAry[i].owner1,"&nbsp;")+"</span></td><td colspan=2><br></td></tr>");
			dDoc.writeln("<tr><td width=\"25%\"><span class=\"medblueb\">Owner 2: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noEqual(self.clientf.fAry[i].owner2,"&nbsp;")+"</span></td><td colspan=2><br></td></tr>");
			var prop1 = outStreet(self.clientf.fAry[i].pstnum,self.clientf.fAry[i].pstext,self.clientf.fAry[i].pst,self.clientf.fAry[i].punit);
			dDoc.writeln("<tr valign=top><td width=\"25%\"><span class=\"medblueb\">Situs Address: </span></td><td width=\"25%\"><span class=\"medblue\"> "+prop1+"</span></td>");
			var prop2 = outCSZ(self.clientf.fAry[i].pcity,self.clientf.fAry[i].pstate,self.clientf.fAry[i].pzip,self.clientf.fAry[i].pplus4);
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">City/State/Zip:</span></td><td width=\"25%\"><span class=\"medblue\"> "+prop2+"</span></td></tr>");
			dDoc.writeln("<tr valign=top><td width=\"25%\"><span class=\"medblueb\">Census Tract: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].cnsstract,"<br>")+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Zoning: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].zoning,"<br>")+"</span></td></tr>");
			dDoc.writeln("<tr><td width=\"25%\"><span class=\"medblueb\">Telephone: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].pphone,"<br>")+"</span></td></tr>");
			var prop3 = outStreet(self.clientf.fAry[i].ostnum,self.clientf.fAry[i].ostext,self.clientf.fAry[i].ost,self.clientf.fAry[i].ounit);
			dDoc.writeln("<tr valign=top><td width=\"25%\"><span class=\"medblueb\">Owner Address: </span></td><td width=\"25%\"><span class=\"medblue\"> "+prop3+"</span></td>");
			var prop4 = outCSZ(self.clientf.fAry[i].ocity,self.clientf.fAry[i].ostate,self.clientf.fAry[i].ozip," ");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">City/State/Zip: </span></td><td width=\"25%\"><span class=\"medblue\"> "+prop4+"</span></td></tr>");
			dDoc.writeln("</table></td></tr>");

			// Added - 1/15/2009 TKC - Distressed Flag
			if (self.clientf.fAry[i].dpstatus.length > 1) { 
				dDoc.writeln("<tr valign=\"top\">");
				dDoc.writeln("<td align=\"left\" bgcolor=" + self.clientf.bgcolorHeader + "><span class=\"smblackb\">Distressed Information</span>");
				dDoc.writeln("</td></tr>");
				dDoc.writeln("<tr valign=\"top\">");
				dDoc.writeln("<td>");
				dDoc.writeln("<table cellpadding=0 cellspacing=0 border=0 width=\"100%\">");
				dDoc.writeln("<tr valign=top>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Status: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].dpstatdes," ")+"&nbsp;</span></td>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Last Update: </span></td><td width=\"25%\"><span class=\"medblue\">"+noNull(self.clientf.fAry[i].dpstatdate," ")+"&nbsp;</span></td>");
				dDoc.writeln("</tr>");
				dDoc.writeln("</table></td></tr>");
			}
			// End of addition of Distressed Flag
			
			dDoc.writeln("<tr valign=\"top\">");
			dDoc.writeln("<td align=\"left\" bgcolor=" + self.clientf.bgcolorHeader + "><span class=\"smblackb\">Property Information</span>");
			dDoc.writeln("</td></tr>");
			dDoc.writeln("<tr valign=\"top\">");
			dDoc.writeln("<td>");
			dDoc.writeln("<table cellpadding=0 cellspacing=0 border=0 width=\"100%\">");
			dDoc.writeln("<tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Property Use: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatUseCode(self.clientf.fAry[i].usecode,self.clientf.fAry[i].usedescript)+"&nbsp;</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Building Style: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].styledescript," ")+"&nbsp;</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Lot Size: </span></td><td width=\"25%\"><span class=\"medblue\">"+formatLsunits(commaInF(noZero(self.clientf.fAry[i].lotsize," ")),noNull(self.clientf.fAry[i].lsunits," "))+"&nbsp;</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Year Built: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].yearbuilt,"<br>") + "</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Gross Building Area: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatLsunits(commaIn(noZero(self.clientf.fAry[i].grbldgarea," ")),"s")+" </span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Total Rooms: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(self.clientf.fAry[i].totrooms,"<br>")+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Living Area: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatLsunits(commaIn(noZero(self.clientf.fAry[i].livarea," ")),"s")+"</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Bedrooms: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(self.clientf.fAry[i].bedrooms,"<br>")+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Living Area Type: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(self.clientf.fAry[i].livareades,"<br>")+"</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Full Baths: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(self.clientf.fAry[i].bathrooms,"<br>")+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">First Floor Area: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatLsunits(commaIn(noZero(self.clientf.fAry[i].ffloorarea," ")),"s")+"</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Half-Baths: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(self.clientf.fAry[i].halfbath,"<br>")+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Attic Area: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatLsunits(commaIn(noZero(self.clientf.fAry[i].atticarea," ")),"s")+"</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Basement Type: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].basmnttd15,"<br>")+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Finished Basement: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatLsunits(commaIn(noZero(self.clientf.fAry[i].basmfnarea," ")),"s")+"</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Roof Type: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].rooftype,"<br>")+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Unfinished Basement: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatLsunits(commaIn(noZero(self.clientf.fAry[i].basmufarea," ")),"s")+"</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Roof Material: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].roofmat,"<br>")+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Total Basement Area: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatLsunits(commaIn(noZero(self.clientf.fAry[i].basmntarea," ")),"s")+"</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Heat Type: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].heattype,"<br>")+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Number of Floors: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(self.clientf.fAry[i].numfloors,"<br>")+"</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Fuel Type: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].fueltype,"<br>")+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Fireplaces: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(self.clientf.fAry[i].numfirepl,"<br>")+"</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Exterior Cover: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].extcover,"<br>")+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Amenities: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].amenities,"<br>")+"</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Parking Type: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].parktype,"<br>")+" </span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Number of Cars: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(self.clientf.fAry[i].numparksp,"<br>")+"</span></td>");
			dDoc.writeln("</tr><tr valign=top>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Renovation Year: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].renoyear,"<br>")+" </span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Conditions: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(self.clientf.fAry[i].conditid15,"<br>")+"</span></td>");
//			dDoc.writeln("</tr><tr valign=top>");
//			dDoc.writeln("<td colspan=4><br></td>");
			dDoc.writeln("</tr></table>");
			dDoc.writeln("</td></tr>");

			dDoc.writeln("<tr valign=\"top\">");
			dDoc.writeln("<td align=\"left\" bgcolor=" + self.clientf.bgcolorHeader + "><span class=\"smblackb\">Assessment Information</span>");
			dDoc.writeln("</td></tr>");
			dDoc.writeln("<tr valign=\"top\">");
			dDoc.writeln("<td>");
			dDoc.writeln("<table cellpadding=0 cellspacing=0 border=0 width=\"100%\">");
			dDoc.writeln("<tr>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Total Value: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatMoney(commaIn(noZero(self.clientf.fAry[i].assdvaltot," ")))+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Fiscal Year: </span></td><td width=\"25%\"><span class=\"medblue\">  "+noNull(self.clientf.fAry[i].fy,"<br>")+"</span></td>");
			dDoc.writeln("</tr><tr>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Building: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatMoney(commaIn(noZero(self.clientf.fAry[i].assdvalbld," ")))+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Estimated Tax: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatMoney(commaIn(noZero(self.clientf.fAry[i].taxamt," ")))+"</span></td>");
			dDoc.writeln("</tr><tr>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Land: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatMoney(commaIn(noZero(self.clientf.fAry[i].assdvallnd," ")))+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Last Sale Date: </span></td><td width=\"25%\"><span class=\"medblue\">"+noNull(self.clientf.fAry[i].lstsldate," ")+"</span></td>");
			dDoc.writeln("</tr><tr>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Map Reference: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(self.clientf.fAry[i].mapref,"<br>")+"</span></td>");
			dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Last Sale Price: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatMoney(commaIn(noZero(self.clientf.fAry[i].lstslpr," ")))+"</span></td>");
			dDoc.writeln("</tr><tr>");

			/* Changed as part of TT defect 1318 change for 2890 in 3-line display
			var lstBK = noZero(self.clientf.fAry[i].lstbook," ");
			var lstPG = noZero(self.clientf.fAry[i].lstpage," ");
			if ((lstBK != " ") && (lstPG != " ")) {
			*/
			// TT defect 1318 12/23/2003 - PDW
			
			
				//dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">CCODE: </span></td><td width=\"25%\"><span class=\"medblue\">"+self.clientf.fAry[i].ccode+"</span></td>") ;
				//dDoc.writeln("</tr><tr>");
			
			var bp = (""+ this.clientf.fAry[i].lstbook).concat(""+ this.clientf.fAry[i].lstpage).replace(/undefined|^00$/g, "").length;if (bp > 0) {
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Last Book/Page: </span></td><td width=\"25%\"><span class=\"medblue\">");
			//*****************************************
			//tt3249 KEB 27 June 2005
			// Bristol= 10
			// Essex = 06
			//Middlesex =21,22,02
			//Hampshire=11
			//Suffolk=04
			//Worcester=05
			//Franklin=12 new 26 Aug 2005
			//Dukes=13 new 26 Aug 2005
			//Berkshire=09 new 26 Aug 2005
			//Nantucket=14 new 26 Aug 2005
			/*if ((self.clientf.fAry[i].ccode =="10")||(self.clientf.fAry[i].ccode=="06")||(self.clientf.fAry[i].ccode=="21")||(self.clientf.fAry[i].ccode=="22")||(self.clientf.fAry[i].ccode=="02")||(self.clientf.fAry[i].ccode=="11")||(self.clientf.fAry[i].ccode=="04")||(self.clientf.fAry[i].ccode =="05"))*/
				if ((self.clientf.fAry[i].ccode =="10")||(self.clientf.fAry[i].ccode=="06")||(self.clientf.fAry[i].ccode=="21")||(self.clientf.fAry[i].ccode=="22")||(self.clientf.fAry[i].ccode=="02")||(self.clientf.fAry[i].ccode=="11")||(self.clientf.fAry[i].ccode=="04")||(self.clientf.fAry[i].ccode =="05")||(self.clientf.fAry[i].ccode =="12")||(self.clientf.fAry[i].ccode =="13")||(self.clientf.fAry[i].ccode =="09")||(self.clientf.fAry[i].ccode =="14")) {
				dDoc.writeln("<a href=\"/AOS/dtAOSPrep.asp?usernumber=" + self.clientf.usernumber + "&state=" + self.clientf.fAry[i].pstate + "&town=" + self.clientf.fAry[i].pcity + "&book=" + this.clientf.fAry[i].lstbook + "&page=" + this.clientf.fAry[i].lstpage + "\" target=\"bp_win\">" + formatBP(this.clientf.fAry[i].lstbook,this.clientf.fAry[i].lstpage) + "</a><br>");
				}
				else{
					dDoc.writeln("<span class=smblue>" + formatBP(this.clientf.fAry[i].lstbook,this.clientf.fAry[i].lstpage) + "</span><br>");
				}
				//***************************************
			}
			else if (this.clientf.fAry[i].lstdocref.length > 0) {
				if (this.clientf.fAry[i].lstddtype == "LC")
					dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Last LCCert#: </span></td><td width=\"25%\"><span class=\"medblue\">");
				else
					dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Last DocketRef: </span></td><td width=\"25%\"><span class=\"medblue\">");
				dDoc.writeln(this.clientf.fAry[i].lstdocref +"<br>");
			}
			else
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Last Book/Page: </span></td><td width=\"25%\"><span class=\"medblue\">");
			// TT defect 1318
			dDoc.writeln("</span></td>");
			dDoc.writeln("<td width=\"50%\" colspan=2>&nbsp;</td>");

			dDoc.writeln("</tr></table>");
			dDoc.writeln("</td></tr>");
			
			// Sales History Starts Here...
			dDoc.writeln("<tr>");
			var rsp = this.clientf.fAry[i].sAry.length + 1;
			dDoc.write("<td align=\"left\" bgcolor=" + self.clientf.bgcolorHeader + "><span class=\"smblackb\">");
			if (this.clientf.fAry[i].sAry.length > 0) {
				dDoc.writeln("Sales History");
			} else {
				dDoc.writeln("No Sales History Available");
			}
			dDoc.writeln("</span></td></tr>");
			for (var j=0;j<this.clientf.fAry[i].sAry.length;j++) {
				dDoc.writeln("<tr valign=top>");
				var snum = j+1;
				dDoc.writeln("<td align=left>");
				dDoc.writeln("<table cellpadding=0 cellspacing=0 border=0 width=\"100%\">");
				dDoc.writeln("<tr>");
				if (snum == 1) {
					dDoc.writeln("<td colspan=4><u><span class=\"medblueb\">Most Recent Sales</span></u>");
				} else {
					dDoc.writeln("<td colspan=4><u><span class=\"medblueb\">Sales "+snum+"</span></u>");
				}
				// Added the checking for SaleType='N' + Price=1 == Nominal Sales
				if ((this.clientf.fAry[i].sAry[j].saletype.toUpperCase() == "N") && (this.clientf.fAry[i].sAry[j].price == "1")) {
					dDoc.writeln(" <span class=\"pr_red\">[Nominal Sale]</span>");
				}
				dDoc.writeln("</td>");
				dDoc.writeln("</tr><tr>");
			
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Sale Price: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatMoney(commaIn(noZero(this.clientf.fAry[i].sAry[j].price," ")))+"</span>");
				dDoc.writeln("</td>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Sale Date: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(this.clientf.fAry[i].sAry[j].date,"<br>")+"</span></td>");
				dDoc.writeln("</tr><tr>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Buyer 1: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noEqual(this.clientf.fAry[i].sAry[j].buyer1,"<br>")+"</span></td>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Seller 1: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noEqual(this.clientf.fAry[i].sAry[j].seller1,"<br>")+"</span></td>");
				dDoc.writeln("</tr><tr>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Buyer 2: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noEqual(this.clientf.fAry[i].sAry[j].buyer2,"<br>")+"</span></td>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Seller 2: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noEqual(this.clientf.fAry[i].sAry[j].seller2,"<br>")+"</span></td>");
				dDoc.writeln("</tr><tr>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Lender Name: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(this.clientf.fAry[i].sAry[j].lender,"<br>")+"</span></td>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Mortgage Amount: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatMoney(commaIn(noZero(this.clientf.fAry[i].sAry[j].mortgage," ")))+"</span></td>");
				dDoc.writeln("</tr><tr>");
	
				// Deed starts here...
				// CCode table:
				// 02 = Middlesex
				// 04 = Suffolk
				// 06 = Essex
	
				/* Changed as part of TT defect 1318 change for 2890 in 3-line display
				var sBK = noZero(this.clientf.fAry[i].sAry[j].book," ");
				var sPG = noZero(this.clientf.fAry[i].sAry[j].page," ");
				if ((sBK != " ") && (sPG != " ")) {
				*/
				// TT defect 1318 12/23/2003 - PDW
				var bp = (""+ this.clientf.fAry[i].sAry[j].book).concat(""+ this.clientf.fAry[i].sAry[j].page).replace(/undefined|^00$/g, "").length;
				if (bp > 0) {
					dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Book/Page: </span></td><td width=\"25%\">");
					dDoc.writeln("<span class=\"medblue\">");
					//*****************************************
					//tt3249 KEB 27 June 2005
					// Bristol= 10
					// Essex = 06
					//Middlesex =21,22,02
					//Hampshire=11
					//Suffolk=04
					//Worcester=05
					//Franklin=12 new 26 Aug 2005
					//Dukes=13 new 26 Aug 2005
					//Berkshire=09 new 26 Aug 2005
					//Nantucket=14 new 26 Aug 2005
					/*if ((self.clientf.fAry[i].ccode =="10")||(self.clientf.fAry[i].ccode=="06")||(self.clientf.fAry[i].ccode=="21")||(self.clientf.fAry[i].ccode=="22")||(self.clientf.fAry[i].ccode=="02")||(self.clientf.fAry[i].ccode=="11")||(self.clientf.fAry[i].ccode=="04")||(self.clientf.fAry[i].ccode =="05"))*/
					if ((self.clientf.fAry[i].ccode =="10")||(self.clientf.fAry[i].ccode=="06")||(self.clientf.fAry[i].ccode=="21")||(self.clientf.fAry[i].ccode=="22")||(self.clientf.fAry[i].ccode=="02")||(self.clientf.fAry[i].ccode=="11")||(self.clientf.fAry[i].ccode=="04")||(self.clientf.fAry[i].ccode =="05")||(self.clientf.fAry[i].ccode =="12")||(self.clientf.fAry[i].ccode =="13")||(self.clientf.fAry[i].ccode =="09")||(self.clientf.fAry[i].ccode =="14")) {
					dDoc.writeln("<a href=\"/AOS/dtAOSPrep.asp?usernumber=" + self.clientf.usernumber + "&state=" + self.clientf.fAry[i].pstate + "&town=" + self.clientf.fAry[i].pcity + "&book=" + this.clientf.fAry[i].sAry[j].book + "&page=" + this.clientf.fAry[i].sAry[j].page + "\" target=\"bp_win\">" + formatBP(this.clientf.fAry[i].sAry[j].book,this.clientf.fAry[i].sAry[j].page) + "</a><br>");
					}
					else{
						dDoc.writeln("<span class=smblue>"+formatBP(this.clientf.fAry[i].sAry[j].book,this.clientf.fAry[i].sAry[j].page) + "</span><br>");
					}
					//******************************************
				}
				else if (this.clientf.fAry[i].sAry[j].docketref.length > 0) {
					if (this.clientf.fAry[i].sAry[j].deedtype == "LC")
						dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">LCCert#: </span></td><td width=\"25%\">");
					else
						dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">DocketRef#: </span></td><td width=\"25%\">");
					dDoc.writeln("<span class=\"medblue\">");
					dDoc.writeln(this.clientf.fAry[i].sAry[j].docketref + "<br>");
				}
				// TT defect 1318
				dDoc.writeln("</span>");
				dDoc.writeln("</td>");
				// End of Deeds

				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Deed Type: </span></td><td width=\"25%\"><span class=\"medblue\"> " + noNull(this.clientf.fAry[i].sAry[j].deedtype,"<br>")+"</span></td>");
				dDoc.writeln("</tr><tr>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Mortgage Term: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(this.clientf.fAry[i].sAry[j].term,"<br>")+"</span></td>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Mortgage Rate: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(this.clientf.fAry[i].sAry[j].interest,"<br>")+"</span></td>");
				dDoc.writeln("</tr>");
				dDoc.writeln("</table>");
				dDoc.writeln("</td></tr>");
				// Add in a separator
			}

			// Mortgage History Starts Here...
			dDoc.writeln("<tr>");
			var rsp = this.clientf.fAry[i].mAry.length + 1;
			dDoc.write("<td align=\"left\" bgcolor=" + self.clientf.bgcolorHeader + "><span class=\"smblackb\">");
			if (this.clientf.fAry[i].mAry.length > 0) {
				dDoc.writeln("Mortgage History");
			} else {
				dDoc.writeln("No Mortgage History Available");
			}
			dDoc.writeln("</span></td></tr>");
			for (var j=0;j<this.clientf.fAry[i].mAry.length;j++) {
				dDoc.writeln("<tr valign=top>");
				var snum = j+1;
				dDoc.writeln("<td align=left>");
				dDoc.writeln("<table cellpadding=0 cellspacing=0 border=0 width=\"100%\">");
				dDoc.writeln("<tr>");
				if (snum == 1) {
					dDoc.writeln("<td colspan=4><u><span class=\"medblueb\">Most Recent Mortgage</span></u></td>");
				} else {
					dDoc.writeln("<td colspan=4><u><span class=\"medblueb\">Mortgage "+snum+"</span></u></td>");
				}
				dDoc.writeln("</tr><tr>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Mortgagor 1: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noEqual(this.clientf.fAry[i].mAry[j].buyer1,"<br>")+"</span></td>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Mortgagor 2: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noEqual(this.clientf.fAry[i].mAry[j].buyer2,"<br>")+"</span></td>");
				dDoc.writeln("</tr><tr>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Mortgage Amount: </span></td><td width=\"25%\"><span class=\"medblue\"> "+formatMoney(commaIn(noZero(this.clientf.fAry[i].mAry[j].mortgage," ")))+"</span></td>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Mortgage Date: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(this.clientf.fAry[i].mAry[j].date,"<br>")+"</span></td>");
				dDoc.writeln("</tr><tr>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Mortgagee Name: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noNull(this.clientf.fAry[i].mAry[j].lender,"<br>")+"</span></td>");
				dDoc.writeln("<td width=\"25%\" colspan=2><span class=\"medblueb\">&nbsp;</span></td>");
				dDoc.writeln("</tr><tr>");

				// Deed starts here...
				// Suffolk Deed calls...
				// CCode table:
				// 04 = Suffolk
				// 06 = Essex
				/* Changed as part of TT defect 1318 change for 2890 in 3-line display
				var sBK = noZero(this.clientf.fAry[i].mAry[j].book," ");
				var sPG = noZero(this.clientf.fAry[i].mAry[j].page," ");
				if ((sBK != " ") && (sPG != " ")) {
				*/
				// TT defect 1318 12/23/2003 - PDW
				var bp = (""+ this.clientf.fAry[i].mAry[j].book).concat(""+ this.clientf.fAry[i].mAry[j].page).replace(/undefined|^00$/g, "").length;
				if (bp > 0) {
					dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Book/Page: </span></td><td width=\"25%\">");
					dDoc.writeln("<span class=\"medblue\">");
					//*****************************************
					//tt3249 KEB 27 June 2005
					// Bristol= 10
					// Essex = 06
					//Middlesex =21,22,02
					//Hampshire=11
					//Suffolk=04
					//Worcester=05
					//Franklin=12 new 26 Aug 2005
					//Dukes=13 new 26 Aug 2005
					//Berkshire=09 new 26 Aug 2005
					//Nantucket=14 new 26 Aug 2005
					/*if ((self.clientf.fAry[i].ccode =="10")||(self.clientf.fAry[i].ccode=="06")||(self.clientf.fAry[i].ccode=="21")||(self.clientf.fAry[i].ccode=="22")||(self.clientf.fAry[i].ccode=="02")||(self.clientf.fAry[i].ccode=="11")||(self.clientf.fAry[i].ccode=="04")||(self.clientf.fAry[i].ccode =="05"))*/ 
					if ((self.clientf.fAry[i].ccode =="10")||(self.clientf.fAry[i].ccode=="06")||(self.clientf.fAry[i].ccode=="21")||(self.clientf.fAry[i].ccode=="22")||(self.clientf.fAry[i].ccode=="02")||(self.clientf.fAry[i].ccode=="11")||(self.clientf.fAry[i].ccode=="04")||(self.clientf.fAry[i].ccode =="05")||(self.clientf.fAry[i].ccode =="12")||(self.clientf.fAry[i].ccode =="13")||(self.clientf.fAry[i].ccode =="09")||(self.clientf.fAry[i].ccode =="14")){
					dDoc.writeln("<a href=\"/AOS/dtAOSPrep.asp?usernumber=" + self.clientf.usernumber + "&state=" + self.clientf.fAry[i].pstate + "&town=" + self.clientf.fAry[i].pcity + "&book=" + this.clientf.fAry[i].mAry[j].book + "&page=" + this.clientf.fAry[i].mAry[j].page + "\" target=\"bp_win\">" + formatBP(this.clientf.fAry[i].mAry[j].book,this.clientf.fAry[i].mAry[j].page) + "</a><br>");
					}
					else{
						dDoc.writeln("<span class=smblue>"+formatBP(this.clientf.fAry[i].mAry[j].book,this.clientf.fAry[i].mAry[j].page) + "</span><br>");
					}
					//******************************************
				}
				else if (this.clientf.fAry[i].mAry[j].docketref.length > 0) {
					if (this.clientf.fAry[i].mAry[j].deedtype == "LC")
						dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">LCCert#: </span></td><td width=\"25%\">");
					else
						dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">DocketRef#: </span></td><td width=\"25%\">");
					dDoc.writeln("<span class=\"medblue\">");
					dDoc.writeln(this.clientf.fAry[i].mAry[j].docketref + "<br>");
				}
				// TT defect 1318
				dDoc.writeln("</span>");
				dDoc.writeln("</td>");
				// End of Deeds
	
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Deed Type: </span></td><td width=\"25%\"><span class=\"medblue\"> " + noNull(this.clientf.fAry[i].mAry[j].deedtype,"<br>")+"</span></td>");
				dDoc.writeln("</tr><tr>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Mortgage Term: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(this.clientf.fAry[i].mAry[j].term,"<br>")+"</span></td>");
				dDoc.writeln("<td width=\"25%\"><span class=\"medblueb\">Mortgage Rate: </span></td><td width=\"25%\"><span class=\"medblue\"> "+noZero(this.clientf.fAry[i].mAry[j].interest,"<br>")+"</span></td>");
				dDoc.writeln("</tr>");
				dDoc.writeln("</table>");
				dDoc.writeln("</td></tr>");
				// Add in a separator
			}
		}	
	}
	dDoc.writeln("</table>");
}

//
function searchTip() {
	self.location.href = "/home/sor/searchtips.html";
}
//
function refine() {
	alert("This will reduce the resultset to only those records that has been selected.");
}
//
function moveNext() {
	// added in for NS compatibility...
	var apopup = window.open('wait.html','wait','height=400,width=600,resizable=1,scrollbars=1,status=1,toolbar=0,location=0,directories=0,menubar=0');
	parent.pwin = apopup;
	
	this.ssearchid = -1; // discard summary record ...
	this.bof = false;
	this.pagenum++;

	var tmp = 0;
	var modnum = 0;
	if (this.outputselection == 3) {
		tmp = this.pagenum + 1;
		modnum = Math.floor(parseInt(this.pagenum) / this.defaultsize);
		if (tmp >= this.rscount) {
			this.eof = true;
		}
	} else {
		tmp = (this.pagenum * this.pagesize) + this.pagesize;
		modnum = this.pagenum;
		if (tmp >= this.rscount) {
			this.eof = true;
		}
	}
	if (tmp > this.fAry.length) {
		// Need to go back to the server and get a new data row
		var st = this.defaultsize * modnum;
		var se = this.defaultsize + st;
		if (se > this.rscount) {
			se = this.rscount;
		}
// Comment out - TKC - 7/8/2003
//		var all = "getmore.asp?sort="+this.sort+"&dir="+this.dir+"&page="+modnum+"&pagesize="+this.defaultsize;	
//		data.location.href = all;
	mDoc = data.document;
	mDoc.close();
	mDoc.open();
	mDoc.writeln("<html>");
	mDoc.writeln("<body>");
	mDoc.writeln("<form name=getmore action=getmore.asp target=data method=post>");
	mDoc.writeln("<input type=\"hidden\" name=\"sort\" value=\"" + this.sortElmArray[this.sort] + "\">");
	mDoc.writeln("<input type=\"hidden\" name=\"dir\" value=\"" + this.dir + "\">");
	mDoc.writeln("<input type=\"hidden\" name=\"page\" value=\"" + modnum + "\">");
	mDoc.writeln("<input type=\"hidden\" name=\"pagesize\" value=\"" + this.defaultsize + "\">");
	mDoc.writeln("<input type=\"hidden\" name=\"totalselections\" value=\"" + this.totalselections + "\">");
	mDoc.writeln("</form>");
	mDoc.writeln("<script>");
	mDoc.writeln("document.forms['getmore'].submit();");
	mDoc.writeln("</script>");
	mDoc.writeln("</body>");
	mDoc.writeln("</html>");
	mDoc.close();
	} else {
		this.showDataset();
	}
}
//
function movePrev() {
	// added in for NS compatibility...
	var apopup = window.open('wait.html','wait','height=400,width=600,resizable=1,scrollbars=1,status=1,toolbar=0,location=0,directories=0,menubar=0');
	parent.pwin = apopup;

	this.eof = false;
	this.pagenum--;
	if (this.pagenum == 0) {
		this.bof = true;
	}
	if (this.pagenum < 0) {
		this.pagenum++;
	}
	this.showDataset();
}
//
function showDisplay() {

	dDoc = display.document;

	dDoc.close();
	dDoc.open();

	// For compatibility and consistency
	if (parent.pwin != null) {
		parent.pwin.close();
		parent.pwin = null;
	}

	prelimClientOutputHeader(this.searchtype);
	
	// Calculate the start and stop page and the record number to display
	var start = self.clientf.pagenum * self.clientf.pagesize;
	var send = (parseInt(self.clientf.pagenum) + 1) * self.clientf.pagesize;
	if (send >= self.clientf.rscount) {
		send = self.clientf.rscount;
		self.clientf.eof = true;
	}
	var os = parseInt(start) + 1;
	var oe = parseInt(send);

	var sortArray = new Array();
			
	for (i = 0; i < this.sortNameArray.length; i++) {
			
		sortArray[i] = new Object();
		sortArray[i].name = this.sortNameArray[i];
		sortArray[i].value = this.sortElmArray[i];
	}
	
	var formTag = "<form style=\"margin:0px\" name=\"bundledreport\" action=\"view_summary.asp\" method=\"post\"><input type=\"hidden\" name=\"propertyid\" value=\""+ this.totalselections.split(",")[this.ssearchid] +"\"><input type=\"hidden\" name=\"searchid\">"

//	clientPanel(1, this.searchtype, this.pagesize, window.parent.aveprice, this.tav, this.fArray, os, oe, this.rscount, this.bof, this.eof, this.viewName, this.outputselection, this.totalselections, sortArray, this.sort, this.dir, this.checkboxsetting, this.reportOptions, this.ssearchid, this.rsearch, this.distressedsearch, this.raddr, this.criteria, formTag)
	clientPanel(1, this.searchtype, this.pagesize, window.parent.aveprice, this.tav, this.fArray, os, oe, this.rscount, this.bof, this.eof, this.viewName, this.outputselection, this.totalselections, sortArray, this.sort, this.dir, this.checkboxsetting, this.ssearchid, this.rsearch, this.distressedsearch, this.raddr, this.criteria, formTag)
	
	dDoc.writeln("<font color=\"red\">*</font><span class=\"medblack\"> indicates that this transaction record was not matched to a property record.</span><br>");
	dDoc.writeln("<font color=\"red\" size=-1><sup>A</sup></font><span class=\"medblack\"> indicates that this property record is archived. It is no longer active, and it no longer exists in the town assessor's tax rolls  . It probably has been replaced by one or more new property records (e.g.: a single 3-family house record could have been replaced by 3 individual condo unit records).</span>");

	prelimClientOutputFooter();
	
	dDoc.close();
			
}

//new function for printing
function PrintPage(){
JavaScript:void(window.print());
}
// Special Single Page Mode Display...
function showDisplay1() {

	dDoc = display.document;
	dDoc.close();
	dDoc.open();

	// For compatibility and consistency
	if (parent.pwin != null) {
		parent.pwin.close();
		parent.pwin = null;
	}

	// Calculate the start and stop page and the record number to display
	var start = self.clientf.pagenum * self.clientf.pagesize;
	var send = (parseInt(self.clientf.pagenum) + 1) * self.clientf.pagesize;

	if (send >= self.clientf.rscount) {
		send = self.clientf.rscount;
		self.clientf.eof = true;
	}

	var os = parseInt(start);
	var oe = parseInt(send);

//KEB 16 May 2005 TT4670
	dDoc.writeln("<html>");
	dDoc.writeln("<head>");
	dDoc.writeln("<link href=\"warrenstyle.css\" type=\"text/css\" rel=\"stylesheet\">");	
	dDoc.writeln("</head>");

	dDoc.writeln("<body>");

	dDoc.writeln("<table cellpadding=0 cellspacing=0 border=0 bgcolor=#ffffff width=640>");
	dDoc.writeln("<tr>");
	dDoc.writeln("	<td valign=top>");
	dDoc.writeln("		<img src='img/banner_sm.jpg' border='0' height='60' width='640'>");
	dDoc.writeln("	</td>");
	dDoc.writeln("</tr>");

	dDoc.writeln("<tr>");
	dDoc.writeln("	<td valign=top>");
	dDoc.writeln("<form name=DisplayInfo>");
	dDoc.writeln("<input type=\"button\" value=\"Print Report\" onClick=\"JavaScript:void(window.print())\">");	
	dDoc.writeln("<input type=\"button\" value=\"Back to Previous Display\" onClick=\"parent.clientf.changeView1("+this.oldview+")\">");
//dDoc.writeln("<input type=\"button\" value=\"Back to Previous Display\" onClick=\"history.go(-1)\">");
//dDoc.writeln("<script><a href=\"JavaScript:history.back()\">Go Back</a></script>");
	if (this.outputselection == 0)
		sPane(os, oe, "nonav", false);
	if (this.outputselection == 1)
		tPane(os, oe, "nonav", false);
	if ((this.outputselection == 2) || (this.outputselection == 3))
		fPane(os, oe, "nonav", false);
	dDoc.writeln("</form>");
	dDoc.writeln("&nbsp;&nbsp;&nbsp;<font color=\"red\">*</font><span class=\"medblack\"> indicates that this transaction record was not matched to a property record.</span><br>");
	dDoc.writeln("&nbsp;&nbsp;&nbsp;<font color=\"red\" size=-1><sup>A</sup></font><span class=\"medblack\"> indicates that this property record is archived. It is no longer active, and it no longer exists in the town assessor's tax rolls  . It probably has been replaced by one or more new property records (e.g.: a single 3-family house record could have been replaced by 3 individual condo unit records).</span>");

	dDoc.writeln("	</td>");
	dDoc.writeln("</tr>");
	dDoc.writeln("</table>");

	var d = new Date();
	dDoc.writeln("<p/><span class=\"medblack\">Copyright 1997-" + d.getFullYear() + " The Warren Group")
	dDoc.writeln("<br/>280 Summer St<br/>Boston, MA 02210-1131<br/>Phone: (617) 428-5100<br/>Fax: (617) 428-5120<br/><a href='http://www.thewarrengroup.com' target='twgwindow'>www.thewarrengroup.com</a>");
	dDoc.writeln("</span>");
	
	dDoc.writeln("</body>");
	dDoc.writeln("</html>");
	dDoc.close();
}

// <TT item 2865 - PDW 09/08/2003
function clientDataErrorLink(state, propertyID) {
	dDoc.writeln("<br>- <a href='' onclick=\"window.open('reportDataError.asp?state="+ state +"&propertyID="+ propertyID +"', 'errorWin'); return false;\">Report Data Error</a>");
}
// TT item 2865>

//TT 2922 10/28/2003 - PDW 
function clientParcelMapLink(state, ccode, propertyID) {
	if (state == "MA" && ccode == "02")
		dDoc.writeln("<br>- <a target=\"parcelWin\" href=\"DownLoadMap.asp?state="+ state +"&propertyID="+ propertyID +"\">Parcel Map</a>");
}
//TT 2922 

function finalToggle(i) {
	if (this.pkeeper[i] == true)
		this.pkeeper[i] = false;
	else
		this.pkeeper[i] = true;
}

//
function finalToggle2(j) {
	if (self.clientf.fAry[j].selection == true)
		self.clientf.fAry[j].selection = false;
	else
		self.clientf.fAry[j].selection = true;
}

//
function setSort(newsort, sdir) {

	var change = false;
	
	if (!newsort)
		newsort = "address";

	var sort;
	
	for (i = 0; i < this.sortElmArray.length; i++) {
		if (this.sortElmArray[i] == newsort)
			sort = i;
	}

	if (this.sort != sort) {
		change = true;
	}
	if (!sdir)
		sdir = "ascending";

	var dir = sdir == "ascending";

	if (this.dir != dir) {
		change = true;
	}

	this.sort = sort;
	this.dir = dir;

	this.pagenum = 0;
	
	// added in for NS compatibility...
	var apopup = window.open('wait.html','wait','height=400,width=600,resizable=1,scrollbars=1,status=1,toolbar=0,location=0,directories=0,menubar=0');
	parent.pwin = apopup;

	if (change == true) {
		var searchpid;
		this.ssearchid = -1; // discard summary record under sorting ...
		if (this.ssearchid >= 0)
			searchpid = this.fAry[this.ssearchid].pid;
		else
			searchpid = -1;
		var dum = new Array();
		this.fAry = dum;
		this.eof = false;
//		Commented out - TKC - 7/8/2003
//		var all = "resort.asp?sort="+this.sort+"&dir="+this.dir+"&page=0&pagesize="+this.defaultsize;
//		data.location.href = all;
		mDoc = data.document;
		mDoc.close();
		mDoc.open();
		mDoc.writeln("<html>");
		mDoc.writeln("<body>");
		mDoc.writeln("<form name=resort action=resort.asp target=data method=post>");
		mDoc.writeln("<input type=\"hidden\" name=\"sort\" value=\"" + newsort + "\">");
		mDoc.writeln("<input type=\"hidden\" name=\"dir\" value=\"" + this.dir + "\">");
		mDoc.writeln("<input type=\"hidden\" name=\"page\" value=\"0\">");
		mDoc.writeln("<input type=\"hidden\" name=\"pagesize\" value=\"" + this.defaultsize + "\">");
		mDoc.writeln("<input type=\"hidden\" name=\"totalselections\" value=\"" + this.totalselections + "\">");
		mDoc.writeln("<input type=\"hidden\" name=\"searchid\" value=\"" + searchpid + "\">");
		mDoc.writeln("</form>");
		mDoc.writeln("<script>");
		mDoc.writeln("document.forms['resort'].submit();");
		mDoc.writeln("</script>");
		mDoc.writeln("</body>");
		mDoc.writeln("</html>");

	} else {
		this.showDataset();
	}
}
function setView(index) {
	var tmp = 0;
	for (var i = 0; i < this.viewName.length; i++) {
		if (form.views[i].checked) {
			tmp = i;
		}
	}
	// Warning Popup
	//if (confirm("If you have chosen more than 10 records to view as full records, your browser may hang or blank out for a minute or two. Be patient and you will get results. To proceed, press OK. To return to your results and select fewer records, press Cancel.")) {
		var apopup = window.open('wait.html','wait','height=400,width=600,resizable=1,scrollbars=1,status=1,toolbar=0,location=0,directories=0,menubar=0');
		parent.pwin = apopup;
		var oldselection = this.outputselection;
		this.oldview = this.outputselection;
		this.outputselection = tmp;
		// 2 = full screen report...
		if (tmp == 3) {
			// changed full screen report from 1 to defaultsize records at a time...
			this.pagenum = this.pagenum * this.pagesize;
			this.pagesize = 1;
			if (this.pagenum >= this.rscount) {
				this.eof = true;
			} else {
				this.eof = false;
			}
		} else {
			// Set pagenum to 0 to reset to start...
			if (oldselection == 3) {
				// If from full page, needed to start at page start...
				this.pagenum = Math.floor(parseInt(this.pagenum) / this.defaultsize);
			}
			this.pagesize = this.defaultsize;
		}
		this.showDataset();
}
//
function setView1(tmp) {
	var oldselection = this.outputselection;
	this.oldview = this.outputselection;
	this.outputselection = tmp;
	// 2 = full screen report...
	if (tmp == 3) {
		this.pagenum = this.pagenum * this.pagesize;
		this.pagesize = 1;
		if (this.pagenum >= this.rscount) {
			this.eof = true;
		} else {
			this.eof = false;
		}
	} else {
		// Set pagenum to 0 to reset to start...
		if (oldselection == 3) {
			// If from full page, needed to start at page start...
			this.pagenum = Math.floor(parseInt(this.pagenum) / this.defaultsize);
		}
		this.pagesize = this.defaultsize;
	}
	this.showDataset();
}
function setbView() {
	var tmp = 2;		// 2 = full screen report...
	var apopup = window.open('wait.html','wait','height=400,width=600,resizable=1,scrollbars=1,status=1,toolbar=0,location=0,directories=0,menubar=0');
	parent.pwin = apopup;
	var oldselection = this.outputselection;
	this.oldview = this.outputselection;
	this.outputselection = tmp;
	if (oldselection == 3) {
		// If from full page, needed to start at page start...
		this.pagenum = Math.floor(parseInt(this.pagenum) / this.defaultsize);
	}
	this.pagesize = this.defaultsize;
	this.showDataset();
}
/////////////////////////////////////////////////////////////////////////
function jumpTo(indx) {
	// Jump directly to full page view
		var apopup = window.open('wait.html','wait','height=400,width=600,resizable=1,scrollbars=1,status=1,toolbar=0,location=0,directories=0,menubar=0');
		parent.pwin = apopup;

		// Adjust the pagenum to the actual indx number...
		this.pagenum = indx
		// Set to be Full Page View...
		this.pagesize = 1;
		// added 3 as single record full display mode...
		// Remember what was the current display mode...
		this.oldview = this.outputselection;
		this.outputselection = 3;
		if (this.pagenum >= this.rscount) {
			this.eof = true;
		} else {
			this.eof = false;
		}
		this.showSingleSet();
}
//
function clientRadiusButton() {
//	dDoc.writeln("<img src=\"rsearch.gif\" border=0 vspace=5 hspace=5 onClick=\"parent.clientf.latlonCheck()\" alt=\"Select subject or starting property address for proximity search.\"><br>");
	dDoc.writeln("<input type=button value=\"Proximity Search\" onClick=\"parent.clientf.latlonCheck()\" alt=\"Select subject or starting property address for proximity search.\">");
	dDoc.writeln("<input type=button value=\"Distress Prop Search\" onClick=\"parent.clientf.distress_latlonCheck()\" alt=\"Select subject or starting property address for proximity search.\">");
}
// Function to received the Select All Button Click...
function clientSelectAll() {
	// Do the individual array set
	for (var i in this.pkeeper) {
		this.pkeeper[i] = true;
	}
	// Now do the fAry Object's selection
	for (var j=0;j<self.clientf.fAry.length;j++) {
		self.clientf.fAry[j].selection = true;
	}
	self.clientf.checkboxsetting = true;
	this.showDataset();
}
// Function to received the Clear All Button Click...
function clientClearAll() {
	// Do the individual array set
	for (var i in this.pkeeper) {
		this.pkeeper[i] = false;
	}
	// Now do the fAry Object's selection
	for (var j=0;j<self.clientf.fAry.length;j++) {
		self.clientf.fAry[j].selection = false;
	}
	self.clientf.checkboxsetting = false;
	this.showDataset();
}
// Function to grab the new set of saved dataset...
function clientSaveSelected(tform) {
	var tmp = new Array();
	var j = 0;
	for (var i in this.pkeeper) {
		if (this.pkeeper[i] == true) {
			tmp[j] = i;
			j++;
		}
	}
	if (j > 0) {
		var searchpid;
		if (this.ssearchid >= 0)
			searchpid = this.fAry[this.ssearchid].pid;
		else
			searchpid = -1;
		var newForm = "<form name=\"saveselections\" method=\"post\" target=\"data\" action=\"final_saveselections.asp\">";
		for (i = 0; i < tform.length; i++) {
			if (tform[i].name) {
				switch (tform[i].tagName.toLowerCase()) {
				case "input":
					switch (tform[i].type) {
					case "radio":
						if (tform[i].checked)
							newForm += "<input type=\"hidden\" name=\""+ tform[i].name +"\" value=\""+ tform[i].value +"\">";
						break;
					case "checkbox":
						if (tform[i].checked)
							newForm += "<input type=\"hidden\" name=\""+ tform[i].name +"\" value=\""+ tform[i].value +"\">";
						break;
					default:
						switch (tform[i].name) {
						case "totalselections":
							newForm += "<input type=\"hidden\" name=\""+ tform[i].name +"\" value=\""+ tmp.join(",") +"\">";
							break;
						case "searchid":
							newForm += "<input type=\"hidden\" name=\"searchid\" value=\""+ searchpid.toString() +"\">";
							break;
						default:
							newForm += "<input type=\"hidden\" name=\""+ tform[i].name +"\" value=\""+ tform[i].value +"\">";
						}
					}
					break;
				case "select":
					if (tform[i].selectedIndex >= 0) {
						if (tform[i].options[tform[i].selectedIndex].value)
							newForm += "<input type=\"hidden\" name=\""+ tform[i].name +"\" value=\""+ tform[i].options[tform[i].selectedIndex].value +"\">";
						else
							newForm += "<input type=\"hidden\" name=\""+ tform[i].name +"\" value=\""+ tform[i].options[tform[i].selectedIndex].innerHTML +"\">";
					}
					break;
				}
			}
		}
		newForm += "</form>";
		newForm += "<script>document.forms['saveselections'].submit();</script>";

		dDoc = display.document;
		dDoc.close();
		dDoc.open();
		dDoc.write("Reloading Data...Please wait...\n");
		dDoc.write(newForm);
		dDoc.close();

	} else {

		return prelimEmptySelect();

	}
	
	return true;
}

// TKC - 5/4/2010 - new function to deal with multi-properties map
function multipropertiesmap(tform){
	var tmp = new Array();
	var j = 0;
	for (var i in this.pkeeper) {
		if (this.pkeeper[i] == true) {
			tmp[j] = i;
			j++;
		}
	}
	//alert("Subject Property: " + parent.radiusCriteria.pid + "\nOther Properties: " + tmp.join("_"));
	if (j > 10) {
		alert("You have selected more than 10 COMP properties, at this time, we have limited the number of COMPs to 10.  Please reduce the number of COMPs to under 10 and then try again.");
	} else {
		var addrbreakup = parent.radiusCriteria.addr.split(", ");
		var newForm = "<form name=\"multipropertiesmap\" method=\"post\" target=\"mapwin\" action=\"/phoenixmap/mpropmap.asp\">\n";
		newForm += "<input type=\"hidden\" name=\"usernumber\" value=\"" + this.usernumber + "\">\n";
		newForm += "<input type=\"hidden\" name=\"propid\" value=\"" + parent.radiusCriteria.pid + "\">\n";
		newForm += "<input type=\"hidden\" name=\"mpropid\" value=\"" + tmp.join(",") + "\">\n";
		newForm += "<input type=\"hidden\" name=\"city\" value=\"" + addrbreakup[1] + "\">\n";
		newForm += "<input type=\"hidden\" name=\"state\" value=\"" + parent.radiusCriteria.state + "\">\n";
		newForm += "<input type=\"hidden\" name=\"reqheader\" value=\"M\">\n";
		newForm += "<input type=\"hidden\" name=\"reportswitch\" value=\"R\">\n";
		newForm += "<input type=\"hidden\" name=\"app\" value=\"RERS\">\n";
		newForm += "<input type=\"submit\" value=\"Please wait while we get the map\">\n";
		newForm += "</form>\n";
		newForm += "<script>document.forms['multipropertiesmap'].submit();</script>\n";

		var mMapWin = window.open("about:blank","mapwin","height=600,width=700,resizable=1,scrollbars=1,status=1,toolbar=0,location=0,directories=0,menubar=0");
		mMapWin.focus();
		var dDoc = mMapWin.document;
		dDoc.close();
		dDoc.open();
		dDoc.write(newForm);
		dDoc.close();		
	}
}

// 
function setRSearchID(rid) {
	self.clientf.rsearchid = rid;
}

function setSSearchByID(sid) {
	var ids = this.totalselections.split(",");
	for (var i = 0; i < ids.length; i++) {
		if (ids[i] == sid)
			self.clientf.ssearchid = i;
	}
	self.clientf.showDataset();
}

function setSSearchID(sid) {
	self.clientf.ssearchid = sid;
	self.clientf.showDataset();
}

// Function for the 'Radius Search' button check for only 1 record that contains a valid Lat-Lon values...
function latlonCheck() {
	var cnt = 0;
	var lat = 0.0;
	var lon = 0.0;
	var pid = 0;
	var addr = "";
	var all = "";
	var rid = self.clientf.rsearchid;
	var vll = false;		// Assume no valid lat and long value
	
	// See if at least 1 property were selected...
	if (rid == null) {
		// No selection
		alert("You must select at least 1 property to start with. Please select a starting property and try again.");
	} else {
		// Check for valid Lat-Lon values
		lat = self.clientf.fAry[rid].lat;
		lon = self.clientf.fAry[rid].lon;
		pid = self.clientf.fAry[rid].pid;
		addr = outStreet(self.clientf.fAry[rid].pstnum,self.clientf.fAry[rid].pstext,self.clientf.fAry[rid].pst,self.clientf.fAry[rid].punit) + ", " + outCSZ(self.clientf.fAry[rid].pcity,self.clientf.fAry[rid].pstate,self.clientf.fAry[rid].pzip,self.clientf.fAry[rid].pplus4);
		if ((lat != 0.0) && (lon != 0.0)) {
			// Here, it has a valid Lat and Long value
			vll = true;
		}
		// Don't know why Keith Comment out the entire section, going to uncomment it back out based on what it used to be...
		// If vll is true then there were a valid lat-lon value...
		if (vll == true) {
			// Now go do something with the Lat-Long value
			//added 6 Apr 2005 KEB
			//all = "radius.asp?pid=" + pid + "&lat=" + lat + "&lon=" + lon + "&town=" + escape(self.clientf.fAry[rid].pcity) + "&addr=" + escape(addr) +"&chk_avm="+ this.reportOptions['chk_avm'] +"&chk_deedimage="+ this.reportOptions['chk_deedimage'] +"&chk_cp_nghbrhd="+ this.reportOptions['chk_cp_nghbrhd'] +"&chk_cp_Census="+ this.reportOptions['chk_cp_Census'] +"&chk_cp_crime="+ this.reportOptions['chk_cp_crime'] +"&chk_cp_school="+ this.reportOptions['chk_cp_school'] +"&chk_gs="+ this.reportOptions['chk_gs'];
//			all = "radius.asp?pid=" + pid + "&lat=" + lat + "&lon=" + lon + "&town=" + escape(self.clientf.fAry[rid].pcity) + "&addr=" + escape(addr) +"&chk_avm="+ this.reportOptions['chk_avm'] +"&chk_cp_nghbrhd="+ this.reportOptions['chk_cp_nghbrhd'] +"&chk_cp_Census="+ this.reportOptions['chk_cp_Census'] +"&chk_cp_crime="+ this.reportOptions['chk_cp_crime'] +"&chk_cp_school="+ this.reportOptions['chk_cp_school'] +"&chk_gs="+ this.reportOptions['chk_gs'];
			all = "radius.asp?pid=" + pid + "&lat=" + lat + "&lon=" + lon + "&town=" + escape(self.clientf.fAry[rid].pcity) + "&addr=" + escape(addr);
			display.location.href = all;
		} else {
			alert("Sorry, the property does not contain a valid Latitude and Longitude values.  Please try again with a different property.");
		}
	}
}

// TKC - added - 1/20/2009
// Function for the 'Distressed Radius Search' button check for only 1 record that contains a valid Lat-Lon values...
function distress_latlonCheck() {
	var cnt = 0;
	var lat = 0.0;
	var lon = 0.0;
	var pid = 0;
	var addr = "";
	var all = "";
	var rid = self.clientf.rsearchid;
	var vll = false;		// Assume no valid lat and long value
	
	// See if at least 1 property were selected...
	if (rid == null) {
		// No selection
		alert("You must select at least 1 property to start with. Please select a starting property and try again.");
	} else {
		// Check for valid Lat-Lon values
		lat = self.clientf.fAry[rid].lat;
		lon = self.clientf.fAry[rid].lon;
		pid = self.clientf.fAry[rid].pid;
		addr = outStreet(self.clientf.fAry[rid].pstnum,self.clientf.fAry[rid].pstext,self.clientf.fAry[rid].pst,self.clientf.fAry[rid].punit) + ", " + outCSZ(self.clientf.fAry[rid].pcity,self.clientf.fAry[rid].pstate,self.clientf.fAry[rid].pzip,self.clientf.fAry[rid].pplus4);
		if ((lat != 0.0) && (lon != 0.0)) {
			// Here, it has a valid Lat and Long value
			vll = true;
		}
		// Don't know why Keith Comment out the entire section, going to uncomment it back out based on what it used to be...
		// If vll is true then there were a valid lat-lon value...
		if (vll == true) {
//			all = "distress_radius.asp?pid=" + pid + "&lat=" + lat + "&lon=" + lon + "&town=" + escape(self.clientf.fAry[rid].pcity) + "&addr=" + escape(addr) +"&chk_avm="+ this.reportOptions['chk_avm'] +"&chk_cp_nghbrhd="+ this.reportOptions['chk_cp_nghbrhd'] +"&chk_cp_Census="+ this.reportOptions['chk_cp_Census'] +"&chk_cp_crime="+ this.reportOptions['chk_cp_crime'] +"&chk_cp_school="+ this.reportOptions['chk_cp_school'] +"&chk_gs="+ this.reportOptions['chk_gs'];
			all = "distress_radius.asp?pid=" + pid + "&lat=" + lat + "&lon=" + lon + "&town=" + escape(self.clientf.fAry[rid].pcity) + "&addr=" + escape(addr);
			display.location.href = all;
		} else {
			alert("Sorry, the property does not contain a valid Latitude and Longitude values.  Please try again with a different property.");
		}
	}
}

//
// Function to output to client browser street address...
function outStreet(stnum,stnumext,street,sunit) {
	var retval = "";
	var pst = noNull(street,"");
	if (pst.toLowerCase() == "zzz") {
		// Check to see if it's an invalid street...
		retval = "No Street Given";
	} else {
		var num = noZero(stnum,"");
		var numext = noNull(stnumext,"");
		var unit = noNull(sunit," ");
		if ((sunit != " ") && (sunit != "null") && (sunit != "") && (sunit != null)){
			unit = ", Unit: "+sunit;
		}
		retval = num + "" + numext + " " + pst + unit;
	}
	return retval;
}
//
// Function to output to client browser city/state/zipcode
function outCSZ(city,state,zip,plus4) {
	// plus4 is optional...
	var retval = " ";
	var c = noNull(city," ");
	var s = noNull(state," ");
	var z = noZero(zip," ");
	var p = noNull(plus4, " ");
	var t = " ";
	if ((c != " ") && (s != " ")) {
		t = ", ";
	}
	var h = " ";
	if ((p != " ") && (z != " ")) {
		h = "-";
	}
	retval = c + t + s + " " + z + h + p;
	return retval;
}
//
function prelimEmptySelect() {
	alert("Sorry, you must select at least one record.");
	return false;
}
//
// Function to output to client browser street address...
function outStreet1(stnum,stnumext,street,sunit) {
	var retval = "";
	var pst = noNull(street,"");
	if (pst.toLowerCase() == "zzz") {
		// Check to see if it's an invalid street...
		retval = "No Street Given";
	} else {
		var num = noZero(stnum,"");
		var numext = noNull(stnumext,"");
		var unit = noNull(sunit," ");
		if ((sunit != " ") && (sunit != "null") && (sunit != "") && (sunit != null)){
			unit = " Unit: "+sunit;
		}
		retval = num + "" + numext + " " + pst + unit;
	}
	return retval;
}

/////////////////////////////////////////////////////////////////////////
function testout() {
	var doc = parent.display.document;
	for (var i=0;i<this.fAry.length;i++) {
		doc.writeln(i+" - "+this.fAry[i].lsunits+"<br><ul>");
		doc.writeln("<li>"+this.fAry[i].pstnum+"<br>");
		doc.writeln("<li>"+this.fAry[i].pstext+"<br>");
		doc.writeln("<li>"+this.fAry[i].pst+"<br>");
		doc.writeln("<li>"+this.fAry[i].punit+"<br>");
		doc.writeln("<li>"+this.fAry[i].pcity+"<br>");
		doc.writeln("<li>"+this.fAry[i].pstate+"<br>");
		doc.writeln("<li>"+this.fAry[i].pzip+"<br>");
		doc.writeln("<li>"+this.fAry[i].pplus4+"<br>");
		doc.writeln("<li>"+this.fAry[i].usecode+"<br>");
		doc.writeln("<li>"+this.fAry[i].usedescript+"<br>");
		doc.writeln("<li>"+this.fAry[i].stylecode+"<br>");
		doc.writeln("<li>"+this.fAry[i].styledescript+"<br>");
		doc.writeln("<li>"+this.fAry[i].ostnum+"<br>");
		doc.writeln("<li>"+this.fAry[i].ostext+"<br>");
		doc.writeln("<li>"+this.fAry[i].ost+"<br>");
		doc.writeln("<li>"+this.fAry[i].ounit+"<br>");
		doc.writeln("<li>"+this.fAry[i].ocity+"<br>");
		doc.writeln("<li>"+this.fAry[i].ostate+"<br>");
		doc.writeln("<li>"+this.fAry[i].ozip+"<br>");
		doc.writeln("<li>"+this.fAry[i].selection+"<br>");
		doc.writeln("</ul>");
	}
}
function trimLeftZero(instr) {
	var stopnow = false;
	var i = 0;
	var istart = 0;
	if (instr.length < 2) {
		stopnow = true;
	}
	
	while (stopnow == false) {
		if (instr.charAt(i) == "0") {
			i = i + 1;
		} else {
			stopnow = true;
		}

		if (instr.length == i+1) {
			stopnow = true;
		}
		istart = i;
	}

	return instr.substr(istart);
}
function visionwinprep() {
//	var nWin = window.open("http://data.visionappraisal.com/SomervilleMA/search.htm","map_win");
	var nWin = window.open("about:blank","map_win");
	nWin.focus();
	return false;
}

