function positionAsDropdown(dropdownEl, parentEl) {
    var update = $(dropdownEl);
    var element = $(parentEl);
    // this was extracted from controls.js...
    if(!update.style.position || update.style.position=='absolute') {
        update.style.position = 'absolute';
        Element.clonePosition(update, element, {
            setHeight: false, 
            offsetTop: element.offsetHeight
        });
    }
}

function showResults(element, update) {
    positionAsDropdown(update, element);
    Element.show(update);
    Element.hide('treatment_name_hint');
}

function showPrompt() {
    var query = $F('treatment_name');
    var update = $('treatment_name_hint');

    if (query.blank() || query.length >= 3) {
        Element.hide('treatment_name_hint');
    }
    else if (query.length < 3) {
        Element.show('treatment_name_hint');
        Element.hide('treatment_name_auto_complete');
    }
    
}

function submitOnEnter(event) {	
	if (event.keyCode == 13){ //enter key
		form = event.element().up('form');		
		//run onsubmit instead of submit, since some forms use this instead of submitting
		if(!form.onsubmit || (form.onsubmit && form.onsubmit())){ 
			//this check triggers the validations
		    form.submit();
		}
	}
}

function initTreatmentAutoComplete() {
	setFocusField("treatment_name");
	Event.observe($('treatment_name'), "keyup", showPrompt);
	Event.observe($('treatment_name'), "keyup", submitOnEnter);
	positionAsDropdown('treatment_name_hint', 'treatment_name');	
}