// DHTML for drill-down drop-down lists for state->county->city
// Author: Tim Johnson - tim@johnsons-web.com
// http://bart.johnson.com/run/baker/dhtml/GeoData.html
var ButtonStyle="background-color: #0000FF; color: yellow; font-weight: normal; font-size: 9pt";
var onMouseOut = "this.style.backgroundColor='#0000ff';this.style.color='yellow'";
var onMouseOver = "this.style.backgroundColor='yellow';this.style.color='#0000ff'";
var StateSelected = null;
var CountySelected = null;
var CitySelected = null;
var TypeSelected = null;
var glbYear = 2009;
var domain = document.domain;
var glbDocName = 'advance_page.pl';
var GeoData_js = 1; // "register" this file with calling code
function createCookie(name,value,days) {
	var date,expires;
	if (days) {
		date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		expires = "; expires="+date.toGMTString();
		}
	else {expires = "";}
	document.cookie = name+"="+value+expires+"; path=/";
	}
function readCookie(name) {
	var nameEQ,ca,i,c;
	nameEQ = name + "=";
	ca = document.cookie.split(';');
	for(i=0;i < ca.length;i++) {
		c = ca[i];
		while (c.charAt(0)==' ')
		  c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0)
		  return c.substring(nameEQ.length,c.length);
		}
		return null;
	}
function SetCookies(){
  if(strFind(document.location.pathname,'advance.html')){
		createCookie('advance_html_state',
								 'StateSelected:' + StateSelected + '|' +
								 'CountySelected:' + CountySelected + '|' +
								 'CitySelected:' + CitySelected + '|' +
								 'TypeSelected:' + TypeSelected);
			}
	}
function eraseCookie(name){
	createCookie(name,"",-1);
	}
function InitLists(info){
  if(info){
		var state = SelectFrom(info,'StateSelected'),
				county = SelectFrom(info,'CountySelected'),
				city = SelectFrom(info,'CitySelected'),
				type = SelectFrom(info,'TypeSelected'),
				form = document.getElementById('AdvancedSearch'),
				sres = makeSelectList(form['states'],GeoStates,["--State--"],state),
				state_key = GetStateKey(state,GeoStates),
				counties = GeoCapitalize(GeoCounties[state_key]),
				county_key = GetStateKey(county,counties);
		//alert('state: ' + state + ' county: ' + county + ' city: ' + city + ' type: ' + type); //debug
		StateSelected = 1;
		CountySelected = 1;
		CitySelected = 1;
    makeSelectList(form["counties"],counties,['-- County --'],county);
		makeSelectList(form["cities"],GeoCities[county_key],['-- City Area --'],city);
		var tres = makeSelectList(form["type"],GeoCapitalize(ad_classes),["--Type--"],type,1);
		dispatchByClass(tres);
		}
  else{
		var form = document.getElementById('AdvancedSearch'),
				docname = docName();
		if(docName() == glbDocName){
			StateSelected = form['state'].value;
			EzyEstimatorSetup();
			}
		else {
			makeSelectList(form["states"],GeoCapitalize(GeoStates),["--State--"]); 
			}
		makeSelectList(form["type"],GeoCapitalize(ad_classes),["--Type--"]);
		}
	}
function RefreshHeader(){
  var str = "",
			form = document.getElementById('AdvancedSearch'),
			hdr = document.getElementById("SearchHeader");
  if(StateSelected) {str = str + '<font color="white">State:</font> ' + StateSelected;}
  if(CountySelected) {str = str + ' <font color="white">County:</font> ' + CountySelected;}
  if(CitySelected) {str = str + ' <font color="white">City:</font> ' + CitySelected;}
  if(TypeSelected) {str = str + ' <font color="white">Type:</font> ' + TypeSelected;}
  hdr.innerHTML = str;
  form['StoredState'].value = StateSelected;
  form['StoredCounty'].value = CountySelected;
  form['StoredCity'].value = CitySelected;
	}
function ClearHeader(){
  hdr = document.getElementById("SearchHeader");
  if(hdr) hdr.innerHTML = "";
	}
function GetStateKey(name,lst){
  var found = null,i;
  if(lst){
		for(var i = 0;i < lst.length; i++){
			if(lst[i][0] == name){
				found = lst[i][1];
				break;
				}
			}
		}
  return found;
	}
