function initSelect(id) {
	var theSelect = document.getElementById(id);
	theSelect.changed = false;
	theSelect.onfocus = selectFocussed;
	theSelect.onchange = selectChanged;
	theSelect.onkeydown = selectKeyed;
	theSelect.onclick = selectClicked;
	theSelect.focus();
	return true;
}

function selectChanged(theElement) {
	var theSelect;
	if (theElement && theElement.value)	{
		theSelect = theElement;
	} else {
		theSelect = this;
	}
	if (!theSelect.changed) {
		return false;
	}
	submitSelect(theSelect);
	return true;
}

function selectClicked() {
	this.changed = true;
}

function selectFocussed() {
	this.initValue = this.value;
	return true;
}

function selectKeyed(e) {
	var theEvent;
	var keyCodeTab = "9";
	var keyCodeEnter = "13";
	var keyCodeEsc = "27";
	if (e) {
		theEvent = e;
	} else {
		theEvent = event;
	}
	if ((theEvent.keyCode == keyCodeEnter || theEvent.keyCode == keyCodeTab) ) {
		this.changed = true;
		selectChanged(this);
	} else if (theEvent.keyCode == keyCodeEsc) {
		this.value = this.initValue;
	} else {
		this.changed = false;
	}
	return true;
}
