//<![CDATA[
var is_ie = false;
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
	is_ie = true;
}

function showAdvanced(bool) {
	if (bool==null) {
		bool = document.getElementById('advanced_options').style.display == 'block' ? false : true;
	}

	if (bool) {
		document.getElementById('advanced_options').style.display = 'block';
		document.getElementById('advanced_options_btn').src = '<?php echo $path; ?>images/btn_advancedsearch_hide.gif';
	} else {
		document.getElementById('advanced_options').style.display = 'none';
		document.getElementById('advanced_options_btn').src = '<?php echo $path; ?>images/btn_advancedsearch.gif';
	}
}

function go_advanced(){
	if (is_ie) {window.location.href="#advanced_search_div";}
}

function updateCriteria() {
	var bed_bath = false;
	var sqfeet = false;
	var acreage = false;
	var units = false;
	var land = false;
	var home_features = false;
	
	if (document.getElementById('property_type0')) {
		if (document.getElementById('property_type0').checked) {
			bed_bath = true;
			sqfeet = true;
			home_features = true;
			acreage = true;
		}
		if (document.getElementById('property_type1').checked) {
			sqfeet = true;
			units = true;
		}
		if (document.getElementById('property_type2').checked) {
			acreage = true;
			land = true;
		}
	} else {
		acreage = true;
		land = true;
	}

	if (bed_bath) {
		document.getElementById('bed_bath_criteria').style.display = 'block';
	} else {
		document.getElementById('bed_bath_criteria').style.display = 'none';
		document.search_form.minimum_bedrooms.selectedIndex = 0;
		document.search_form.minimum_bathrooms.selectedIndex = 0;
	}
	
	if (sqfeet) {
		document.getElementById('sqfeet_criteria').style.display = 'block';
	} else {
		document.getElementById('sqfeet_criteria').style.display = 'none';
		document.search_form.minimum_sqfeet.selectedIndex = 0;
		document.search_form.maximum_sqfeet.selectedIndex = 0;
	}
	
	if (acreage) {
		document.getElementById('acreage_criteria').style.display = 'block';
	} else {
		document.getElementById('acreage_criteria').style.display = 'none';
		document.search_form.minimum_acreage.selectedIndex = 0;
		document.search_form.maximum_acreage.selectedIndex = 0;
	}
	
	if (units) {
		document.getElementById('units_criteria').style.display = 'block';
	} else {
		document.getElementById('units_criteria').style.display = 'none';
		document.search_form.minimum_units.selectedIndex = 0;
		document.search_form.maximum_units.selectedIndex = 0;
	}
	
	if (home_features) {
		document.getElementById('general_home_features_table').style.display = is_ie ? 'block' : 'table';
		document.getElementById('interior_features_table').style.display = is_ie ? 'block' : 'table';
		document.getElementById('exterior_features_table').style.display = is_ie ? 'block' : 'table';
	} else {
		document.getElementById('general_home_features_table').style.display = 'none';
		document.getElementById('interior_features_table').style.display = 'none';
		document.getElementById('exterior_features_table').style.display = 'none';
	}

	if (land) {
		document.getElementById('land_type_table').style.display = (is_ie ? 'block' : 'table');
		document.getElementById('suitable_use_table').style.display = (is_ie ? 'block' : 'table');
		document.getElementById('access_table').style.display = (is_ie ? 'block' : 'table');
	} else {
		document.getElementById('land_type_table').style.display = 'none';
		document.getElementById('suitable_use_table').style.display = 'none';
		document.getElementById('access_table').style.display = 'none';
	}
}

function updateAreas() {
	var opts = [];

	var countysel = document.getElementById('counties');
	var add_all = false
	if (countysel.options[0].selected) {
		// add all areas in the drop down
		add_all = true;
	}
	
	for (var i = 1; i < countysel.length; i++){
		if (add_all || countysel.options[i].selected){
			county = countysel.options[i].value.toLowerCase();
			for (j=0; j<areas[county].length; j++) {
			  opts.push(areas[county][j]);
			}
		}
	}

	regionsel = document.getElementById('regions');
	regionsel.options.length = 0;
	opts.sort();
	regionsel.options[0] = new Option('-- All Areas --', 'all');
	regionsel.options[0].selected = true;
	opt_count = 1;
	opt_name = '';
	for (i=0; i<opts.length; i++) {
		if (opt_name!=opts[i]) {
			regionsel.options[opt_count] = new Option(opts[i], opts[i]);
			opt_count++;
			opt_name = opts[i];
		}
	}

	
}

function updateMap_o() {
	for (var county in areas) {
		if (document.getElementById("searchmap_" + county)!=null) {
			document.getElementById("searchmap_" + county).style.display = "none";
		}
	}

	var areasel = document.getElementById('areas');
	for (var i = 0; i < areasel.length; i++){
		counties = county_map[areasel.options[i].value];
		for (var j=0; j<counties.length; j++) {
			if (document.getElementById("searchmap_" + counties[j])!=null) {
				document.getElementById("searchmap_" + counties[j]).style.display = "block";
			}
		}
	}
}