function EzyEstimatorSetup(){
  code = GetStateKey(StateSelected,GeoStates);
  list = GeoCounties[code];
  makeSelectList(document.getElementById('counties'),list,['-- County --']);
	}
function PickState(widget){
	var selected = widget.selectedIndex, list,
			ValueSelected = widget.options[selected].value;
  clearAutoRows(widget,2);
  ResetList("cities","-- City --");
  if (selected == 0){
		alert("Please Select a State");
		ResetList("counties","-- County --");
		ClearHeader();
		return false;
		}
  StateSelected = widget.options[selected].text;
  CountySelected = null;
  CitySelected = null;
  RefreshHeader();
  list = GeoCapitalize(GeoCounties[ValueSelected]);
  makeSelectList(document.getElementById('counties'),list,['-- County --']);
  RefreshPropertyType();
	}
function RefreshPropertyType(){
	var form = document.getElementById('AdvancedSearch');
  makeSelectList(form["type"],GeoCapitalize(ad_classes),["--Type--"]);
	}
function PickCounty(widget){
	var selected = widget.selectedIndex,list,
			ValueSelected = widget.options[selected].value;
  clearAutoRows(widget,2);
  RefreshPropertyType();
  if (selected == 0){
		alert("Please Select a County");
		ResetList("cities","-- City Area --");
		ClearHeader();
		return false;
		}
  CountySelected = widget.options[selected].text;
  CitySelected = null;
  RefreshHeader();
  list = GeoCapitalize(GeoCities[ValueSelected]);
  if (docName() == glbDocName && list[0][0].toLowerCase() == 'any')
		list = Rest(list);
  makeSelectList(document.getElementById('cities'),list,new Array('-- City Area --'));
	}
function PickCity(widget){
	var selectedArray = new Array(),
			numSelections = widget.options.length,
			count = 0;
  clearAutoRows(widget,2);
  RefreshPropertyType();
  for (var i=0; i < numSelections; i++) {
	if (widget.options[i].selected) {
	  if(i == 0){
			alert("Please Select a City");
	    form['StoredCity'].value = "";
			ClearHeader();
			return false;
			}
		selectedArray[count] = widget.options[i].text;
		count++;
		}
  }
  if(aryFind(selectedArray,"ANY")) {CitySelected = "ANY";}
  else {CitySelected = selectedArray.join(", ");}
  RefreshHeader();
	}
function AreasChosen(){
	if (!(StateSelected)){
		alert("Please Pick a State");
		return false;
		}
	if (!(CountySelected)){
		alert("Please Pick a County");
		return false;
		}
	if (!(CitySelected)){
		alert("Please Pick a City");
		return false;
		}
	return true;
	}
function ZipCodesWaterFront(key,tbl){
  var labelAry = ['align','right','valign','center'],
			widgetAry = ['align','left','valign','center'],
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode('Zip Code\u00a0'))
  cell1.appendChild(Menu(['name','zip_codes','id','zip_codes','size','1'],
						       GeoCityCodes[GetSelected('cities')]),['Zip Code','--------']);
  cell2.appendChild(TextNode('Waterfront:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('waterfront_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('waterfront_no'));
	}
function ZipCodesLotSize(key,tbl){
  var labelAry = ['align','right','valign','center'],
			widgetAry = ['align','left','valign','center'],
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode('Zip Code\u00a0'))
  cell1.appendChild(Menu(['name','zip_codes','id','zip_codes','size','1'],
						 GeoCityCodes[GetSelected('cities')]),['Zip Code','--------']);
  cell2.appendChild(TextNode("Lot Size (acres)"));
  cell3.appendChild(Menu(['name','Lot_Size','size','1'],lot_size));
	}
