/* Derived from GeoData.js for usage at alaskamls.com */
/* See http://bart.johnson.com/run/baker/dhtml/SearchMLS.html */
// DHTML for drill-down drop-down lists for state->county->city
// Author: Tim Johnson - tim@johnsons-web.com
testGlobal = 1;
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 = "ALASKA";
var CountySelected = null;
var CitySelected = null;
var TypeSelected = null;
var BrokerID = null;
var glbYear = 2009;
var glbDocName = 'advance_page.pl';
var GeoData_js = 1; // "register" this file with calling code
function createCookie(name,value,days) {
	var date = new Date(),expires;
	mytest = 1;
	if (days) {
		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 = name + "=",i,c,
			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(state,/* optional follow */
	county,cityAreas,propType,BrokerNumber){
	var cities,
			form = document.getElementById('AdvancedSearch'),
			state_key = GetStateKey(StateSelected,GeoStates),
			counties = GeoCapitalize(GeoCounties[state_key]),
			classes = GeoCapitalize(ad_classes),
			cRes, tRes, list,test;
	if(!form) return false;
	cRes = makeSelectList(form["counties"],counties,['-- County --'],county),
	tRes = makeSelectList(form["type"],classes,["--Type--"],propType,"return widget"),
	initStoredValues(state,county,cityAreas,BrokerNumber);
	if(cityAreas){
		CitySelected = cityAreas;
		cities = cityAreas.split(',');
		test = TypeOf(cities);
	  }
	if(propType) propType = "" + propType;
	StateSelected = state;
	if(county) CountySelected = county;
	if(cRes){
		list = GeoCapitalize(GeoCities[cRes]);
		if(list){
			multSelectList(document.getElementById('cities'),
			               list,['-- City Area --'],cities);
	  	}
		dispatchByClass(tRes);
	  }
	}
function RefreshHeader(){
  var str = "",
			form = document.getElementById('AdvancedSearch'),
			hdr = document.getElementById("SearchHeader");
	if(!hdr) return false;
  if(CountySelected){
		str = str + " County: " + CountySelected;
		}
  if(CitySelected){
		str = str + " City: " + CitySelected;
		}
  if(TypeSelected){
		str = str + " Type: " + TypeSelected;
		}
  hdr.innerHTML = str;
  form['StoredState'].value = Capitalize(StateSelected);
  form['StoredCounty'].value = CountySelected;
  form['StoredCity'].value = CitySelected;
	}
function resetStoredValues(){
  var form = document.getElementById('AdvancedSearch');
	if(!form) return false;
  if(StateSelected)
    form.StoredState.value = Capitalize(StateSelected);
  if(CountySelected)
    form.StoredCounty.value = Capitalize(CountySelected);
  if(CitySelected)
    form.StoredCity.value = CitySelected;
  }
function initStoredValues(state,county,city,Broker){
  var form = document.getElementById('AdvancedSearch');
  if(state) form.StoredState.value = Capitalize(state);
  if(county) form.StoredCounty.value = Capitalize(county);
  if(city) form.StoredCity.value = Capitalize(city);
  if(Broker) form.BrokerNumber.value = Broker;
  }
function ClearHeader(){
  var hdr = document.getElementById("SearchHeader");
  if(hdr) hdr.innerHTML = "";
}
function GetStateKey(name,lst){
  var found = null;
  if(lst){
		for(var i = 0;i < lst.length; i++){
			if(lst[i][0] == name){
				found = lst[i][1];
				break;
				}
			}
		}
  return found;
	}
function EzyEstimatorSetup(){
  var code = GetStateKey(StateSelected,GeoStates),
			list = GeoCapitalize(GeoCounties[code]),
			found = document.getElementById('counties');
	if(found) makeSelectList(where,list,['-- County --']);
	}
function PickState(widget){
	if(!widget) return false;
  var selected = widget.selectedIndex,
			ValueSelected = widget.options[selected].value,
			list = GeoCapitalize(GeoCounties[ValueSelected]);
  clearAutoRows(widget,2);
  ResetList("cities","-- City --");
  if (selected == 0){
		alert("Please Select a State");
		ResetList("counties","-- County --");
		return false;
		}
  StateSelected = widget.options[selected].text;
  CountySelected = null;
  CitySelected = null;
  resetStoredValues();
  makeSelectList(document.getElementById('counties'),list,['-- County --']);
  RefreshPropertyType();
	}
function RefreshPropertyType(){
	var form = document.getElementById('AdvancedSearch');
	if(form) makeSelectList(form["type"],GeoCapitalize(ad_classes),["--Type--"]);
	}
function PickCounty(widget){
	if(!widget) return false;
  var selected = widget.selectedIndex,
			ValueSelected = widget.options[selected].value,
			list = GeoCapitalize(GeoCities[ValueSelected]);
  clearAutoRows(widget,2);
  RefreshPropertyType();
  if (selected == 0){
		alert("Please Select a County");
		ResetList("cities","-- City Area --");
		return false;
		}
  CountySelected = widget.options[selected].text;
  CitySelected = null;
  resetStoredValues();
  if (docName() == glbDocName && list[0][0].toLowerCase() == 'any')
	list = Rest(list);
  makeSelectList(document.getElementById('cities'),list,new Array('-- City Area --'));
	}
function PickCity(widget){
	if(!widget) return false;
  var selectedArray = new Array(),
			numSelections = widget.options.length,
			count = 0,
			i;
  clearAutoRows(widget,2);
  RefreshPropertyType();
  for (i=0; i < numSelections; i++) {
		if (widget.options[i].selected) {
			if(i == 0){
				alert("Please Select a City");
				form['StoredCity'].value = "";
				return false;
			}
			selectedArray[count] = widget.options[i].text;
			count++;
			}
		}
  if(aryFind(selectedArray,"ANY")) CitySelected = "ANY";
  else CitySelected = selectedArray.join(", ");
  resetStoredValues();
	}
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){
	if(!tbl) return false;
  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){
	if(!tbl) return false;
  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 ForeclosuresShortSales(key,tbl){
	if(!tbl){return false;}
	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){
	if(!tbl){return false;}
	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',
		"excludeChkboxes('AdvancedSearch','Foreclosures',['Shortsales'])"));
	cell1.appendChild(TextNode('Short Sales:\u00a0'));
	cell1.appendChild(CheckBox('Shortsales',null,null,'yes',
		"excludeChkboxes('AdvancedSearch','Shortsales',['Foreclosures'])"));
	cell2.appendChild(TextNode('View:\u00a0'));
	cell3.appendChild(TextNode('Yes'));
	cell3.appendChild(CheckBox('view_yes'));
	cell3.appendChild(TextNode('No'));
	cell3.appendChild(CheckBox('view_no'));
	}
