function build_area_select(my_object,my_div)	{
	var my_select = '<select name="areas" id="areas" size="1" onchange="build_city_select(this.value,\'city_select\',\'areas\');">';
	for(var item in my_object) {
		my_select += '<option value="'+item+'"/>'+item;
	}
	my_select += '<option value="any"/>_______________________</select>';
	dom_item = document.getElementById(my_div);
	dom_item.innerHTML = my_select;
}

function build_county_select(my_object,my_div)	{
	var my_select = '<select name="county" id="counties" size="1" onchange="build_city_select(this.value,\'city_select\',\'counties\');">';
	for(var item in my_object) {
		my_select += '<option value="'+item+'"/>'+item;
	}
	my_select += '<option value="any"/>_______________________</select>';
	dom_item = document.getElementById(my_div);
	dom_item.innerHTML = my_select;
}

function build_city_select(my_object,my_div,parent_obj)	{
	var my_select = '<select name="city[]" id="city" size="10" onchange="build_neighborhood_select(this.value,\'neighborhood_select\',\'city\');" multiple>';
	if(!my_object.length || my_object.length==0) 
	{
		if(my_object.length==0) 
		{
			my_object = city_neighborhood;
			
		}
		for(var item in my_object) {
			my_select += '<option value="'+item+'"/>'+item;
			
		}
		
	} else {
		if(parent_obj=="counties") {

			// Must be using Counties -> Reset Areas to ALL
			//build_area_select(area_city,"area_select");

		} else if(parent_obj=="areas") {

			//Must be using Areas -> Reset Counties to ALL
			build_county_select(county_city,"county_select");

		}
		parent_select = document.getElementById(parent_obj);
		my_items = "";
		
		for(var i=0; i<parent_select.length; i++) {
			if(parent_select.options[i].selected) {
				if(my_items!="") { my_items += ","; }
				if(parent_obj=="counties") {
					my_items += county_city[parent_select.options[i].value];
				} else if(parent_obj=="areas") {
					my_items += area_city[parent_select.options[i].value];
				}
			}
		}
		if(my_items!="") {
			my_items = my_items.split(",");
			//my_items.sort();
			for(var i=0; i<my_items.length; i++) {
				my_select += '<option value="'+my_items[i]+'"/>'+my_items[i];
			}
		}
	}
	
	my_select += '<option value="any"/>___________________</select>';
	dom_item = document.getElementById(my_div);
	dom_item.innerHTML = my_select;
	clear_select("neighborhood_select");
	
	if(my_select == "")
	{
		set_select_defaults("", "All", "");
	}
}

function build_neighborhood_select(my_sel,my_div,parent_obj)	{
	parent_select = document.getElementById(parent_obj);
	my_neighborhoods = "";
	//if(my_sel!="") {
	//	my_neighborhoods += city_neighborhood[my_sel];
	//} else {
		for(var i=0; i<parent_select.length; i++) {
			if(parent_select.options[i].selected) {
				if(city_neighborhood[parent_select.options[i].value] != "")
				{//alert(city_neighborhood[parent_select.options[i].value]);
					if(my_neighborhoods!="") { my_neighborhoods += ","; }
					my_neighborhoods += city_neighborhood[parent_select.options[i].value];
				}
				
			}
		}
	//}
	/*parent_select = document.getElementById(parent_obj);
	my_neighborhoods = "";
	for(var i=0; i<parent_select.length; i++) {
		if(parent_select.options[i].selected) {
			if(my_neighborhoods!="") { my_neighborhoods += ","; }
			my_neighborhoods += city_neighborhood[parent_select.options[i].value];
		}
	}*/
	//alert(my_neighborhoods);
	/*var my_select = "";
	if(my_neighborhoods!="") {
		my_neighborhoods = my_neighborhoods.split(",");
		//my_neighborhoods.sort();
		my_select += '<select name="community[]" id="neighborhood" size="10" multiple>';
		for(var i=0; i<my_neighborhoods.length; i++) {
			my_select += '<option value="'+my_neighborhoods[i]+'"/>'+my_neighborhoods[i];
		}
		
	}*/
	var my_select = "";
	var my_neighborhoods_cache = new Array();
	if(my_neighborhoods!="") {
		my_neighborhoods = my_neighborhoods.split(",");
		//my_neighborhoods.sort();
		my_select += '<select name="neighborhood[]" id="neighborhood" size="10" multiple>';
		for(var i=0; i<my_neighborhoods.length; i++	) {
			if(!in_array(my_neighborhoods[i], my_neighborhoods_cache)) {
				my_neighborhoods_cache[my_neighborhoods_cache.length] = my_neighborhoods[i];
				my_select += '<option value="'+my_neighborhoods[i]+'"/>'+my_neighborhoods[i];
			}
		}
		my_select += '<option value="any"/>___________________</select>';
		//my_select += '</select>';
	}
	
	dom_item = document.getElementById(my_div);
	dom_item.innerHTML = my_select;
}

function in_array(needle, haystack) {
	b_exists = false;
	for(var k=0; k<haystack.length; k++	) {
		if(haystack[k]==needle) {
			b_exists = true;
			break;
		}
	}
	return b_exists;
}

function clear_select(my_div) {
	if(my_div=="neighborhood_select")
	{
		dom_item = document.getElementById(my_div);
		dom_item.innerHTML = '<select name="community[]" id="neighborhood" size="5" multiple="multiple"><option value="all"/>All&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</select>';
	}
	else if(my_div!="") {
		dom_item = document.getElementById(my_div);
		dom_item.innerHTML = "";
	}
}

//build_area_select(area_city,"area_select");
build_county_select(county_city,"county_select");
build_city_select(city_neighborhood,"city_select","counties");
build_neighborhood_select("All", "neighborhood_select", "city");

///////////////////////////////////////////////////////////////////////
// Function for defaults
///////////////////////////////////////////////////////////////////////


function set_select_defaults(county_default,city_default,neighborhood_default) {
	/*if(area_default!="") {
		my_select = document.getElementById("areas");
		for(var i=0; i<my_select.length; i++) {
			if(my_select.options[i].value==area_default) {
				my_select.options[i].selected = true;
				build_city_select(area_default,'city_select','areas');
			}
		}
	}*/
	if(county_default!="") {
		my_select = document.getElementById("counties");
		for(var i=0; i<my_select.length; i++) {
			if(my_select.options[i].value==county_default) {
				my_select.options[i].selected = true;
				build_city_select(county_default,'city_select','counties');
			}
		}
	}
	if(city_default!="") {
		my_select = document.getElementById("city");
		city_default = city_default.split(",");
		for(var i=0; i<city_default.length; i++) {
			for(var j=0; j<my_select.length; j++) {
				if(my_select.options[j].value==city_default[i]) {
					my_select.options[j].selected = true;
				}
			}
		}
		build_neighborhood_select("",'neighborhood_select','city');
	}
	if(neighborhood_default!="") {
		my_select = document.getElementById("neighborhood");
		neighborhood_default = neighborhood_default.split(",");
		for(var i=0; i<neighborhood_default.length; i++) {
			for(var j=0; j<my_select.length; j++) {
				if(my_select.options[j].value==neighborhood_default[i]) {
					my_select.options[j].selected = true;
				}
			}
		}
	}
}