function updateMap() {
	var countysel = document.getElementById('counties');
	for (var i = 0; i < countysel.length; i++){
		county = countysel.options[i].value.toLowerCase();
		if (document.getElementById("searchmap_" + county)!=null) {
			if (countysel.options[i].selected) {
				document.getElementById("searchmap_" + county).style.display = "block";
			} else {
				document.getElementById("searchmap_" + county).style.display = "none";
			}
		}
	}
}

function addAreas() {
	var opts = [];
	var county_map = [];

	var regionsel = document.getElementById('regions');
	var areasel = document.getElementById('areas');

	var add_all = false
	if (regionsel.options[0].selected) {
		// add all areas in the drop down
		add_all = true;
	}

	for (var i = 0; i < areasel.length; i++){
		opts.push(areasel.options[i].value);
	}
	
	for (var i = 1; i < regionsel.length; i++){
		if (add_all || regionsel.options[i].selected){
			opts.push(regionsel.options[i].value);
		}
	}

	opts.sort();
	opt_count = 0;
	opt_name = '';
	for (i=0; i<opts.length; i++) {
		if (opt_name!=opts[i]) {
			areasel.options[opt_count] = new Option(opts[i], opts[i]);
			opt_count++;
			opt_name = opts[i];
		}
	}
	updateMap();
}

function removeAreas() {
	var opts = [];
	var areasel = document.getElementById('areas');

	for (var i = 0; i < areasel.length; i++){
		if (! areasel.options[i].selected) {
			opts.push(areasel.options[i].value);
		}
	}
	
	areasel.options.length = 0;
	for (var i = 0; i < opts.length; i++){
		areasel.options[i] = new Option(opts[i], opts[i]);
	}

	updateMap();
}
		
function showhideoffices() {
	var overlay = document.getElementById("searchmap_officelocations");
	var button = document.getElementById("searchmap_showoffice");
	
	if (overlay.style.display == "none") {
		overlay.style.display = "block";
		button.innerHTML = "Hide Offices";
	} else {
		overlay.style.display = "none";
		button.innerHTML = "Show Offices";
		}
}

function showhidecities() {
		var overlay = document.getElementById("searchmap_othercities");
		var button = document.getElementById("searchmap_showcities");
		
		if (overlay.style.display == "none") {
			overlay.style.display = "block";
			button.innerHTML = "Hide Cities";
		} else {
			overlay.style.display = "none";
			button.innerHTML = "Show Cities";
		}
}

function submitForm() {
	//var areasel = document.getElementById('areas');
	//for (var i = 0; i < areasel.length; i++){
	//	areasel.options[i].selected = true;
	//}
	document.search_form.submit();
}

function clearAll(name) {
	var sel = document.getElementById(name);
	sel.options[0].selected = true;
	for (var i=1; i<sel.length; i++) {
		sel.options[i].selected = false;
	}
	
	if (name=='counties') {
		updateMap();
	}
}

function selectAll(name) {
	var sel = document.getElementById(name);
	sel.options[0].selected = false;
	for (var i=1; i<sel.length; i++) {
		sel.options[i].selected = true;
	}

	if (name=='counties') {
		clearAll('areas');
	} else {
		clearAll('counties');
	}
	updateMap();
}

function addCounty(name) {
	if (document.getElementById("searchmap_" + name)!=null) {
		if (document.getElementById("searchmap_" + name).style.display == "block") {
			document.getElementById("searchmap_" + name).style.display = "none";
		} else {
			document.getElementById("searchmap_" + name).style.display = "block";
		}

		var sel = document.getElementById('counties');
		sel_count = 0;
		for (var i=1; i<sel.length; i++) {
			if (sel.options[i].value.toLowerCase() == name) {
				if (sel.options[i].selected) {
					sel.options[i].selected = false;
				} else {
					sel.options[i].selected = true;
				}
			}
			if (sel.options[i].selected) {
				sel_count++;
			}
		}
		
		if (sel_count==0) {
			sel.options[0].selected = true;
		} else {
			sel.options[0].selected = false;
		}
	}
}

function resetForm(){
	for(var i=0; i<document.search_form.elements.length; i++) {
		element = document.search_form.elements[i];
		switch(element.type){
			case 'text':
			case 'password':
			case 'textarea':
			case 'password':
				element.value = '';
				break;								
			case 'select-one':
				for (var j = 0; j < element.options.length; j++) {
					if (element[j].className=='default') {
						element[j].selected = true;
						break;
					} else {
						element[j].selected = false;
					}
				}
				break;
			case 'select-multiple':
				for (var j = 0; j < element.options.length; j++) {
					if (element[j].className=='default') {
						element[j].selected = true;
					} else {
						element[j].selected = false;
					}
				}
				break;
			case 'checkbox':
			case 'radio':
				if (element.className=='default') {
					element.checked = true;
				} else {
					element.checked = false;
				}
				break;
			default:
				break;
		}
	}
	updateCriteria();
	updateMap();
	
}
//]]>