function dispatchByClass(widget){
	if(!widget){return false;}
  var selected = widget.selectedIndex,
			form = document.getElementById('AdvancedSearch'),
			ezy_estimator = false,
			key = parseInt(widget.options[selected].value,10),
			TypeSelected = widget.options[selected].text,
			tbl = getParentTable(widget,"TABLE"); // outer table object
  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;
    resetStoredValues();
		return false;
		}
  resetStoredValues();
  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);
			//View(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
			WaterfrontView(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;
			}
  ButtonRow(tbl);
	}
function Footer(){
	var footer,row,cell0;
  footer = document.getElementById("SearchFooter");
	if(!footer){return false;}
	row = TR(footer);
	cell0 = TD(row,new Array('bgColor','#0000FF','align','center'),0);
  cell0.appendChild(Font(['size','2','color','#FFFFFF'],
									  '\u00a9 ' + glbYear + ' RGud International, Inc.\u00a0\u00a0 All rights reserved.'));
	}
function ButtonRow(tbl){
	if(!tbl){return false;}
  var row = TR(tbl),
			attrs = new Array('bgColor','#cdcdcd','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){
	if(!tbl){return false;}
  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){
	if(!tbl){return false;}
  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){
	if(!tbl){return false;}
  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){
	if(!tbl){return false;}
  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){
	if(!tbl){return false;}
  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){
	if(!tbl){return false;}
  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(sq. ft.)";
  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){
	if(!tbl){return false;}
  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 BathroomsAge(key,tbl){
	if(!tbl){return false;}
  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){
	if(!tbl){return false;}
  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 View(key,tbl){
	if(!tbl){return false;}
  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('View:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('view_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('view_no'));
	}
function LoHiWaterfront(key,tbl){
	if(!tbl){return false;}
  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){
	if(!tbl){return false;}
  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));
  // == waterfront
  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){
	if(!tbl){return false;}
  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(sq. ft.)";
  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 WaterfrontView(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('Waterfront:\u00a0'));
  cell1.appendChild(TextNode('Yes'));
  cell1.appendChild(CheckBox('waterfront_yes'));
  cell1.appendChild(TextNode('No'));
  cell1.appendChild(CheckBox('waterfront_no'));
  cell2.appendChild(TextNode('View:\u00a0'));
  cell3.appendChild(TextNode('Yes'));
  cell3.appendChild(CheckBox('view_yes'));
  cell3.appendChild(TextNode('No'));
  cell3.appendChild(CheckBox('view_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(sq. ft.)";
  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'),
			monthlyRent = monthly_rent,
			row = TR(tbl),
			cell0 = TD(row,labelAry,0),
			cell1 = TD(row,widgetAry,1),
			cell2 = TD(row,labelAry,2),
			cell3 = TD(row,widgetAry,3);
  monthlyRent.unshift(['Any',0])
  cell0.appendChild(TextNode("Monthly Rent\u00a0"));
  cell1.appendChild(Menu(new Array('name','Monthly_Rent','size','1'),monthlyRent));
  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);
  resetStoredValues();
	}
