var searchTerm = '';
var searching;
var currentSearchField;
var currentSearchThread;
var searchBackingUp;
function Search(field, force, form) { 
	if (form) { } else { form = 'searchFieldForm'; }
	if (field) { currentSearchField = field; } else { if (field) { field = currentSearchField; } else { field = document.getElementById('searchField'); } }
	if (force == 2 || (force == 1 && field.value.length > 2) || (searchTerm != field.value && field.value.length > 2)) {	
		if (currentSearchThread > 0) {
			if (cProcess.threads[currentSearchThread]['status']) {
				processGO = true;
			}
		} else {
			processGO = true;	
		}
		if (processGO) { 
			currentSearchThread = cProcess.processForm(form, 'Searching Members', 'HideSearchProcessing(\''+form+'\')');
			if (form == 'searchFieldForm') {
				document.getElementById('searchArea_processing').style.display = 'block';
			} else {
				document.getElementById(form+'_searchArea_processing').style.display = 'block';	
			}
		}
	}
	searchTerm = field.value;
	searching = setTimeout('Search(null)', 850);
	if (searchBackingUp && field.value.length <= 2) {
		document.getElementById('searchResults_wrapper').innerHTML = '';
		searchBackingUp = false;
	}
	field.onkeyup = CheckSearchKey;
}

function CheckSearchKey(e) {
	if (WhatKey(e) == 8) {
		searchBackingUp = true;				
	} else {
		searchBackingUp = false;	
	}
}

function StopSearch() {
	clearTimeout(searching);
}

function HideSearchProcessing(form) {
	if (form == 'searchFieldForm') {
		document.getElementById('searchArea_processing').style.display = 'none';
	} else {
		document.getElementById(form+'_searchArea_processing').style.display = 'none';	
	}
}

function SearchBy(type) {	
	document.getElementById('by_'+document.getElementById('type').value).className = 'unselected';
	document.getElementById('by_'+type).className = 'selected';
	document.getElementById('type').value = type;
	Search(null, 1);
}
function SearchFilterToggle(type) {
	if (type == 'all') {
		document.getElementById('filter_all').className = 'selected';
		document.getElementById('filter_zipcode').className = 'unselected';	
		document.getElementById('filter_practice_area').className = 'unselected';
		
		document.getElementById('zipcode').value = '';
		document.getElementById('practice_area').value = 0;
		
		document.getElementById('searchArea_zipcode').style.display = 'none';
		document.getElementById('searchArea_practice_area').style.display = 'none';
		
	} else {
		document.getElementById('filter_all').className = 'unselected';
		document.getElementById('filter_'+type).className = 'selected';
		
		if (document.getElementById('searchArea_'+type).style.display == 'block') {
			document.getElementById('searchArea_'+type).style.display = 'none';
			document.getElementById('filter_'+type).className = 'unselected';
			document.getElementById(type).value = 0;
		} else {
			document.getElementById('searchArea_'+type).style.display = 'block';
			document.getElementById('filter_'+type).className = 'selected';				
		}
		
		if (document.getElementById('filter_zipcode').className != 'selected' && document.getElementById('filter_practice_area').className != 'selected') {
			document.getElementById('filter_all').className = 'selected';
		}
	}
	Search(null, 1);
}

function ShowAll(form) {
	if (currentSearchField) {
		currentSearchField.value = '';	
	}
	Search(null, 2, form);
}

var oldType = 'general';
function ChangeSearchTab(stype) {
	if (stype != oldType) {
		$(stype).className = 'selected';
		$(oldType).className = '';
		Show($('area_'+stype));
		Hide($('area_'+oldType));
		
		oldType = stype;
	}
	document.getElementById('searchResults_wrapper').innerHTML = '';
}

function SFilter(type, obj) {
	if (obj.checked) {
		$('search_by_str').value = 'Enter a ' + type;	
		if (type == 'county') { 
			Hide($('range_line'));
		} else {
			Show($('range_line'));
		}	
	}
}
