function xhrComboBox(mybox, onlypublic, categories)
{	
	// if this is being called outside of the admin 
	// then add /admin/ to the xhr file url
	if(window.location.href.toLowerCase().indexOf(/admin/) == -1)
	{ var daPrefix = 'admin/'; } else { var daPrefix = ''; }
	
	var v_url = daPrefix + 'xhr.combobox.php';
	var v_passed_from = mybox.name;
	var v_id = mybox.value;
	var pars = 'cmd=NEWxhr&passed_from='+ v_passed_from + '&id='+ v_id;
	
	if(onlypublic === true)
	{	pars = pars + '&onlypublic=true';	}

	if(categories != undefined)
	{	pars = pars + '&formcats=' + categories;	} 
	else { if(daPrefix.length > 1) {alert('categories arguement is undefined on public use - 18'); }  }
	
	var parentform = mybox.form;
	var parentform = $(parentform); // EXTEND the plain object with Prototype Magic or else .select & .down don't work!	

	var districtMark = parentform.down('.js_district');
	//alert('districtMark var ' + districtMark.className);
	//console.log(districtMark);
	//districtMark.style.border="3px solid yellow";

		
	if(v_passed_from == "island")
	{
		var to_target = parentform.down('.js_location');
		//to_target.style.border="3px solid red";
		
		// if a change is made to island we're starting fresh so kill off district
		if(districtMark.childNodes.length > 0)
		{
			var tokill = districtMark.firstChild
			
			while(tokill && tokill.nodeType==3) // skip next siblings if they're text nodes
			{ tokill = tokill.nextSibling; }
			
			districtMark.removeChild(tokill);
			
			// now add an empty <select> to fill in the space
			var sel = document.createElement("select");
			var op = document.createElement("option");
			op.value = "";
			op.appendChild(document.createTextNode("All Communities"));
			sel.appendChild(op);
			sel.disabled = true;
			districtMark.appendChild(sel);		
		}
	}
	
	if(v_passed_from == "location")
	{
		var to_target = parentform.down('.js_district');
		//to_target.style.border="3px solid red";
	}
	
	var myProcess = new Ajax.Updater (
	to_target,
	v_url,
	{
		method: 'post',
		parameters: pars
		}
	)

}