function dispatchByClass(widget){
  var selected = widget.selectedIndex,
			ezy_estimator = false,
			key = parseInt(widget.options[selected].value,10),
			tbl = getParentTable(widget,"TABLE"), // outer table object
			form = document.getElementById('AdvancedSearch');
  clearAutoRows(widget,2);
  if (docName() == '1ezEstimator.html')
		ezy_estimator = true;
  if (!(AreasChosen())){
		makeSelectList(form["type"],GeoCapitalize(ad_classes),["--Type--"]);
		return false
		}
  if (selected == 0){
		alert("Please Select a Listing Type");
		TypeSelected = null;
		RefreshHeader();
		return false;
		}
  TypeSelected = widget.options[selected].text;
  RefreshHeader();
  switch(key){
		case 1:   // Residential
			if(ezy_estimator){
				ZipCodesClass(key,tbl);
				PriceRangeStyle(key,tbl);
				}
			else{
				PriceRangeClass(key,tbl);
				LoHiStyle(key,tbl);
				}
			sqFootageLotSize(key,tbl);
			BedroomsFeatures(key,tbl);
			BathroomsAge(key,tbl);
			GarageWaterfront(key,tbl);
			ForeclosuresShortSalesView(key,tbl);
			if(StateSelected == "Washington"){
				MasterBedroom(key,tbl);
				}
			break;
		case 2:  // Land
			if(ezy_estimator){
				ZipCodesClass(key,tbl);
				PriceRangeWaterfront(key,tbl);
				}
			else{
				PriceRangeClass(key,tbl);
				LoHiWaterfront(key,tbl);
				}
			LotSizeView(key,tbl);
			ForeclosuresShortSales(key,tbl);
			break;
		case 3:  // Multi-Family
			if(ezy_estimator){
				ZipCodesClass(key,tbl);
				PriceRangeWaterfront(key,tbl);
				}
			else{
				PriceRangeClass(key,tbl);
				LoHiWaterfront(key,tbl);
				}
			sqFootageView(key,tbl);
			ForeclosuresShortSales(key,tbl);
			break;
		case 4: // Commercial-Industrial
			if(ezy_estimator){
				ZipCodesLotSize(key,tbl);
				PriceRangeWaterfront(key,tbl);
				}
			else{
				PriceRangeLotSize(key,tbl);
				LoHiWaterfront(key,tbl);
			}
			sqFootageView(key,tbl);
			ForeclosuresShortSales(key,tbl);
			break;
		case 5: // Business Opportunites
			if(ezy_estimator){
				ZipCodesWaterFront(key,tbl);
				PriceRangeView(key,tbl);
				}
			else{
				PriceRangeWaterFront(key,tbl);
				LoHiView(key,tbl);
				}
			break;
		case 6: // Commercial Lease
			MonthlyLeaseWaterfront(key,tbl);
			LoHiView(key,tbl);
			BuildingUnitSize(key,tbl);
			break;
		case 7: // Residential Rental
			MonthlyRentClass(key,tbl);
			LoHiStyle(key,tbl);
			sqFootageLotSize(key,tbl);
			BedroomsAge(key,tbl);
			BathroomsWaterfront(key,tbl);
			GarageView(key,tbl);
			break;
			} /* End Switch */ 
  ButtonRow(tbl);
  //Footer();
	}
function Footer(){
	var row = TR(footer),
			cell0 = TD(row,new Array('bgColor','#0000FF','align','center'),0);
  footer = document.getElementById("SearchFooter");
  cell0.appendChild(Font(['size','2','color','#FFFFFF'],
									  '\u00a9 ' + glbYear + ' RGud International, Inc.\u00a0\u00a0 All rights reserved.'));
	}
function ButtonRow(tbl){
	var row = TR(tbl),
			attrs = new Array('bgColor','#00ff00','align','left','valign','middle'),
			cell0 = TD(row,attrs,0),
			cell1 = TD(row,attrs,1),
			cell2 = TD(row,attrs,2),
			cell3 = TD(row,attrs,3);
  cell0.appendChild(TextNode('\u00a0'));
  cell1.innerHTML = InputElement("submit",['name','submit','value','Search','style',ButtonStyle,
										   'onmouseover',onMouseOver,'onmouseout',onMouseOut,
										   'onclick','return ValidForm(form);'
										   ])
	cell3.innerHTML = InputElement('reset',['style',ButtonStyle,'onmouseover',onMouseOver,
											'onmouseout',onMouseOut,'onclick','return ResetForm(form);'])
  cell2.appendChild(TextNode('\u00a0'));
	}
function PriceRangeView(key,tbl){
	var labelAry = ['align','right','valign','center'],
			widgetAry = ['align','left','valign','center'],
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode('Price Range\u00a0'))
  cell1.appendChild(Menu(['name','Price','size','1'], price_ranges));
  cell2.appendChild(TextNode('View:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('view_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('view_no'));
	}
