
var complaints = {
	
	toggleOther : function() {
		var id = this.id;
	  if ($F(id) == 'Other') {
			complaints.createOtherField(id);
		} else {
			complaints.removeOtherField(id);
		}
	},
	createOtherField : function(sel) {
		new Insertion.Before(sel,'<input type="text" id="'+complaints.otherID(sel)+'" name="'+$(sel).name+'" size="12"/>');
	},
	removeOtherField : function(sel) {
		if ($(complaints.otherID(sel))) {
	    Element.remove(complaints.otherID(sel));
		}
	},
	otherID : function(sel) {
		return $(sel).id + '_other'
	},
	addChangeEventToSelectsWithOther : function() {
		var selects = document.getElementsByTagName('select');
		for(var i=0;i<selects.length;i++) {
			selects[i].onchange = complaints.toggleOther;
		}
	}
}
