var AutoComplete = new Class.create();
Object.extend(AutoComplete.prototype, {
	initialize: function() {
		var inputFields = $$('.autocomplete');
		for(var i=0, field; field=inputFields[i]; i++) {
			Event.observe(field, 'keyup', this.complete.bindAsEventListener(this));
		}		
	},
	
	complete: function(evt) {
		var input = Event.element(evt);

		this.completeHref(input);
		this.completeText(input);
	},

	completeHref: function(input) {
		var completeHrefs = $$('.autocomplete-href_'+input.id+'');
		for(var i=0, completeHref; completeHref=completeHrefs[i]; i++) {
			if (!completeHref.defaultValue) completeHref.defaultValue = completeHref.href;
			completeHref.href = completeHref.defaultValue+input.value;
		}
	},

	completeText: function(input) {
		var completeTexts = $$('.autocomplete-text_'+input.id+'');
		for(var i=0, completeText; completeText=completeTexts[i]; i++) {
			if (!completeText.defaultValue && !completeText.hasClassName('autocomplete-nodefault')) {
				completeText.defaultValue = completeText.innerHTML;
			} else {
				completeText.defaultValue = '';
			}

			completeText.innerHTML = completeText.defaultValue+input.value;
		}
	}
});

new AutoComplete();

