function arrayMatch(varCheck,varSearch) {
	for(k=0;k<varCheck.length;k++)
		for(j=0;j<varSearch.length;j++)
			if(trim(varSearch[j]) == trim(varCheck[k]) && varSearch[j].length > 0 && varCheck[k].length > 0)
				return true;
	return false;
}

function updateItems(strChildName, objParent, strSelected) { 
	var blnAll = true;
	var varArraySelected = strSelected.split(",");
	var varParentValue = objParent.options[objParent.selectedIndex].value;
	var objChild = document.getElementById(strChildName);	
	objChild.length = 0;
	objChild.options[0] = new Option('All Cities','ALL');
	var j = 0;

	for (var i = 0; i < items.length; i++) {
		var varArray = items[i].split("|");
		if (varArray[0] == varParentValue) {
			objChild.options[j] = new Option(varArray[2], varArray[1]);
			for (k=0;k<varArraySelected.length;k++) {
				if (varArray[1] == trim(varArraySelected[k])) {
					objChild.options[j].selected = true; 
					blnAll = false;
					break;
				}
			}
			j++;
		} 
	}
			
	if (blnAll)
		objChild.selectedIndex = 0;
}
	
function ShowMapSearch() {
	validateSearchCriteria();
	document.frmListings.usemap.value = document.getElementById('chkMap').checked;
	SubmitForm();
}

function townshipORschooldistrictSearch() {
	if (document.getElementById('radioTownship').checked) {
		document.getElementById('townshipsearch').style.display = '';
		document.getElementById('schooldistrictsearch').style.display = 'None';
		document.frmListings.SchoolDistrict.selectedIndex = 0;
		useTownshipSearch = true;
	} else {
		document.getElementById('townshipsearch').style.display = 'None';
		document.getElementById('schooldistrictsearch').style.display = '';
		document.frmListings.Township.selectedIndex = 0;
		useTownshipSearch = false;
	}
}

function SubmitForm() {
	document.frmListings.StartRow.value='1';
	document.frmListings.submit();
}

function updateFeatures(strChildName, objParent, strSelected) {
	var varArray;
	var blnAll = true;
	var varArraySelected = strSelected.split(",");
	var varParentValue = objParent.options[objParent.selectedIndex].value;
	var objChild = document.all ? eval("document.all." + strChildName) : document.getElementById(strChildName);
	
	if (objChild)
		objChild.length = 0;
	
	var j = 0;
	for(var i = 0; i < features.length; i++) {
		varArray = features[i].split("|");

		if(varArray[0] == varParentValue) {
			objChild.options[j] = new Option(varArray[2], varArray[1]);

			if (varArray[1].length > 0) {
				varArray2 = varArray[1].split(",");
				if(arrayMatch(varArraySelected,varArray2)) {
					objChild.options[j].selected = true; 
					blnAll = false;
				}
			}
			j++;
		} 
	}
	
	if (objChild && blnAll)
		objChild.selectedIndex = 0;
}

function validateString(myfield, s) {
	if (notNull(myfield.value) && notBlank(myfield.value)) {
		return true;
	} else {
		myfield.focus();
		myfield.select();
		alert(s);
		return false;
	}
}

function notNull(str) {
	if (str.length == 0 )
		return false;
	return true;
}

function notBlank(str) {
	for (i = 0; i < str.length; i++)
		if (str.charAt(i) != " ")
			return true;
	return false;
}

function trim(string) {
	while(''+string.charAt(0)==' ')
		string=string.substring(1,string.length);
	while(''+string.charAt(string.length-1)==' ')
		string=string.substring(0,string.length-1);	
	return string
}

function validateEmail(myfield, s) {
	if (notNull(myfield.value)&& notBlank(myfield.value) && isEmail(myfield.value)) 
		return true;
	myfield.focus();
	myfield.select();
	alert(s);
	return false;
}

function isEmail(str) {
	if ((str == "" || str.indexOf('@', 0) == -1) || str.indexOf('.') == -1)
		return false;
	return true;
}

function ComputeBrowserMetrics(n) {
	var w = (document.all ? document.body.offsetWidth : window.innerWidth);
	var h = (document.all ? document.body.offsetHeight : window.innerHeight);
	var t = (w * 100000) - (-h*10) - (-parseInt(n));
	var d = new Date();
	d.setTime(d.getTime() + (365 * 24 * 60 * 60 * 1000));
	document.cookie = "BrowserMetrics=" + t + "; expires=" + d.toGMTString();
}

function ChangePreferences(b) {
	var f = document.frmListings;
	if (b)
		ComputeBrowserMetrics(f.MapSize[f.MapSize.selectedIndex].value);
	f.ChangedPreferences.value = "1";
	validateSearchCriteria()
	document.frmListings.submit();
}