// Add a "two row" option. cell2 and cell3 would go in a second row
function PriceRangeClass(key,tbl){
  var class_list,
			labelAry = ['align','right','valign','center'],
			widgetAry = ['align','left','valign','center'],
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  if(key == 3){ 
		class_list = multi_family_classes;       // multi-family
		}
  else if(key == 2){
		class_list = land_classes;          // land
		}
  else{ 
		class_list = res_classes;                        // residential
		}
  cell0.appendChild(TextNode('Price Range\u00a0'))
  cell1.appendChild(Menu(['name','Price','size','1'], price_ranges));
  cell2.appendChild(TextNode('Class\u00a0'))
  cell3.appendChild(Menu(['name','res_class','size','1'], class_list));
	}
function PriceRangeStyle(key,tbl){
  var class_list,
			labelAry = ['align','right','valign','center'],
			widgetAry = ['align','left','valign','center'],
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  if(key == 3){
		class_list = multi_family_classes;       // multi-family
		}
  else if(key == 2){
		class_list = land_classes;          // land
		}
  else{
		class_list = res_classes;                        // residential
		}
  cell0.appendChild(TextNode('Price Range\u00a0'))
  cell1.appendChild(Menu(['name','Price','size','1'], price_ranges));
  cell2.appendChild(TextNode('Class\u00a0'))
  cell3.appendChild(Menu(new Array('name','res_class','size','1'),class_list));
	}
function ZipCodesClass(key,tbl){
  var class_list,
			labelAry = ['align','right','valign','center'],
			widgetAry = ['align','left','valign','center'],
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  if(key == 3){ 
		class_list = multi_family_classes;       // multi-family
		}
  else if(key == 2){
		class_list = land_classes;          // land
		}
  else{ 
		class_list = res_classes;                        // residential
		}
  cell0.appendChild(TextNode('Zip Code\u00a0'))
  cell1.appendChild(Menu(['name','zip_codes','id','zip_codes','size','1'],
						 GeoCityCodes[GetSelected('cities')]),['Zip Code','--------']);
  cell2.appendChild(TextNode('Class\u00a0'))
  cell3.appendChild(Menu(new Array('name','res_class','size','1'),
								   class_list));
	}
function LoHiStyle(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3),
			font = document.createElement('font');
  Print("OR\u00a0",cell0,['b','color','darkred']);
  Print("Low$\u00a0",cell0);
  cell1.appendChild(TextField("LowRange", ["maxlength","10","size","8"]));
  cell1.appendChild(TextNode("\u00a0High$\u00a0"));
  cell1.appendChild(TextField("HiRange", ["maxlength","10","size","8"]));
  cell2.appendChild(TextNode("Style\u00a0"));
  cell3.appendChild(Menu(['name','style','size','1'], prop_styles));
	}  
function sqFootageLotSize(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3),
			label;
  if(key == 3 || key == 4) {label = "Building Size\u00a0(sf)";}
  else if (key == 6) {label = "Building Unit Size\u00a0";}
  else {label = "Living Area\u00a0(sq. ft.)";}
  cell0.appendChild(TextNode(label));
  cell1.appendChild(Menu(new Array('name','Building_Size','size','1'),
								   sq_footage));
  cell2.appendChild(TextNode("Lot Size (acres)"));
  cell3.appendChild(Menu(new Array('name','Lot_Size','size','1'),lot_size));
}
function BedroomsFeatures(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode("#Bedrooms\u00a0"));
  cell1.appendChild(Menu(new Array('name','Bedrooms','size','1'),num_bedrooms));
  cell2.appendChild(TextNode("Features"));
  cell3.appendChild(Menu(new Array('name','Features','size','1'),special_features));
}
function MasterBedroom(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
	cell0.appendChild(TextNode("\u00a0"));
	cell1.appendChild(TextNode("\u00a0"));
  cell2.appendChild(TextNode("Master Bedrooms\u00a0"));
  cell3.appendChild(Menu(new Array('name','MasterBedroom','size','1'),
												 new Array('Any','Upper','Lower','Middle')));
}
function BathroomsAge(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode("#Bathrooms\u00a0"));
  cell1.appendChild(Menu(new Array('name','Bathrooms','size','1'),num_bathrooms));
  cell2.appendChild(TextNode("Age\u00a0"));
  cell3.appendChild(Menu(new Array('name','age','size','1'),building_age));
}
function GarageWaterfront(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode("Garage\u00a0"));
  cell1.appendChild(Menu(new Array('name','Garage_Size','size','1'),
								   garage_size));
  cell2.appendChild(TextNode('Waterfront:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('waterfront_yes',[]));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('waterfront_no'));
}
function ForeclosuresShortSales(key,tbl){
	var labelAry = ['align','right','valign','center'],
			widgetAry = ['align','left','valign','center'],
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
	cell0.appendChild(TextNode('\u00a0'));
	cell1.appendChild(TextNode('\u00a0'));
	cell2.appendChild(TextNode('Foreclosures:\u00a0'));
	cell2.appendChild(CheckBox('Foreclosures',null,null,'yes'));
	cell3.appendChild(TextNode('Short Sales:\u00a0'));
	cell3.appendChild(CheckBox('Shortsales',null,null,'yes'));
	}
function ForeclosuresShortSalesView(key,tbl){
	var labelAry = ['align','right','valign','center'],
			widgetAry = ['align','left','valign','center'],
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
	cell0.appendChild(TextNode('Foreclosures:\u00a0'));
	cell0.appendChild(CheckBox('Foreclosures',null,null,'yes'));
	cell1.appendChild(TextNode('Short Sales:\u00a0'));
	cell1.appendChild(CheckBox('Shortsales',null,null,'yes'));
	cell2.appendChild(TextNode('View:\u00a0'));
	cell3.appendChild(TextNode('Yes'));
	cell3.appendChild(CheckBox('view_yes'));
	cell3.appendChild(TextNode('No'));
	cell3.appendChild(CheckBox('view_no'));
	}
function LoHiWaterfront(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0)
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
			font = document.createElement('font');
  font.setAttribute('color','darkred');
  font.appendChild(TextNode("OR\u00a0"));
  cell0.appendChild(font);
  cell0.appendChild(TextNode('Low$\u00a0'))
  cell1.appendChild(TextField("LowRange",
								  new Array("maxlength","10","size","8")));
  cell1.appendChild(TextNode("\u00a0High$\u00a0"));
  cell1.appendChild(TextField("HiRange",
								  new Array("maxlength","10","size","8")));
  cell2.appendChild(TextNode('Waterfront:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('waterfront_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('waterfront_no'));
	}
function PriceRangeWaterfront(key,tbl){
  var class_list,
  		labelAry = ['align','right','valign','center'],
			widgetAry = ['align','left','valign','center'],
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  if(key == 3) {class_list = multi_family_classes;}      // multi-family
  else if(key == 2) {class_list = land_classes;}         // land
  else {class_list = res_classes;}                       // residential
  // == Price Range
  cell0.appendChild(TextNode('Price Range\u00a0'))
  cell1.appendChild(Menu(['name','Price','size','1'], price_ranges));
  cell2.appendChild(TextNode('Waterfront:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('waterfront_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('waterfront_no'));
	}
function LotSizeView(key,tbl){
  var labelAry = new Array('align','right','valign','center')
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode("Lot Size (acres)"));
  cell1.appendChild(Menu(new Array('name','Lot_Size','size','1'),lot_size));
  cell2.appendChild(TextNode('View:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('view_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('view_no'));
	}
function sqFootageView(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3),
			label;
  if(key == 3 || key == 4) {label = "Building Size\u00a0(sf)";}
  else if (key == 6) {label = "Building Unit Size\u00a0";}
  else {label = "Living Area\u00a0(sq. ft.)";}
  cell0.appendChild(TextNode(label));
  cell1.appendChild(Menu(new Array('name','Building_Size','size','1'),
								   sq_footage));
  cell2.appendChild(TextNode('View:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('view_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('view_no'));
	}
function PriceRangeLotSize(key,tbl){
  var labelAry = ['align','right','valign','center'],
			widgetAry = ['align','left','valign','center'],
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode('Price Range\u00a0'))
  cell1.appendChild(Menu(new Array('name','Price','size','1'),
								   price_ranges));
  cell2.appendChild(TextNode("Lot Size (acres)"));
  cell3.appendChild(Menu(['name','Lot_Size','size','1'],lot_size));
	}
function PriceRangeWaterFront(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode('Price Range\u00a0'))
  cell1.appendChild(Menu(new Array('name','Price','size','1'),
								   price_ranges));
  cell2.appendChild(TextNode('Waterfront:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('waterfront_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('waterfront_no'));
	}
function LoHiView(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
			font = document.createElement('font');
  font.setAttribute('color','darkred');
  font.appendChild(TextNode("OR\u00a0"));
  cell0.appendChild(font);
  cell0.appendChild(TextNode('Low$\u00a0'))
  cell1.appendChild(TextField("LowRange",
								  new Array("maxlength","10","size","8")));
  cell1.appendChild(TextNode("\u00a0High$\u00a0"));
  cell1.appendChild(TextField("HiRange",
								  new Array("maxlength","10","size","8")));
  cell2.appendChild(TextNode('View:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('view_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('view_no'));
	}
function MonthlyLeaseWaterfront(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode('Monthly Lease \u00a0'))
  cell1.appendChild(Menu(new Array('name','monthly_lease','size','1'),
								   monthly_lease));
  cell2.appendChild(TextNode('Waterfront:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('waterfront_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('waterfront_no'));
	}
function LoHiView(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3),
			font = document.createElement('font');
  font.setAttribute('color','darkred');
  font.appendChild(TextNode("OR\u00a0"));
  cell0.appendChild(font);
  cell0.appendChild(TextNode('Low$\u00a0'))
  cell1.appendChild(TextField("LowRange",
								  new Array("maxlength","10","size","8")));
  cell1.appendChild(TextNode("\u00a0High$\u00a0"));
  cell1.appendChild(TextField("HiRange",
								  new Array("maxlength","10","size","8")));
  cell2.appendChild(TextNode('View:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('view_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('view_no'));
	}
function BuildingUnitSize(key,tbl){
  var labelAry = new Array('align','right','valign','top'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3),
			label;
  if(key == 3 || key == 4) {label = "Building Size\u00a0(sf)";}
  else if (key == 6) {label = "Building Unit Size\u00a0";}
  else {label = "Living Area\u00a0(sq. ft.)";}
  cell0.appendChild(TextNode(label));
  cell0.appendChild(BR());
  cell0.appendChild(TextNode('(s.f.)'));
  cell1.appendChild(Menu(new Array('name','Size','size','1'),
								   sq_footage));
  cell2.appendChild(TextNode("\u00a0"));
  cell3.appendChild(TextNode("\u00a0"));
	}
function MonthlyRentClass(key,tbl){
  var labelAry = new Array('align','right','valign','top'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode("Monthly Rent\u00a0"));
  cell1.appendChild(Menu(new Array('name','Monthly_Rent','size','1'),monthly_rent));
  cell2.appendChild(TextNode('Class\u00a0'))
  cell3.appendChild(Menu(new Array('name','res_class','size','1'), res_classes));
	}
function BedroomsAge(key,tbl){
  var labelAry = new Array('align','right','valign','top'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode("#Bedrooms\u00a0"));
  cell1.appendChild(Menu(new Array('name','Bedrooms','size','1'),num_bedrooms));
  cell2.appendChild(TextNode("Age\u00a0"));
  cell3.appendChild(Menu(new Array('name','age','size','1'),building_age));
	}
function BathroomsWaterfront(key,tbl){
  var labelAry = new Array('align','right','valign','top'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode("#Bathrooms\u00a0"));
  cell1.appendChild(Menu(new Array('name','Bathrooms','size','1'),num_bathrooms));
  cell2.appendChild(TextNode('Waterfront:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('waterfront_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('waterfront_no'));
	}
function GarageView(key,tbl){
  var labelAry = new Array('align','right','valign','center'),
			widgetAry = new Array('align','left','valign','center'),
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  cell0.appendChild(TextNode("Garage\u00a0"));
  cell1.appendChild(Menu(new Array('name','Garage_Size','size','1'),
								   garage_size));
  cell2.appendChild(TextNode('View:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('view_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('view_no'));
	}
function ValidForm(tbl){
  return true;
	}
function ResetForm(form){
	makeSelectList(form["states"],GeoStates,["--State--"]);
	makeSelectList(form["counties"],[],["--County--"]);
	makeSelectList(form["cities"],[],["--City--"]);
	makeSelectList(form["type"],GeoCapitalize(ad_classes),["--Type--"]);
	clearTable("FormTable",2);
	RefreshHeader();
	}
